BlitJS is a library designed to facilitate interactions with Blit using JavaScript. This a guide on how to set up and use the BlitJS library in your project.
Include BlitJS in your project by adding the following script tag in your HTML file:
<script type="module">
import {
default as blitjs,
experimentalHelpers,
} from "https://cdn.jsdelivr.net/npm/@blitchain/blitjs/+esm";
let {
makeKeplrClient,
runFunction,
queryFunction
} = experimentalHelpers;
let rpcEndpoint = "http://rpc.testnet.blitchain.net";
let restEndpoint = "http://rest.testnet.blitchain.net";
let msgClient = await makeKeplrClient({ rpcEndpoint, restEndpoint });
let queryClient = await blitjs.blit.ClientFactory.createLCDClient({ restEndpoint });
let address = (await msgClient.signer.getAccounts())[0].address;
console.log(address);
let balanceResponse = await queryClient.cosmos.bank.v1beta1.allBalances({
address,
});
console.log(balanceResponse);
// Optional: If you want console access for debugging
window.blitjs = blitjs;
window.runFunction = runFunction;
window.queryFunction = queryFunction;
window.msgClient = msgClient;
window.queryClient = queryClient;
window.address = address;
</script>
Install via npm:
npm install @blitchain/blitjs
Import in your project
import {
default as blitjs,
experimentalHelpers,
} from "@blitchain/blitjs/dist/index.mjs";
const {default: blitjs, experimentalHelpers} = (await import("https://cdn.jsdelivr.net/npm/@blitchain/blitjs/+esm"));
const { makeKeplrClient, runFunction, queryFunction } = experimentalHelpers;
let address = (await msgClient.signer.getAccounts())[0].address;
console.log(address)
// Output blit123someaddress
Here is how to query the balance of an address and an example of using pagination. All querys that return lists can be paginated.
let balanceResponse = await queryClient.cosmos.bank.v1beta1.allBalances({ address, pagination: { limit: "1", offset: 0, countTotal: true } });
console.log(balanceResponse);
/*
{
"balances": [
{
"denom": "ublit",
"amount": "8419418"
}
],
"pagination": {
"next_key": "dG9rZW4=",
"total": "2"
}
}
*/
let nodeInfo = await queryClient.cosmos.base.tendermint.v1beta1.getNodeInfo()
console.log(nodeInfo);
// Output {default_node_info: {…}, application_version: {…}}
This is how you can update a script's code using msgClient.signAndBroadcast(address, [message], "auto")
Note: pay attention to indentation for the code.
let code = `
def greet(name):
print(f"Hello {name}!")
return {"name": name}
`;
// Make the message with the blitjs ecoder
let message = blitjs.blit.script.MessageComposer.fromPartial.updateScript({ address, code: code })
// == or make the message object directly ==
/*
let message = {
"typeUrl": "/blit.script.MsgUpdateScript",
"value": {
"address": address,
"code": code,
"grantee": ""
}
}
*/
await msgClient.signAndBroadcast(address, [message], "auto")
// Output: {code: 0, height: 1086258, txIndex: 0, events: Array(8), rawLog: '[{"msg_index":0,"events":[{"type":"message","attri…2m02jkt2"},{"key":"module","value":"script"}]}]}]', …}
As a convenience, UpdateScriptMsg
has a grantee
field that will automatically create and execute the Authz Exec message if you have the corresponding /blit.script.MsgUpdateScript
permission.
let newCode = `
def greet(name):
print(f"Hola, {name}!")
return {"name": name}
`;
// Make the message with the blitjs encoder
let message = blitjs.blit.script.MessageComposer.fromPartial.updateScript({ otherAddress, code: newCode, grantee: address })
// == or make the message object directly ==
/*
let message = {
"typeUrl": "/blit.script.MsgUpdateScript",
"value": {
"address": otherAddress,
"code": newCode,
"grantee": address
}
}
*/
await msgClient.signAndBroadcast(address, [message], "auto")
// Output: {code: 0, height: 1086258, txIndex: 0, events: Array(8), rawLog: '[{"msg_index":0,"events":[{"type":"message","attri…2m02jkt2"},{"key":"module","value":"script"}]}]}]', …}
Alternatively, you can manually create and run the MsgExec
and encoded MsgUpdateScript
message.
let msg1 = blitjs.blit.script.MsgUpdateScript.toProtoMsg({address, code: "# eazy peezy", grantee:"" })
let execMsg = {
"typeUrl": "/cosmos.authz.v1beta1.MsgExec",
"value": {
"grantee": address,
"msgs": [msg1]
}
}
let tx = (await msgClient.signAndBroadcast(address, [execMsg], 1.5));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.authz.v1beta1.MsgExecResponse.fromProtoMsg(tx.msgResponses[0]);
// decode the exec responses
blitjs.blit.script.MsgUpdateScriptResponse.decode(decodedResponse.results[0])
// Output: {version: 4n}
This will allow us to verify that the previous command worked and that the code was stored.
let scriptResponse = await queryClient.blit.script.script({ address });
console.log(scriptResponse);
/*
Output: {
"script": {
"address": "blit130v2ypunhy9tuurcnjpagpt77e56n72m02jkt2",
"code": "\ndef greet(name):\n print(f\"Hello {name}!\")\n return {\"name\": name}\n",
"version": "1"
}
}
*/
Nested messages must be encoded as a proto message like this
let tdpMsg = blitjs.cosmos.group.v1.ThresholdDecisionPolicy.toProtoMsg({
"threshold": "1",
"windows": {
"voting_period": {"seconds": "100"},
"min_execution_period": {"seconds": "0"}
}
})
Then it can be embedded like this:
let msg = {
"typeUrl": "/cosmos.group.v1.MsgCreateGroupPolicy",
"value": {
"admin": address,
"groupId": "1",
"metadata": "some meta data",
"decisionPolicy": tdpMsg
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.group.v1.MsgCreateGroupPolicyResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
// Output: {address: 'blit1c799jddmlz7segvg6jrw6w2k6svwafganjdznard3tc74n7td7rqx9h5jn'}
Now it is trivial to call greet(name="Bob")
in a transaction. Keplr will prompt to sign the transaction before broadcasting it.
let runResp = await runFunction({
msgClient,
caller_address: address,
script_address: address,
function_name: "greet",
kwargs: { name: "Bob" }
});
console.log(runResp);
/*
Output:
{
tx: { ..raw transaction details }
result: {
"exception": null,
"gas_limit": 100000,
"nodes_called": 15,
"result": {
"name": "Bob"
},
"script_gas_consumed": 45281,
"stdout": "Hello Bob!\n"
}
*/
Q: I'm getting an error like out of gas in location: WritePerByte; gasWanted: 47347, gasUsed: 48728: out of gas
A: Try replacing "auto"
with 1.5 like this:
await msgClient.signAndBroadcast(address, [message], "auto")
await msgClient.signAndBroadcast(address, [message], 1.5)
This is a read-only callA of the function greet(name="Bob")
. Nothing is persisted on-chain.
let queryResp = await queryFunction({
queryClient,
caller_address: address,
script_address: address,
function_name: "greet",
kwargs: { name: "Bob" }
});
console.log(queryResp);
/* Output
{
"exception": null,
"gas_limit": 10000000,
"nodes_called": 15,
"result": {
"name": "Bob"
},
"script_gas_consumed": 1538,
"stdout": "Hello Bob!\n"
}
*/
This will list all Storage for a specific address
let storageResponse = await queryClient.blit.storage.storageAll({ filter_address: address });
console.log(storageResponse);
/* Output
{
"storage": [],
"pagination": {
"next_key": null,
"total": "0"
}
}
*/
let message1 = blitjs.blit.storage.MessageComposer.fromPartial.createStorage({
address,
index: "foo123",
data: "some data"
})
await msgClient.signAndBroadcast(address, [message1], "auto")
// Output: {code: 0, height: 1090067, txIndex: 0, events: Array(8), rawLog: '[{"msg_index":0,"events":[{"type":"message","attri…m02jkt2"},{"key":"module","value":"storage"}]}]}]', …}
let message2 = blitjs.blit.storage.MessageComposer.fromPartial.updateStorage({
address,
index: "foo123",
data: "some NEW data",
})
await msgClient.signAndBroadcast(address, [message2], "auto")
// Output: {code: 0, height: 1090191, txIndex: 0, events: Array(8), rawLog: '[{"msg_index":0,"events":[{"type":"message","attri…m02jkt2"},{"key":"module","value":"storage"}]}]}]', …}
Here are a list of available Msgs and their useage.
let msg = {
"typeUrl": "/blit.blit.MsgUpdateParams",
"value": {
"authority": "",
"params": null
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.blit.blit.MsgUpdateParamsResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/blit.script.MsgCreateScript",
"value": {
"creator": "",
"code": "",
"msg_type_permissions": [],
"grantee": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.blit.script.MsgCreateScriptResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/blit.script.MsgRun",
"value": {
"caller_address": "",
"script_address": "",
"extra_code": "",
"function_name": "",
"kwargs": "",
"grantee": "",
"attached_messages": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.blit.script.MsgRunResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/blit.script.MsgUpdateParams",
"value": {
"authority": "",
"params": null
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.blit.script.MsgUpdateParamsResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/blit.script.MsgUpdateScript",
"value": {
"address": "",
"code": "",
"grantee": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.blit.script.MsgUpdateScriptResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/blit.storage.MsgCreateStorage",
"value": {
"address": "",
"index": "",
"data": "",
"grantee": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.blit.storage.MsgCreateStorageResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/blit.storage.MsgDeleteStorage",
"value": {
"address": "",
"index": "",
"grantee": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.blit.storage.MsgDeleteStorageResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/blit.storage.MsgUpdateParams",
"value": {
"authority": "",
"params": null
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.blit.storage.MsgUpdateParamsResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/blit.storage.MsgUpdateStorage",
"value": {
"address": "",
"index": "",
"data": "",
"grantee": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.blit.storage.MsgUpdateStorageResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.authz.v1beta1.MsgExec",
"value": {
"grantee": "",
"msgs": []
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.authz.v1beta1.MsgExecResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.authz.v1beta1.MsgGrant",
"value": {
"granter": "",
"grantee": "",
"grant": null
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.authz.v1beta1.MsgGrantResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.authz.v1beta1.MsgRevoke",
"value": {
"granter": "",
"grantee": "",
"msg_type_url": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.authz.v1beta1.MsgRevokeResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.bank.v1beta1.MsgMultiSend",
"value": {
"inputs": [],
"outputs": []
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.bank.v1beta1.MsgMultiSendResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.bank.v1beta1.MsgSend",
"value": {
"from_address": "",
"to_address": "",
"amount": []
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.bank.v1beta1.MsgSendResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.distribution.v1beta1.MsgFundCommunityPool",
"value": {
"amount": [],
"depositor": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.distribution.v1beta1.MsgSetWithdrawAddress",
"value": {
"delegator_address": "",
"withdraw_address": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward",
"value": {
"delegator_address": "",
"validator_address": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission",
"value": {
"validator_address": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.feegrant.v1beta1.MsgGrantAllowance",
"value": {
"granter": "",
"grantee": "",
"allowance": null
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.feegrant.v1beta1.MsgGrantAllowanceResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.feegrant.v1beta1.MsgRevokeAllowance",
"value": {
"granter": "",
"grantee": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.feegrant.v1beta1.MsgRevokeAllowanceResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.gov.v1.MsgDeposit",
"value": {
"proposal_id": "0",
"depositor": "",
"amount": []
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.gov.v1.MsgDepositResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.gov.v1.MsgSubmitProposal",
"value": {
"messages": [],
"initial_deposit": [],
"proposer": "",
"metadata": "",
"title": "",
"summary": "",
"expedited": false
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.gov.v1.MsgSubmitProposalResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.gov.v1.MsgUpdateParams",
"value": {
"authority": "",
"params": null
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.gov.v1.MsgUpdateParamsResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.gov.v1.MsgVote",
"value": {
"proposal_id": "0",
"voter": "",
"option": 0,
"metadata": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.gov.v1.MsgVoteResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.gov.v1.MsgVoteWeighted",
"value": {
"proposal_id": "0",
"voter": "",
"options": [],
"metadata": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.gov.v1.MsgVoteWeightedResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.gov.v1beta1.MsgDeposit",
"value": {
"proposal_id": "0",
"depositor": "",
"amount": []
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.gov.v1beta1.MsgDepositResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.gov.v1beta1.MsgSubmitProposal",
"value": {
"content": null,
"initial_deposit": [],
"proposer": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.gov.v1beta1.MsgSubmitProposalResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.gov.v1beta1.MsgVote",
"value": {
"proposal_id": "0",
"voter": "",
"option": 0
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.gov.v1beta1.MsgVoteResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.gov.v1beta1.MsgVoteWeighted",
"value": {
"proposal_id": "0",
"voter": "",
"options": []
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.gov.v1beta1.MsgVoteWeightedResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.group.v1.MsgCreateGroup",
"value": {
"admin": "",
"members": [],
"metadata": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.group.v1.MsgCreateGroupResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.group.v1.MsgCreateGroupPolicy",
"value": {
"admin": "",
"group_id": "0",
"metadata": "",
"decision_policy": null
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.group.v1.MsgCreateGroupPolicyResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.group.v1.MsgCreateGroupWithPolicy",
"value": {
"admin": "",
"members": [],
"group_metadata": "",
"group_policy_metadata": "",
"group_policy_as_admin": false,
"decision_policy": null
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.group.v1.MsgCreateGroupWithPolicyResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.group.v1.MsgExec",
"value": {
"proposal_id": "0",
"executor": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.group.v1.MsgExecResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.group.v1.MsgLeaveGroup",
"value": {
"address": "",
"group_id": "0"
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.group.v1.MsgLeaveGroupResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.group.v1.MsgSubmitProposal",
"value": {
"group_policy_address": "",
"proposers": [],
"metadata": "",
"messages": [],
"exec": 0,
"title": "",
"summary": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.group.v1.MsgSubmitProposalResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.group.v1.MsgUpdateGroupAdmin",
"value": {
"admin": "",
"group_id": "0",
"new_admin": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.group.v1.MsgUpdateGroupAdminResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.group.v1.MsgUpdateGroupMembers",
"value": {
"admin": "",
"group_id": "0",
"member_updates": []
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.group.v1.MsgUpdateGroupMembersResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.group.v1.MsgUpdateGroupMetadata",
"value": {
"admin": "",
"group_id": "0",
"metadata": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.group.v1.MsgUpdateGroupMetadataResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.group.v1.MsgUpdateGroupPolicyAdmin",
"value": {
"admin": "",
"group_policy_address": "",
"new_admin": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.group.v1.MsgUpdateGroupPolicyAdminResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicy",
"value": {
"admin": "",
"group_policy_address": "",
"decision_policy": null
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicyResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.group.v1.MsgUpdateGroupPolicyMetadata",
"value": {
"admin": "",
"group_policy_address": "",
"metadata": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.group.v1.MsgUpdateGroupPolicyMetadataResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.group.v1.MsgVote",
"value": {
"proposal_id": "0",
"voter": "",
"option": 0,
"metadata": "",
"exec": 0
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.group.v1.MsgVoteResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.group.v1.MsgWithdrawProposal",
"value": {
"proposal_id": "0",
"address": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.group.v1.MsgWithdrawProposalResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.staking.v1beta1.MsgBeginRedelegate",
"value": {
"delegator_address": "",
"validator_src_address": "",
"validator_dst_address": "",
"amount": null
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.staking.v1beta1.MsgBeginRedelegateResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.staking.v1beta1.MsgCreateValidator",
"value": {
"description": null,
"commission": null,
"min_self_delegation": "",
"delegator_address": "",
"validator_address": "",
"pubkey": null,
"value": null
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.staking.v1beta1.MsgCreateValidatorResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.staking.v1beta1.MsgDelegate",
"value": {
"delegator_address": "",
"validator_address": "",
"amount": null
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.staking.v1beta1.MsgDelegateResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.staking.v1beta1.MsgEditValidator",
"value": {
"description": null,
"validator_address": "",
"commission_rate": "",
"min_self_delegation": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.staking.v1beta1.MsgEditValidatorResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.staking.v1beta1.MsgUndelegate",
"value": {
"delegator_address": "",
"validator_address": "",
"amount": null
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.staking.v1beta1.MsgUndelegateResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/cosmos.vesting.v1beta1.MsgCreateVestingAccount",
"value": {
"from_address": "",
"to_address": "",
"amount": [],
"end_time": "0",
"delayed": false
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccount",
"value": {
"owner": "",
"connection_id": "",
"version": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccountResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/ibc.applications.interchain_accounts.controller.v1.MsgSendTx",
"value": {
"owner": "",
"connection_id": "",
"packet_data": null,
"relative_timeout": "0"
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.ibc.applications.interchain_accounts.controller.v1.MsgSendTxResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/ibc.applications.interchain_accounts.controller.v1.MsgUpdateParams",
"value": {
"signer": "",
"params": null
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.ibc.applications.interchain_accounts.controller.v1.MsgUpdateParamsResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/ibc.applications.interchain_accounts.host.v1.MsgUpdateParams",
"value": {
"signer": "",
"params": null
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.ibc.applications.interchain_accounts.host.v1.MsgUpdateParamsResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/ibc.applications.transfer.v1.MsgTransfer",
"value": {
"source_port": "",
"source_channel": "",
"token": null,
"sender": "",
"receiver": "",
"timeout_height": null,
"timeout_timestamp": "0",
"memo": ""
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.ibc.applications.transfer.v1.MsgTransferResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
let msg = {
"typeUrl": "/ibc.applications.transfer.v1.MsgUpdateParams",
"value": {
"signer": "",
"params": null
}
}
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs.ibc.applications.transfer.v1.MsgUpdateParamsResponse.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
Source for generating the Msg examples
let items = [...msgClient.registry.types.entries()].sort();
let out = '';
items.map(([k, v]) => {
if (k.includes('Msg') && !k.includes('ibc.core')) {
let value = (blitjs.cosmosProtoRegistry.find( ((x ) => {return x[0] == k})) || blitjs.blitProtoRegistry.find(((x ) => {return x[0] == k})))
if (value !== undefined) out += `
## ${k}
\`\`\`js
let msg = ${ JSON.stringify({typeUrl:k, value: value[1].fromPartial({})}, function(k, v) { return v === undefined ? null : v}, 2) }
let tx = (await msgClient.signAndBroadcast(address, [msg], "auto"));
if (tx.code !== 0) throw new Error("Oh no! " + tx.rawLog)
let decodedResponse = blitjs${k.replace('/', '.') + "Response"}.fromProtoMsg(tx.msgResponses[0]);
console.log(decodedResponse);
\`\`\`
`;
}
});
console.log(out);
let params = {}
await queryClient.blit.blit.params(params)
let params = {
"caller_address": "",
"script_address": "",
"extra_code": "",
"function_name": "",
"kwargs": "",
"grantee": "",
"attached_messages": ""
}
await queryClient.blit.script.eval(params)
let params = {}
await queryClient.blit.script.params(params)
let params = {
"address": ""
}
await queryClient.blit.script.script(params)
let params = {}
await queryClient.blit.script.scripts(params)
let params = {
"address": "",
"httprequest": ""
}
await queryClient.blit.script.web(params)
let params = {
"filter_address": "",
"filter_index_prefix": ""
}
await queryClient.blit.storage.filterStorage(params)
let params = {}
await queryClient.blit.storage.params(params)
let params = {
"address": "",
"index": ""
}
await queryClient.blit.storage.storageDetail(params)
let params = {
"id": "0",
"account_id": "0"
}
await queryClient.cosmos.auth.v1beta1.accountAddressByID(params)
let params = {
"address": ""
}
await queryClient.cosmos.auth.v1beta1.accountInfo(params)
let params = {
"address": ""
}
await queryClient.cosmos.auth.v1beta1.account(params)
let params = {}
await queryClient.cosmos.auth.v1beta1.accounts(params)
let params = {
"name": ""
}
await queryClient.cosmos.auth.v1beta1.moduleAccountByName(params)
let params = {}
await queryClient.cosmos.auth.v1beta1.moduleAccounts(params)
let params = {}
await queryClient.cosmos.auth.v1beta1.params(params)
let params = {
"grantee": ""
}
await queryClient.cosmos.authz.v1beta1.granteeGrants(params)
let params = {
"granter": ""
}
await queryClient.cosmos.authz.v1beta1.granterGrants(params)
let params = {
"granter": "",
"grantee": "",
"msg_type_url": ""
}
await queryClient.cosmos.authz.v1beta1.grants(params)
let params = {
"address": "",
"resolve_denom": false
}
await queryClient.cosmos.bank.v1beta1.allBalances(params)
let params = {
"address": "",
"denom": ""
}
await queryClient.cosmos.bank.v1beta1.balance(params)
let params = {
"denom": ""
}
await queryClient.cosmos.bank.v1beta1.denomMetadataByQueryString(params)
let params = {
"denom": ""
}
await queryClient.cosmos.bank.v1beta1.denomMetadata(params)
let params = {
"denom": ""
}
await queryClient.cosmos.bank.v1beta1.denomOwners(params)
let params = {}
await queryClient.cosmos.bank.v1beta1.denomsMetadata(params)
let params = {}
await queryClient.cosmos.bank.v1beta1.params(params)
let params = {
"address": "",
"denom": ""
}
await queryClient.cosmos.bank.v1beta1.spendableBalanceByDenom(params)
let params = {
"address": ""
}
await queryClient.cosmos.bank.v1beta1.spendableBalances(params)
let params = {
"denom": ""
}
await queryClient.cosmos.bank.v1beta1.supplyOf(params)
let params = {}
await queryClient.cosmos.bank.v1beta1.totalSupply(params)
let params = {}
await queryClient.cosmos.base.reflection.v2alpha1.getServicesDescriptor(params)
let params = {
"data": {},
"path": "",
"height": "0",
"prove": false
}
await queryClient.cosmos.base.tendermint.v1beta1.aBCI(params)
let params = {
"address": ""
}
await queryClient.cosmos.circuit.v1.account(params)
let params = {}
await queryClient.cosmos.circuit.v1.accounts(params)
let params = {}
await queryClient.cosmos.circuit.v1.disabledList(params)
let params = {}
await queryClient.cosmos.consensus.v1.params(params)
let params = {}
await queryClient.cosmos.distribution.v1beta1.communityPool(params)
let params = {
"delegator_address": "",
"validator_address": ""
}
await queryClient.cosmos.distribution.v1beta1.delegationRewards(params)
let params = {
"delegator_address": ""
}
await queryClient.cosmos.distribution.v1beta1.delegationTotalRewards(params)
let params = {
"delegator_address": ""
}
await queryClient.cosmos.distribution.v1beta1.delegatorValidators(params)
let params = {
"delegator_address": ""
}
await queryClient.cosmos.distribution.v1beta1.delegatorWithdrawAddress(params)
let params = {}
await queryClient.cosmos.distribution.v1beta1.params(params)
let params = {
"validator_address": ""
}
await queryClient.cosmos.distribution.v1beta1.validatorCommission(params)
let params = {
"validator_address": ""
}
await queryClient.cosmos.distribution.v1beta1.validatorDistributionInfo(params)
let params = {
"validator_address": ""
}
await queryClient.cosmos.distribution.v1beta1.validatorOutstandingRewards(params)
let params = {
"validator_address": "",
"starting_height": "0",
"ending_height": "0"
}
await queryClient.cosmos.distribution.v1beta1.validatorSlashes(params)
let params = {
"granter": "",
"grantee": ""
}
await queryClient.cosmos.feegrant.v1beta1.allowance(params)
let params = {
"granter": ""
}
await queryClient.cosmos.feegrant.v1beta1.allowancesByGranter(params)
let params = {
"grantee": ""
}
await queryClient.cosmos.feegrant.v1beta1.allowances(params)
let params = {}
await queryClient.cosmos.gov.v1.constitution(params)
let params = {
"proposal_id": "0",
"depositor": ""
}
await queryClient.cosmos.gov.v1.deposit(params)
let params = {
"proposal_id": "0"
}
await queryClient.cosmos.gov.v1.deposits(params)
let params = {
"params_type": ""
}
await queryClient.cosmos.gov.v1.params(params)
let params = {
"proposal_id": "0"
}
await queryClient.cosmos.gov.v1.proposal(params)
let params = {
"proposal_status": 0,
"voter": "",
"depositor": ""
}
await queryClient.cosmos.gov.v1.proposals(params)
let params = {
"proposal_id": "0"
}
await queryClient.cosmos.gov.v1.tallyResult(params)
let params = {
"proposal_id": "0",
"voter": ""
}
await queryClient.cosmos.gov.v1.vote(params)
let params = {
"proposal_id": "0"
}
await queryClient.cosmos.gov.v1.votes(params)
let params = {
"proposal_id": "0",
"depositor": ""
}
await queryClient.cosmos.gov.v1beta1.deposit(params)
let params = {
"proposal_id": "0"
}
await queryClient.cosmos.gov.v1beta1.deposits(params)
let params = {
"params_type": ""
}
await queryClient.cosmos.gov.v1beta1.params(params)
let params = {
"proposal_id": "0"
}
await queryClient.cosmos.gov.v1beta1.proposal(params)
let params = {
"proposal_status": 0,
"voter": "",
"depositor": ""
}
await queryClient.cosmos.gov.v1beta1.proposals(params)
let params = {
"proposal_id": "0"
}
await queryClient.cosmos.gov.v1beta1.tallyResult(params)
let params = {
"proposal_id": "0",
"voter": ""
}
await queryClient.cosmos.gov.v1beta1.vote(params)
let params = {
"proposal_id": "0"
}
await queryClient.cosmos.gov.v1beta1.votes(params)
let params = {
"group_id": "0"
}
await queryClient.cosmos.group.v1.groupInfo(params)
let params = {
"group_id": "0"
}
await queryClient.cosmos.group.v1.groupMembers(params)
let params = {
"admin": ""
}
await queryClient.cosmos.group.v1.groupPoliciesByAdmin(params)
let params = {
"group_id": "0"
}
await queryClient.cosmos.group.v1.groupPoliciesByGroup(params)
let params = {
"address": ""
}
await queryClient.cosmos.group.v1.groupPolicyInfo(params)
let params = {
"admin": ""
}
await queryClient.cosmos.group.v1.groupsByAdmin(params)
let params = {
"address": ""
}
await queryClient.cosmos.group.v1.groupsByMember(params)
let params = {}
await queryClient.cosmos.group.v1.groups(params)
let params = {
"proposal_id": "0"
}
await queryClient.cosmos.group.v1.proposal(params)
let params = {
"address": ""
}
await queryClient.cosmos.group.v1.proposalsByGroupPolicy(params)
let params = {
"proposal_id": "0"
}
await queryClient.cosmos.group.v1.tallyResult(params)
let params = {
"proposal_id": "0",
"voter": ""
}
await queryClient.cosmos.group.v1.voteByProposalVoter(params)
let params = {
"proposal_id": "0"
}
await queryClient.cosmos.group.v1.votesByProposal(params)
let params = {
"voter": ""
}
await queryClient.cosmos.group.v1.votesByVoter(params)
let params = {}
await queryClient.cosmos.mint.v1beta1.annualProvisions(params)
let params = {}
await queryClient.cosmos.mint.v1beta1.inflation(params)
let params = {}
await queryClient.cosmos.mint.v1beta1.params(params)
let params = {
"class_id": "",
"owner": ""
}
await queryClient.cosmos.nft.v1beta1.balance(params)
let params = {
"class_id": ""
}
await queryClient.cosmos.nft.v1beta1.class(params)
let params = {}
await queryClient.cosmos.nft.v1beta1.classes(params)
let params = {
"class_id": "",
"id": ""
}
await queryClient.cosmos.nft.v1beta1.nFT(params)
let params = {
"class_id": "",
"owner": ""
}
await queryClient.cosmos.nft.v1beta1.nFTs(params)
let params = {
"class_id": "",
"id": ""
}
await queryClient.cosmos.nft.v1beta1.owner(params)
let params = {
"class_id": ""
}
await queryClient.cosmos.nft.v1beta1.supply(params)
let params = {
"subspace": "",
"key": ""
}
await queryClient.cosmos.params.v1beta1.params(params)
let params = {}
await queryClient.cosmos.params.v1beta1.subspaces(params)
let params = {
"delegator_addr": "",
"validator_addr": ""
}
await queryClient.cosmos.staking.v1beta1.delegation(params)
let params = {
"delegator_addr": ""
}
await queryClient.cosmos.staking.v1beta1.delegatorDelegations(params)
let params = {
"delegator_addr": ""
}
await queryClient.cosmos.staking.v1beta1.delegatorUnbondingDelegations(params)
let params = {
"delegator_addr": "",
"validator_addr": ""
}
await queryClient.cosmos.staking.v1beta1.delegatorValidator(params)
let params = {
"delegator_addr": ""
}
await queryClient.cosmos.staking.v1beta1.delegatorValidators(params)
let params = {
"height": "0"
}
await queryClient.cosmos.staking.v1beta1.historicalInfo(params)
let params = {}
await queryClient.cosmos.staking.v1beta1.params(params)
let params = {}
await queryClient.cosmos.staking.v1beta1.pool(params)
let params = {
"delegator_addr": "",
"src_validator_addr": "",
"dst_validator_addr": ""
}
await queryClient.cosmos.staking.v1beta1.redelegations(params)
let params = {
"delegator_addr": "",
"validator_addr": ""
}
await queryClient.cosmos.staking.v1beta1.unbondingDelegation(params)
let params = {
"validator_addr": ""
}
await queryClient.cosmos.staking.v1beta1.validatorDelegations(params)
let params = {
"validator_addr": ""
}
await queryClient.cosmos.staking.v1beta1.validator(params)
let params = {
"validator_addr": ""
}
await queryClient.cosmos.staking.v1beta1.validatorUnbondingDelegations(params)
let params = {
"status": ""
}
await queryClient.cosmos.staking.v1beta1.validators(params)
let params = {
"name": ""
}
await queryClient.cosmos.upgrade.v1beta1.appliedPlan(params)
let params = {}
await queryClient.cosmos.upgrade.v1beta1.authority(params)
let params = {}
await queryClient.cosmos.upgrade.v1beta1.currentPlan(params)
let params = {
"module_name": ""
}
await queryClient.cosmos.upgrade.v1beta1.moduleVersions(params)
let params = {
"last_height": "0"
}
await queryClient.cosmos.upgrade.v1beta1.upgradedConsensusState(params)
let params = {
"owner": "",
"connection_id": ""
}
await queryClient.ibc.applications.interchain_accounts.controller.v1.interchainAccount(params)
let params = {}
await queryClient.ibc.applications.interchain_accounts.controller.v1.params(params)
let params = {}
await queryClient.ibc.applications.interchain_accounts.host.v1.params(params)
let params = {
"trace": ""
}
await queryClient.ibc.applications.transfer.v1.denomHash(params)
let params = {
"hash": ""
}
await queryClient.ibc.applications.transfer.v1.denomTrace(params)
let params = {}
await queryClient.ibc.applications.transfer.v1.denomTraces(params)
let params = {
"port_id": "",
"channel_id": ""
}
await queryClient.ibc.applications.transfer.v1.escrowAddress(params)
let params = {}
await queryClient.ibc.applications.transfer.v1.params(params)
let params = {
"denom": ""
}
await queryClient.ibc.applications.transfer.v1.totalEscrowForDenom(params)
let params = {
"port_id": "",
"channel_id": ""
}
await queryClient.ibc.core.channel.v1.channelClientState(params)
let params = {
"port_id": "",
"channel_id": "",
"revision_number": "0",
"revision_height": "0"
}
await queryClient.ibc.core.channel.v1.channelConsensusState(params)
let params = {
"port_id": "",
"channel_id": ""
}
await queryClient.ibc.core.channel.v1.channel(params)
let params = {}
await queryClient.ibc.core.channel.v1.channels(params)
let params = {
"connection": ""
}
await queryClient.ibc.core.channel.v1.connectionChannels(params)
let params = {
"port_id": "",
"channel_id": ""
}
await queryClient.ibc.core.channel.v1.nextSequenceReceive(params)
let params = {
"port_id": "",
"channel_id": ""
}
await queryClient.ibc.core.channel.v1.nextSequenceSend(params)
let params = {
"port_id": "",
"channel_id": "",
"sequence": "0"
}
await queryClient.ibc.core.channel.v1.packetAcknowledgement(params)
let params = {
"port_id": "",
"channel_id": "",
"sequence": "0"
}
await queryClient.ibc.core.channel.v1.packetCommitment(params)
let params = {
"port_id": "",
"channel_id": ""
}
await queryClient.ibc.core.channel.v1.packetCommitments(params)
let params = {
"port_id": "",
"channel_id": "",
"sequence": "0"
}
await queryClient.ibc.core.channel.v1.packetReceipt(params)
let params = {}
await queryClient.ibc.core.client.v1.clientParams(params)
let params = {
"client_id": ""
}
await queryClient.ibc.core.client.v1.clientState(params)
let params = {}
await queryClient.ibc.core.client.v1.clientStates(params)
let params = {
"client_id": ""
}
await queryClient.ibc.core.client.v1.clientStatus(params)
let params = {
"client_id": ""
}
await queryClient.ibc.core.client.v1.consensusStateHeights(params)
let params = {
"client_id": "",
"revision_number": "0",
"revision_height": "0",
"latest_height": false
}
await queryClient.ibc.core.client.v1.consensusState(params)
let params = {
"client_id": ""
}
await queryClient.ibc.core.client.v1.consensusStates(params)
let params = {}
await queryClient.ibc.core.client.v1.upgradedClientState(params)
let params = {}
await queryClient.ibc.core.client.v1.upgradedConsensusState(params)
let params = {
"client_id": ""
}
await queryClient.ibc.core.connection.v1.clientConnections(params)
let params = {
"connection_id": ""
}
await queryClient.ibc.core.connection.v1.connectionClientState(params)
let params = {
"connection_id": "",
"revision_number": "0",
"revision_height": "0"
}
await queryClient.ibc.core.connection.v1.connectionConsensusState(params)
let params = {}
await queryClient.ibc.core.connection.v1.connectionParams(params)
let params = {
"connection_id": ""
}
await queryClient.ibc.core.connection.v1.connection(params)
let params = {}
await queryClient.ibc.core.connection.v1.connections(params)
Source for generating the query examples
BigInt.prototype.toJSON = function() { return this.toString() }
var flatten = (function (isArray, wrapped) {
return function (table) {
return reduce("", [], table);
};
function reduce(path, accumulator, table) {
if (isArray(table)) {
} else {
var empty = true;
if (path) {
for (var property in table) {
var item = table[property], property = path + "." + property, empty = false;
if (wrapped(item) !== item) {} // accumulator[property] = item;
else reduce(property, accumulator, item);
}
} else {
for (var property in table) {
var item = table[property], empty = false;
if (wrapped(item) !== item) {} //accumulator[property] = item;
else reduce(property, accumulator, item);
}
}
if (empty && path.endsWith("Request") && path.includes("Query")) accumulator.push(path);
}
return accumulator;
}
}(Array.isArray, Object));
requestStrings = flatten(JSON.parse(JSON.stringify(blitjs)))
function generateQueryCode(queryRequestStrings) {
let outputString = '';
for (let i = 0; i < queryRequestStrings.length; i++) {
let requestString = queryRequestStrings[i];
let requestTypeUrl = "/" + requestString.replace('Query', 'Query/').replace('Request', '');;
let parts = requestString.split('.');
let namespace = parts.slice(0, -1).join('.');
let requestClass = parts.slice(-1)[0];
let methodName = requestClass.replace('Query', '').replace('Request', '')
methodName = methodName[0].toLowerCase() + methodName.slice(1)
// Ensure the methodName resulted in a non-empty string to avoid erroneous method calls
if (!methodName) {
console.error(`Unable to derive method name from request string: ${requestString}`);
continue; // Skip to next iteration
}
let queryData = eval(`JSON.stringify(blitjs.${requestString}.fromPartial({}), null, 2)`);
let methodCallStatement = `await queryClient.${namespace}.${methodName}(params)`;
outputString += `
## ${requestTypeUrl}
\`\`\`js
let params = ${queryData}
${methodCallStatement}
\`\`\`
`;
}
return outputString;
}
resultString = generateQueryCode(requestStrings);
console.log(resultString);
This project is licensed under the MIT License.