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| + + + + +
ParameterTypeDescriptionRequired
senderStringThe sender's addressYes
eth_destStringDestination Ethereum addressYes
amountCoinThe coin to send across the bridge (note the restriction that this is a single coin, not a set of coins)Yes
bridge_feeCoinThe 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 userYes
+ + +
+ +**Coin** + + + +
ParameterTypeDescriptionRequired
denomStringThe token denomYes
amountStringThe amount of tokensYes
+ ### Response Parameters > Response Example: @@ -1409,6 +1425,77 @@ DEBU[0004] gas wanted: 161907 fn=func1 src="client/ch gas fee: 0.0000809535 INJ ``` + +
ParamterTypeDescription
tx_responseTxResponseTransaction details
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute 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| + + + + + + + + + + +
ParameterTypeDescriptionRequired
ethereum_endpointStringThe ethereum endpoint, you can get one from providers like Infura and AlchemyYes
private_keyStringPrivate key of the account to be used to sign the transactionYes
token_contractStringThe token contract, you can find the contract for the token you want to transfer on etherscanYes
receiverStringThe Injective Chain address to receive the fundsYes
amountFloatThe amount to transferYes
maxFeePerGasIntegerThe maxFeePerGas in GweiYes
maxPriorityFeePerGasIntegerThe maxPriorityFeePerGas in GweiYes
peggo_abiStringPeggo contract ABI|Yes
dataStringThe body of the message to send to Injective chain to do the depositYes
decimalsIntegerNumber 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| + +
ParameterTypeDescriptionRequired
hashStringThe TX hash to query, encoded as a hex stringYes
+ > Response Example: @@ -2298,6 +2385,157 @@ tx: txhash: A2B2B971C690AE7977451D24D6F450AECE6BCCB271E91E32C2563342DDA5254B ``` + + +
ParameterTypeDescription
txTxTransaction details
tx_resposneTxResponseTransaction details
+ + +
+ +**Tx** + + + + +
ParameterTypeDescription
bodyTxBodyBody is the processable content of the transaction
auth_infoAuthInfoAuthorization related content of the transaction (specifically signers, signer modes and fee)
signaturesBytes Array ArrayList 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** + + + + + + +
ParameterTypeDescription
messagesAny ArrayList 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
memoStringMemo is any arbitrary note/comment to be added to the transaction
timeout_heightIntegerThe block height after which this transaction will not be processed by the chain
extension_optionsAny ArrayThese 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_optionsAny ArrayThese 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** + + + + +
ParameterTypeDescription
signer_infosSignerInfo ArrayDefines 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
feeFeeFee 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
tipTipTip 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** + + + + +
ParameterTypeDescription
public_keyAnyPublic 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_infoModeInfoDescribes the signing mode of the signer and is a nested structure to support nested multisig pubkey's
sequenceIntegerThe sequence of the account, which describes the number of committed transactions signed by a given address. It is used to prevent replay attacks
+ + +
+ +**ModeInfo** + + +
ParameterTypeDescription
sumSigning modeTypes that are valid to be assigned to Sum: *ModeInfo_Single_, *ModeInfo_Multi_
+ + +
+ +**Fee** + + + + + +
ParameterTypeDescription
amountCoin ArrayAmount of coins to be paid as a fee
gas_limitIntegerMaximum gas that can be used in transaction processing before an out of gas error occurs
payerStringIf 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
granterStringIf 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** + + + +
ParameterTypeDescriptionRequired
denomStringThe token denomYes
amountStringThe amount of tokensYes
+ + +
+ +**Tip** + + + +
ParameterTypeDescription
amountCoin ArrayAmount of coins to be paid as a tip
tipperStringAddress of the account paying for the tip
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute 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| + +
ParameterTypeDescriptionRequired
account_addressStringInjective address of the account to query for subaccountsYes
+ ### Response Parameters @@ -94,9 +94,10 @@ func main() { } ``` -|Parameter|Type|Description| -|----|----|----| -|subaccounts|String Array|List of subaccounts, including default and all funded accounts| + +
ParameterTypeDescription
subaccountsString ArraySubaccounts 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| + + + + + + +
ParameterTypeDescriptionRequired
subaccount_idStringID of the subaccount to get the history fromYes
denomStringFilter by token denomNo
transfer_typesString ArrayFilter by transfer types. Valid options: internal, external, withdraw, depositNo
skipIntegerSkip the first N items from the resultNo
limitIntegerMaximum number of items to be returnedNo
end_timeIntegerUpper bound (inclusive) of account transfer history executed_at unix timestampNo
+ ### Response Parameters @@ -276,33 +277,45 @@ func main() { } ``` -|Parameter|Type|Description| -|----|----|----| -|transfers|SubaccountBalanceTransfer|List of subaccount transfers| -|paging|Paging|Pagination of results| + + +
ParameterTypeDescription
transfersSubaccountBalanceTransfer ArrayTransfers list
pagingPagingPagination 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"]| + + + + + + + +
ParameterTypeDescription
transfer_typeStringType of subaccount balance transfer
src_subaccount_idStringSubaccount ID of the sending side
src_account_addressStringAccount address of the sending side
dst_subaccount_idStringSubaccount ID of the receiving side
dst_account_addressStringAccount address of the receiving side
amountCosmosCoinTransfer amount
executed_atIntegerTransfer timestamp (in milliseconds)
+ + +
**CosmosCoin** -|Parameter|Type|Description| -|----|----|----| -|amount|String|Coin amount| -|denom|String|Coin denominator| + + +
ParameterTypeDescription
denomStringToken denom
amountStringToken amount
+ + +
**Paging** -|Parameter|Type|Description| -|----|----|----| -|total|Integer|Total number of available records| + + + + + +
ParameterTypeDescription
totalIntegerTotal number of available records
fromIntegerRecord index start
toIntegerRecord index end
count_by_subaccountIntegerCount entries by subaccount
nextString ArrayList 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| + + +
ParameterTypeDescriptionRequired
subaccount_idStringID of the subaccount to get the balances fromYes
denomStringFilter by token denomYes
+ ### Response Parameters @@ -410,26 +423,29 @@ func main() { } ``` + +
ParameterTypeDescription
balanceSubaccountBalanceBalance 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| + + + + +
ParameterTypeDescription
subaccount_idStringSubaccount ID
account_addressStringInjective address of the account the subaccount belongs to
denomStringToken denom
depositSubaccountDepositDeposit 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)| + + +
ParameterTypeDescription
total_balanceStringTotal balance
available_balanceStringAvailable 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| - + + +
ParameterTypeDescriptionRequired
subaccount_idStringID of the subaccount to get the balances fromYes
denomsStringFilter balances by denoms. If not set, the balances of all the denoms for the subaccount are providedNo
+ ### Response Parameters @@ -569,25 +583,30 @@ func main() { } ``` -|Parameter|Type|Description| -|----|----|----| -|balances|SubaccountBalance Array|Array of SubaccountBalance objects| + +
ParameterTypeDescription
balancesSubaccountBalance ArrayList 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| + + + + +
ParameterTypeDescription
subaccount_idStringSubaccount ID
account_addressStringInjective address of the account the subaccount belongs to
denomStringToken denom
depositSubaccountDepositDeposit details
+ + +
**SubaccountDeposit** -|Parameter|Type|Description| -|----|----|----| -|available_balance|String|The available balance for a denom| -|total_balance|String|The total balance for a denom| + + +
ParameterTypeDescription
total_balanceStringTotal balance
available_balanceStringAvailable 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| - + + + +
ParameterTypeDescriptionRequired
subaccount_idStringID of the subaccount to get the summary fromYes
market_idStringLimit the order summary to a specific marketNo
order_directionStringFilter by the direction of the orders. Valid options: buy, sellNo
+ ### 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| - + + +
ParameterTypeDescription
spot_orders_totalIntegerTotal count of subaccount's spot orders in given market and direction
derivative_orders_totalIntegerTotal 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 | + + +
ParameterTypeDescriptionRequired
subaccount_idStringID of the subaccount to get the balances fromYes
denomsString ArrayFilter balances by denoms. If not set, the balances of all the denoms for the subaccount are providedNo
+ ### Response Parameters @@ -868,26 +882,30 @@ func main() { } ``` -|Parameter|Type|Description| -|----|----|----| -|balance|SubaccountBalance|SubaccountBalance object| -|timestamp|Integer|Operation timestamp in UNIX millis| + + +
ParameterTypeDescription
balanceSubaccountBalanceSubaccount balance
timestampIntegerOperation 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| + + + + +
ParameterTypeDescription
subaccount_idStringSubaccount ID
account_addressStringInjective address of the account the subaccount belongs to
denomStringToken denom
depositSubaccountDepositDeposit 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)| + + +
ParameterTypeDescription
total_balanceStringTotal balance
available_balanceStringAvailable 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| + + +
ParameterTypeDescriptionRequired
spot_order_hashesString ArrayArray with the order hashes you want to fetch in spot marketsNo
derivative_order_hashesString ArrayArray with the order hashes you want to fetch in derivative marketsNo
+ ### 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| + + +
ParameterTypeDescription
spot_order_statesOrderStateRecord ArrayList of the spot order state records
derivative_order_statesOrderStateRecord ArrayList of the derivative order state records
+ + +
+ +**OrderStateRecord** + + + + + + + + + + + + + +
ParameterTypeDescription
order_hashStringHash of the order
subaccount_idStringThe subaccountId that this order belongs to
market_idStringThe Market ID of the order
order_typeStringThe type of the order
order_sideStringThe side of the order
stateStringThe order state. Should be one of: booked, partial_filled, filled, canceled
quantity_filledStringThe filled quantity of the order
quantity_remainingStringThe unfilled quantity of the order
created_atIntegerOrder committed timestamp in UNIX milliseconds
updated_atIntegerOrder updated timestamp in UNIX milliseconds
priceStringOrder price
marginStringMargin for derivative order
+ ## Portfolio @@ -1150,9 +1157,9 @@ func main() { ``` -|Parameter|Type|Description|Required| -|----|----|----|----| -|account_address|String|The Injective Chain address|Yes| + +
ParameterTypeDescriptionRequired
account_addressStringThe Injective addressYes
+ ### 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| + +
ParameterTypeDescription
portfolioAccountPortfolioPortfolio details
+ + +
+ +**AccountPortfolio** + + + + + + +
ParameterTypeDescription
portfolio_valueStringThe account's portfolio value in USD
available_balanceStringThe account's available balance value in USD
locked_balanceStringThe account's locked balance value in USD
unrealized_pnlStringThe account's total unrealized PnL value in USD
subaccountsSubaccountPortfolio ArrayList 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)| + + + + +
ParameterTypeDescription
subaccount_idStringThe subaccount ID
available_balanceStringThe subaccount's available balance value in USD
locked_balanceStringThe subaccount's locked balance value in USD
unrealized_pnlStringThe 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| + + +
ParameterTypeDescriptionRequired
epochIntegerThe distribution epoch sequence number. -1 for latestNo
account_addressStringAccount address for the rewards distributionNo
+ ### Response Parameters @@ -1397,21 +1415,25 @@ func main() { } ``` -|Parameter|Type|Description| -|----|----|----| -|rewards|Reward Array|List of trading rewards| + +
ParameterTypeDescription
rewardsReward ArrayThe 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| + + + +
ParameterTypeDescription
account_addressStringAccount Injective address
rewardsCoin ArrayReward coins distributed
distributed_atIntegerRewards distribution timestamp in UNIX milliseconds
+ + +
**Coin** -|Parameter|Type|Description| -|----|----|----| -|denom|String|Denom of the reward| -|amount|String|Amount of denom in reward| + + +
ParameterTypeDescription
denomStringToken denom
amountStringToken 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| + + + +
ParameterTypeDescriptionRequired
senderStringThe sender Injective addressYes
bid_amountCoinBid amount in INJ tokensYes
roundIntegerThe current auction roundYes
+ + +
+ +**Coin** + + + +
ParameterTypeDescriptionRequired
denomStringThe token denomYes
amountStringThe amount of tokensYes
+ ### 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 ``` + + +
ParamterTypeDescription
tx_responseTxResponseTransaction details
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute 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 | + +
ParameterTypeDescriptionRequired
roundIntegerThe auction round number, -1 for latestYes
+ ### 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| + + +
ParameterTypeDescription
auctionAuctionAuction details
bidsBid ArrayAuction'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| + + + + + + +
ParameterTypeDescription
winnerStringAccount Injective address
basketCoin ArrayCoins in the basket
winning_bid_amountStringAmount of the highest bid (in INJ)
roundIntegerThe auction round number
end_timestampIntegerAuction end timestamp in UNIX milliseconds
updated_atIntegerThe 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| + + + +
ParameterTypeDescription
bidderStringBidder account Injective address
amountStringThe bid amount
timestampIntegerBid timestamp in UNIX millis
+ +
**Coin** -|Parameter|Type|Description| -|----|----|----| -|denom|String|Denom of the coin| -|amount|String|Quantity of the coin| + + +
ParameterTypeDescription
denomStringToken denom
amountStringToken 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| + +
ParameterTypeDescription
auctionsAuction ArrayList 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| + + + + + + +
ParameterTypeDescription
winnerStringAccount Injective address
basketCoin ArrayCoins in the basket
winning_bid_amountStringAmount of the highest bid (in INJ)
roundIntegerThe auction round number
end_timestampIntegerAuction end timestamp in UNIX milliseconds
updated_atIntegerThe timestamp of the last update in UNIX milliseconds
+ + +
**Coin** -|Parameter|Type|Description| -|----|----|----| -|denom|String|Denom of the coin| -|amount|String|Quantity of the coin| + + +
ParameterTypeDescription
denomStringToken denom
amountStringToken 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| + + + + +
ParameterTypeDescription
bidderStringThe bidder Injective address
bid_amountStringThe bid amount (in INJ)
roundIntegerThe auction round number
timestampIntegerBid 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 ``` + +
ParamterTypeDescription
tx_responseTxResponseTransaction details
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute 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 ``` + +
ParamterTypeDescription
tx_responseTxResponseTransaction details
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute 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 ``` + +
ParamterTypeDescription
tx_responseTxResponseTransaction details
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute 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 ``` + +
ParamterTypeDescription
tx_responseTxResponseTransaction details
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute 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() { statusMarketStatusStatus of the market min_price_tick_sizeDecimalMinimum tick size that the price required for orders in the market min_quantity_tick_sizeDecimalMinimum tick size of the quantity required for orders in the market -settlement_priceDecimalThe market's settlement price +settlement_priceDecimalThe market's settlement price +min_notionalDecimalMinimum notional (in quote asset) required for orders in the market +admin_permissionsIntegerLevel of admin permissions (the permission number is a result of adding up all individual permissions numbers)
@@ -175,80 +177,17 @@ func main() { 11Provider +
-## 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()) -``` + + + + + + +
CodeName
1Ticker Permission
2Min Price Tick Size Permission
4Min Quantity Tick Size Permission
8Min Notional Permission
16Initial Margin Ratio Permission
32Maintenance 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() { adminStringThe market's admin addressYes quote_denomStringQuote tocken denomYes min_price_tick_sizeDecimalDefines the minimum tick size of the order's priceYes -min_quantity_tick_sizeDecimalDefines the minimum tick size of the order's quantityYes +min_quantity_tick_sizeDecimalDefines the minimum tick size of the order's quantityYes +min_notionalDecimalDefines the minimum notional (in quote asset) required for orders in the marketYes
@@ -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() { -
ParameterTypeDescription
priceDecimalOrder price
quantityDecimalThe amount of the order quantity remaining fillable
is_reduce_onlyBooleanTrue if the order is a reduce only order
+is_reduce_onlyBooleanTrue if the order is a reduce only order +cidStringThe 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() { marginDecimalOrder margin fillableDecimalThe remaining fillable amount of the order is_buyBooleanTrue if the order is a buy order -order_hashStringThe order hash +order_hashStringThe order hash +cidStringThe client order ID provided by the creator @@ -625,7 +626,8 @@ func main() { marginDecimalOrder margin fillableDecimalThe remaining fillable amount of the order is_buyBooleanTrue if the order is a buy order -order_hashStringThe order hash +order_hashStringThe order hash +cidStringThe client order ID provided by the creator @@ -791,7 +793,8 @@ func main() { marginDecimalOrder margin fillableDecimalThe remaining fillable amount of the order is_buyBooleanTrue if the order is a buy order -order_hashStringThe order hash +order_hashStringThe order hash +cidStringThe client order ID provided by the creator @@ -954,7 +957,8 @@ func main() { marginDecimalOrder margin fillableDecimalThe remaining fillable amount of the order is_buyBooleanTrue if the order is a buy order -order_hashStringThe order hash +order_hashStringThe order hash +cidStringThe client order ID provided by the creator @@ -1160,7 +1164,10 @@ func main() { is_perpetualBooleanTrue if the market is a perpetual market. False if the market is an expiry futures market statusMarketStatusStatus of the market min_price_tick_sizeDecimalMinimum tick size that the price required for orders in the market -min_quantity_tick_sizeDecimalMinimum tick size of the quantity required for orders in the market +min_quantity_tick_sizeDecimalMinimum tick size of the quantity required for orders in the market +min_notionalDecimalMinimum notional (in quote asset) required for orders in the market +adminStringCurrent market admin's address +admin_permissionsIntegerLevel of admin permissions (the permission number is a result of adding up all individual permissions numbers)
@@ -1237,41 +1244,17 @@ func main() { settlement_priceDecimalThe 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()) -``` + + + + + + +
CodeName
1Ticker Permission
2Min Price Tick Size Permission
4Min Quantity Tick Size Permission
8Min Notional Permission
16Initial Margin Ratio Permission
32Maintenance Margin Ratio Permission
@@ -1433,7 +1416,10 @@ func main() { is_perpetualBooleanTrue if the market is a perpetual market. False if the market is an expiry futures market statusMarketStatusStatus of the market min_price_tick_sizeDecimalMinimum tick size that the price required for orders in the market -min_quantity_tick_sizeDecimalMinimum tick size of the quantity required for orders in the market +min_quantity_tick_sizeDecimalMinimum tick size of the quantity required for orders in the market +min_notionalDecimalMinimum notional (in quote asset) required for orders in the market +adminStringCurrent market admin's address +admin_permissionsIntegerLevel of admin permissions (the permission number is a result of adding up all individual permissions numbers)
@@ -1510,41 +1496,17 @@ func main() { settlement_priceDecimalThe 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()) -``` + + + + + + +
CodeName
1Ticker Permission
2Min Price Tick Size Permission
4Min Quantity Tick Size Permission
8Min Notional Permission
16Initial Margin Ratio Permission
32Maintenance Margin Ratio Permission
@@ -2965,7 +2927,8 @@ func main() { trigger_priceOracleTypePrice to trigger the order is_buyBooleanTrue if the order is a buy order. False otherwise. is_limitBooleanTrue if the order is a limit order. False otherwise. -order_hashStringThe order hash +order_hashStringThe order hash +cidStringThe client order ID provided by the creator @@ -3169,7 +3132,8 @@ func main() { initial_margin_ratioDecimalDefines the initial margin ratio for the perpetual marketYes maintenance_margin_ratioDecimalDefines the maintenance margin ratio for the perpetual marketYes min_price_tick_sizeDecimalDefines the minimum tick size of the order's priceYes -min_quantity_tick_sizeDecimalDefines the minimum tick size of the order's quantityYes +min_quantity_tick_sizeDecimalDefines the minimum tick size of the order's quantityYes +min_notionalDecimalDefines the minimum notional (in quote asset) required for orders in the marketYes
@@ -3473,7 +3437,8 @@ func main() { initial_margin_ratioDecimalDefines the initial margin ratio for the perpetual marketYes maintenance_margin_ratioDecimalDefines the maintenance margin ratio for the perpetual marketYes min_price_tick_sizeDecimalDefines the minimum tick size of the order's priceYes -min_quantity_tick_sizeDecimalDefines the minimum tick size of the order's quantityYes +min_quantity_tick_sizeDecimalDefines the minimum tick size of the order's quantityYes +min_notionalDecimalDefines the minimum notional (in quote asset) required for orders in the marketYes
@@ -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() { orderingOrderWhether the channel is ordered or unordered counterpartyCounterpartyCounterparty channel end connection_hopsString ArrayList of connection identifiers, in order, along which packets sent on this channel will travel -versionStringOpaque channel version, which is agreed upon during the handshake +versionStringOpaque channel version, which is agreed upon during the handshake +upgrade_sequenceIntegerIndicates 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_hopsString ArrayList of connection identifiers, in order, along which packets sent on this channel will travel versionStringOpaque channel version, which is agreed upon during the handshake port_idStringPort identifier -channel_idStringChannel identifier +channel_idStringChannel identifier +upgrade_sequenceIntegerIndicates 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_hopsString ArrayList of connection identifiers, in order, along which packets sent on this channel will travel versionStringOpaque channel version, which is agreed upon during the handshake port_idStringPort identifier -channel_idStringChannel identifier +channel_idStringChannel identifier +upgrade_sequenceIntegerIndicates 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_hopsString ArrayList of connection identifiers, in order, along which packets sent on this channel will travel versionStringOpaque channel version, which is agreed upon during the handshake port_idStringPort identifier -channel_idStringChannel identifier +channel_idStringChannel identifier +upgrade_sequenceIntegerIndicates 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 ``` + +
ParamterTypeDescription
tx_responseTxResponseTransaction details
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
+ + ## MsgUnderwrite @@ -236,6 +307,77 @@ gas wanted: 142042 gas fee: 0.000071021 INJ ``` + +
ParamterTypeDescription
tx_responseTxResponseTransaction details
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
+ + ## MsgRequestRedemption @@ -348,4 +490,75 @@ raw_log: "[]" gas wanted: 110689 gas fee: 0.0000553445 INJ -``` \ No newline at end of file +``` + + +
ParamterTypeDescription
tx_responseTxResponseTransaction details
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute 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 ``` + +
ParamterTypeDescription
tx_responseTxResponseTransaction details
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
+ + ## MsgRelayProviderPrices @@ -341,3 +402,74 @@ gas fee: 0.0000863755 INJ ```go ``` + + +
ParamterTypeDescription
tx_responseTxResponseTransaction details
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute 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 + +``` + + +
ParameterTypeDescription
namespacesNamespace ArrayList of namespaces
+ + +
+ +**Namespace** + + + + + + + + +
ParameterTypeDescription
denomStringToken denom
wasm_hookStringAddress of the wasm contract that will provide the real destination address
mints_pausedBoolMint action status
sends_pausedBoolSend action status
burns_pausedBoolBurn action status
role_permissionsRole ArrayList of roles
address_rolesAddressRoles ArrayList of Injective addresses and their associated role
+ + +
+ +**Role** + + + +
ParameterTypeDescription
roleStringRole name
permissionsIntegerInteger representing the bitwhise combination of all actions assigned to the role
+ + +
+ +**PermissionAction** + + + +
ParameterTypeDescription
roleStringRole name
permissionsIntegerInteger representing the bitwhise combination of all actions assigned to the role
+ + +
+ +**AddressRoles** + + + +
ParameterTypeDescription
addressStringInjective address
rolesString ArrayList 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)) +} +``` + + + + +
ParameterTypeDescriptionRequired
denomStringThe token denomYes
include_rolesBoolOption to request the roles in the responseNo
+ + + +### Response Parameters +> Response Example: + +``` json + +``` + + +
ParameterTypeDescription
namespaceNamespaceThe namespace information (if found)
+ + +
+ +**Namespace** + + + + + + + + +
ParameterTypeDescription
denomStringToken denom
wasm_hookStringAddress of the wasm contract that will provide the real destination address
mints_pausedBoolMint action status
sends_pausedBoolSend action status
burns_pausedBoolBurn action status
role_permissionsRole ArrayList of roles
address_rolesAddressRoles ArrayList of Injective addresses and their associated role
+ + +
+ +**Role** + + + +
ParameterTypeDescription
roleStringRole name
permissionsIntegerInteger representing the bitwhise combination of all actions assigned to the role
+ + +
+ +**PermissionAction** + + + +
ParameterTypeDescription
roleStringRole name
permissionsIntegerInteger representing the bitwhise combination of all actions assigned to the role
+ + +
+ +**AddressRoles** + + + +
ParameterTypeDescription
addressStringInjective address
rolesString ArrayList 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)) +} +``` + + + + +
ParameterTypeDescriptionRequired
denomStringThe token denomYes
addressStringThe Injective address to query the roles forYes
+ + + +### Response Parameters +> Response Example: + +``` json + +``` + + +
ParameterTypeDescription
rolesString ArrayList 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)) +} +``` + + + + +
ParameterTypeDescriptionRequired
denomStringThe token denomYes
roleStringThe role name to query the addresses forYes
+ + + +### Response Parameters +> Response Example: + +``` json + +``` + + +
ParameterTypeDescription
addressesString ArrayList 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)) +} +``` + + + +
ParameterTypeDescriptionRequired
addressStringThe Injective address to query forYes
+ + + +### Response Parameters +> Response Example: + +``` json + +``` + + +
ParameterTypeDescription
vouchersCoin ArrayList of available vouchers for the address
+ + +
+ +**Coin** + + + +
ParameterTypeDescriptionRequired
denomStringThe token denomYes
amountStringThe amount of tokensYes
+ + + +## 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)) +} +``` + + + + +
ParameterTypeDescriptionRequired
senderStringThe sender's Injective addressYes
namespaceNamespaceThe namespace informationYes
+ + +
+ +**Namespace** + + + + + + + + +
ParameterTypeDescription
denomStringToken denom
wasm_hookStringAddress of the wasm contract that will provide the real destination address
mints_pausedBoolMint action status
sends_pausedBoolSend action status
burns_pausedBoolBurn action status
role_permissionsRole ArrayList of roles
address_rolesAddressRoles ArrayList of Injective addresses and their associated role
+ + +
+ +**Role** + + + +
ParameterTypeDescription
roleStringRole name
permissionsIntegerInteger representing the bitwhise combination of all actions assigned to the role
+ + +
+ +**PermissionAction** + + + +
ParameterTypeDescription
roleStringRole name
permissionsIntegerInteger representing the bitwhise combination of all actions assigned to the role
+ + +
+ +**AddressRoles** + + + +
ParameterTypeDescription
addressStringInjective address
rolesString ArrayList of roles assigned to the address
+ + +### Response Parameters +> Response Example: + +``` json +``` + + +
ParamterTypeDescription
tx_responseTxResponseTransaction details
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute 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)) +} +``` + + + + +
ParameterTypeDescriptionRequired
senderStringThe sender's Injective addressYes
namespace_denomStringThe token denom of the namespace to deleteYes
+ + +### Response Parameters +> Response Example: + +``` json +``` + + +
ParamterTypeDescription
tx_responseTxResponseTransaction details
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute 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)) +} +``` + + + + + + + + +
ParameterTypeDescriptionRequired
senderStringThe sender's Injective addressYes
namespace_denomStringThe token denom of the namespace to updateYes
wasm_hookStringAddress of the wasm contract that will provide the real destination addressYes
mints_pausedBoolMint action statusYes
sends_pausedBoolSend action statusYes
burns_pausedBoolBurn action statusYes
+ + +### Response Parameters +> Response Example: + +``` json +``` + + +
ParamterTypeDescription
tx_responseTxResponseTransaction details
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute 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)) +} +``` + + + + + + +
ParameterTypeDescriptionRequired
senderStringThe sender's Injective addressYes
namespace_denomStringThe token denom of the namespace to updateYes
role_permissionsRole ArrayList of rolesYes
address_rolesAddressRoles ArrayList of Injective addresses and their associated roleYes
+ + +
+ +**Role** + + + +
ParameterTypeDescription
roleStringRole name
permissionsIntegerInteger representing the bitwhise combination of all actions assigned to the role
+ + +
+ +**PermissionAction** + + + +
ParameterTypeDescription
roleStringRole name
permissionsIntegerInteger representing the bitwhise combination of all actions assigned to the role
+ + +
+ +**AddressRoles** + + + +
ParameterTypeDescription
addressStringInjective address
rolesString ArrayList of roles assigned to the address
+ + +### Response Parameters +> Response Example: + +``` json +``` + + +
ParamterTypeDescription
tx_responseTxResponseTransaction details
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute 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)) +} +``` + + + + + +
ParameterTypeDescriptionRequired
senderStringThe sender's Injective addressYes
namespace_denomStringThe token denom of the namespace to updateYes
address_roles_to_revokeAddressRoles ArrayList of Injective addresses and their associated roleYes
+ + +
+ +**AddressRoles** + + + +
ParameterTypeDescription
addressStringInjective address
rolesString ArrayList of roles assigned to the address
+ + +### Response Parameters +> Response Example: + +``` json +``` + + +
ParamterTypeDescription
tx_responseTxResponseTransaction details
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute 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)) +} +``` + + + + +
ParameterTypeDescriptionRequired
senderStringThe sender's Injective addressYes
denomStringThe token denom of the voucher to claimYes
+ + +### Response Parameters +> Response Example: + +``` json +``` + + +
ParamterTypeDescription
tx_responseTxResponseTransaction details
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute 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_idStringThe market ID statusMarketStatusStatus of the market min_price_tick_sizeDecimalMinimum tick size that the price required for orders in the market -min_quantity_tick_sizeDecimalMinimum tick size of the quantity required for orders in the market +min_quantity_tick_sizeDecimalMinimum tick size of the quantity required for orders in the market +min_notionalDecimalMinimum notional (in quote asset) required for orders in the market +adminStringCurrent market admin's address +admin_permissionsIntegerLevel of admin permissions (the permission number is a result of adding up all individual permissions numbers)
@@ -177,41 +180,17 @@ func main() { 4Expired +
-## 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()) -``` + + + + + + +
CodeName
1Ticker Permission
2Min Price Tick Size Permission
4Min Quantity Tick Size Permission
8Min Notional Permission
16Initial Margin Ratio Permission
32Maintenance Margin Ratio Permission
@@ -333,7 +312,10 @@ func main() { market_idStringThe market ID statusMarketStatusStatus of the market min_price_tick_sizeDecimalMinimum tick size that the price required for orders in the market -min_quantity_tick_sizeDecimalMinimum tick size of the quantity required for orders in the market +min_quantity_tick_sizeDecimalMinimum tick size of the quantity required for orders in the market +min_notionalDecimalMinimum notional (in quote asset) required for orders in the market +adminStringCurrent market admin's address +admin_permissionsIntegerLevel of admin permissions (the permission number is a result of adding up all individual permissions numbers)
@@ -348,43 +330,17 @@ func main() { 4Expired +
-## 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()) -``` + + + + + + +
CodeName
1Ticker Permission
2Min Price Tick Size Permission
4Min Quantity Tick Size Permission
8Min Notional Permission
16Initial Margin Ratio Permission
32Maintenance Margin Ratio Permission
@@ -528,7 +484,10 @@ func main() { market_idStringThe market ID statusMarketStatusStatus of the market min_price_tick_sizeDecimalMinimum tick size that the price required for orders in the market -min_quantity_tick_sizeDecimalMinimum tick size of the quantity required for orders in the market +min_quantity_tick_sizeDecimalMinimum tick size of the quantity required for orders in the market +min_notionalDecimalMinimum notional (in quote asset) required for orders in the market +adminStringCurrent market admin's address +admin_permissionsIntegerLevel of admin permissions (the permission number is a result of adding up all individual permissions numbers)
@@ -553,42 +512,17 @@ func main() { best_sell_priceDecimalMarket'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()) -``` + + + + + + +
CodeName
1Ticker Permission
2Min Price Tick Size Permission
4Min Quantity Tick Size Permission
8Min Notional Permission
16Initial Margin Ratio Permission
32Maintenance Margin Ratio Permission
@@ -728,7 +662,10 @@ func main() { market_idStringThe market ID statusMarketStatusStatus of the market min_price_tick_sizeDecimalMinimum tick size that the price required for orders in the market -min_quantity_tick_sizeDecimalMinimum tick size of the quantity required for orders in the market +min_quantity_tick_sizeDecimalMinimum tick size of the quantity required for orders in the market +min_notionalDecimalMinimum notional (in quote asset) required for orders in the market +adminStringCurrent market admin's address +admin_permissionsIntegerLevel of admin permissions (the permission number is a result of adding up all individual permissions numbers)
@@ -753,46 +690,17 @@ func main() { best_sell_priceDecimalMarket'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()) -``` + + + + + + +
CodeName
1Ticker Permission
2Min Price Tick Size Permission
4Min Quantity Tick Size Permission
8Min Notional Permission
16Initial Margin Ratio Permission
32Maintenance Margin Ratio Permission
@@ -1119,7 +1027,8 @@ func main() { quantityDecimalOrder quantity fillableDecimalThe remaining fillable amount of the order is_buyBooleanTrue if the order is a buy order -order_hashStringThe order hash +order_hashStringThe order hash +cidStringThe client order ID provided by the creator @@ -1326,7 +1235,8 @@ func main() { quantityDecimalOrder quantity fillableDecimalThe remaining fillable amount of the order is_buyBooleanTrue if the order is a buy order -order_hashStringThe order hash +order_hashStringThe order hash +cidStringThe client order ID provided by the creator @@ -1497,7 +1407,8 @@ func main() { quantityDecimalOrder quantity fillableDecimalThe remaining fillable amount of the order is_buyBooleanTrue if the order is a buy order -order_hashStringThe order hash +order_hashStringThe order hash +cidStringThe client order ID provided by the creator @@ -1659,7 +1570,8 @@ func main() { quantityDecimalOrder quantity fillableDecimalThe remaining fillable amount of the order is_buyBooleanTrue if the order is a buy order -order_hashStringThe order hash +order_hashStringThe order hash +cidStringThe client order ID provided by the creator @@ -1978,7 +1890,8 @@ func main() { base_denomStringBase tocken denomYes quote_denomStringQuote tocken denomYes min_price_tick_sizeDecimalDefines the minimum tick size of the order's priceYes -min_quantity_tick_sizeDecimalDefines the minimum tick size of the order's quantityYes +min_quantity_tick_sizeDecimalDefines the minimum tick size of the order's quantityYes +min_notionalDecimalDefines the minimum notional (in quote asset) required for orders in the marketYes ### 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 | + + +
ParameterTypeDescriptionRequired
creatorStringThe denom creator addressYes
sub_denomStringThe token subdenomNo
+ ### Response Parameters @@ -135,16 +134,17 @@ func main() { ``` -| Parameter | Type | Description | -| ------------------ | ---------------------- | --------------------- | -| authority_metadata | DenomAuthorityMetadata | Authority metadata | + +
ParameterTypeDescription
authority_metadataDenomAuthorityMetadataThe denom authority information
+ -**DenomAuthorityMetadata** +
-| Parameter | Type | Description | -| --------- | ------ | --------------- | -| admin | String | Admin's address | +**DenomAuthorityMetadata** + +
ParameterTypeDescription
adminStringThe denom admin
+ ## DenomsFromCreator @@ -254,11 +254,9 @@ func main() { ``` - -| Parameter | Type | Description | Required | -| --------- | ------ | ---------------------------- | -------- | -| creator | String | Address of the token creator | Yes | - + +
ParameterTypeDescriptionRequired
creatorStringThe denom creator addressYes
+ ### Response Parameters > Response Example: @@ -354,9 +352,9 @@ func main() { ``` -| Parameter | Type | Description | -| --------- | ------------ | -------------------- | -| denoms | String Array | List of token denoms | + +
ParameterTypeDescription
denomsString ArrayList 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 | + +
ParameterTypeDescription
stateGenesisStateThe state details
+ + +
**GenesisState** -| Parameter | Type | Description | -| -------------- | ------------------ | ----------------- | -| params | Params | Module parameters | -| factory_denoms | GenesisDenom Array | Factory tokens | + + +
ParameterTypeDescription
paramsParamsModule parameters
factory_denomsGenesisDenom ArrayModule parameters
+ + +
**Params** -| Parameter | Type | Description | -| ------------------- | ---------- | ----------- | -| denoms_creation_fee | Coin Array | Coins | + +
ParameterTypeDescription
denoms_creation_feeCoin ArrayFee required to create a denom
+ + +
**Coin** -| Parameter | Type | Description | -| --------- | ------ | ------------ | -| denom | String | Token denom | -| amount | String | Token amount | + + +
ParameterTypeDescriptionRequired
denomStringThe token denomYes
amountStringThe amount of tokensYes
+ + +
**GenesisDenom** -| Parameter | Type | Description | -| ------------------ | ---------------------- | ------------------ | -| denom | String | Token denom | -| authority_metadata | DenomAuthorityMetadata | Authority metadata | -| name | String | Token name | -| symbol | String | Token symbol | + + + + +
ParameterTypeDescription
denomStringToken denom
authority_metadataDenomAuthorityMetadataToken authority metadata
nameStringToken name
symbolStringToken symbol
+ + +
**DenomAuthorityMetadata** -| Parameter | Type | Description | -| --------- | ------ | --------------- | -| admin | String | Admin's address | + +
ParameterTypeDescription
adminStringThe 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 | + + + + + +
ParameterTypeDescriptionRequired
senderStringSender Injective addressYes
subdenomStringNew token subdenomYes
nameStringNew token nameYes
symbolStringNew token symbolYes
decimalsIntegerNumber of decimals use to represent token amount on chainYes
+ ### Response Parameters > Response Example: @@ -750,6 +756,77 @@ func main() { ``` go ``` + +
ParamterTypeDescription
tx_responseTxResponseTransaction details
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
+ + ## MsgMint @@ -892,18 +969,19 @@ func main() { ``` + + +
ParameterTypeDescriptionRequired
senderStringSender Injective addressYes
amountCoinAmount to mintYes
+ -| 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 | + + +
ParameterTypeDescriptionRequired
denomStringThe token denomYes
amountStringThe amount of tokensYes
+ ### Response Parameters > Response Example: @@ -914,6 +992,77 @@ func main() { ``` go ``` + +
ParamterTypeDescription
tx_responseTxResponseTransaction details
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
+ + ## MsgBurn @@ -1056,18 +1205,19 @@ func main() { ``` + + +
ParameterTypeDescriptionRequired
senderStringSender Injective addressYes
amountCoinAmount to burnYes
+ -| 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 | + + +
ParameterTypeDescriptionRequired
denomStringThe token denomYes
amountStringThe amount of tokensYes
+ ### Response Parameters > Response Example: @@ -1078,6 +1228,77 @@ func main() { ``` go ``` + +
ParamterTypeDescription
tx_responseTxResponseTransaction details
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
+ + ## MsgSetDenomMetadata @@ -1257,32 +1478,36 @@ func main() { ``` + + +
ParameterTypeDescriptionRequired
senderStringSender Injective addressYes
metadataMetadataToken metadataYes
+ -| 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. | + + + + + + + + + +
ParameterTypeDescription
descriptionStringToken description
denom_unitsDenomUnit ArrayAll token units
baseStringThe base token denom
displayStringSuggested denom that should be displayed in clients
nameStringToken name
symbolStringToken symbol
uriStringURI to a document (on or off-chain) that contains additional information. Optional
uri_hashStringURIHash is a sha256 hash of a document pointed by URI. It's used to verify that the document didn't change. Optional
decimalsIntegerNumber 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 | + + + +
ParameterTypeDescription
denomStringName of the denom unit
exponentIntegerExponent 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)
aliasesString ArrayList of aliases for the denom
+ ### Response Parameters @@ -1294,6 +1519,77 @@ func main() { ``` go ``` + +
ParamterTypeDescription
tx_responseTxResponseTransaction details
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute 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 | + + + +
ParameterTypeDescriptionRequired
senderStringSender Injective addressYes
denomStringToken denomYes
new_adminStringNew admin Injective addressYes
+ ### Response Parameters > Response Example: @@ -1445,3 +1741,73 @@ func main() { ``` go ``` + +
ParamterTypeDescription
tx_responseTxResponseTransaction details
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute 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 ``` + +
ParamterTypeDescription
tx_responseTxResponseTransaction details
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute 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 ``` + + +
ParamterTypeDescription
tx_responseTxResponseTransaction details
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute 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 ``` + + +
ParamterTypeDescription
tx_responseTxResponseTransaction details
+ + +
+ +**TxResponse** + + + + + + + + + + + + + + +
ParameterTypeDescription
heightIntegerThe block height
tx_hashStringTransaction hash
codespaceStringNamespace for the code
codeIntegerResponse code (zero for success, non-zero for errors)
dataStringBytes, if any
raw_logStringThe output of the application's logger (raw string)
logsABCIMessageLog ArrayThe output of the application's logger (typed)
infoStringAdditional information
gas_wantedIntegerAmount of gas requested for the transaction
gas_usedIntegerAmount of gas consumed by the transaction
txAnyThe request transaction bytes
timestampStringTime 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
eventsEvent ArrayEvents 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** + + + + +
ParameterTypeDescription
msg_indexIntegerThe message index
logStringThe log message
eventsStringEvent ArrayEvent objects that were emitted during the execution
+ + +
+ +**Event** + + + +
ParameterTypeDescription
typeStringEvent type
attributesEventAttribute ArrayAll event object details
+ + +
+ +**StringEvent** + + + +
ParameterTypeDescription
typeStringEvent type
attributesAttribute ArrayEvent data
+ + +
+ +**EventAttribute** + + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute value
indexBooleanIf attribute is indexed
+ + +
+ +**Attribute** + + + +
ParameterTypeDescription
keyStringAttribute key
valueStringAttribute 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