From 4ed7d04029166a329f5ec365e1272643c84dd971 Mon Sep 17 00:00:00 2001 From: "Jinseong.Cho" Date: Fri, 28 Oct 2022 12:05:33 +0900 Subject: [PATCH] support new foundation module (#44) * test:add test code for foundation query * feat:add amino messages for lbm * chore: add changelog * chore: change version of lbmjs-types and finschia * chore: setup new genesis and simapp image * fix: fix wrong path to match module * fix: add module name as prefix for overlapped meg * chore: add omitted amino types --- .pnp.cjs | 10 +- ...s-npm-0.46.0-rc8-b4d5876543-01d37472a6.zip | 3 - ...s-npm-0.46.0-rc9-e9d630f42f-809231c30e.zip | 3 + CHANGELOG.md | 2 +- packages/finschia/package.json | 6 +- .../src/modules/collection/aminomessages.ts | 983 ++++++++++++++++++ .../src/modules/foundation/aminomessages.ts | 551 ++++++++++ .../src/modules/foundation/messages.ts | 28 +- .../src/modules/foundation/queries.spec.ts | 411 ++++++-- .../src/modules/foundation/queries.ts | 11 + .../src/modules/token/aminomessages.ts | 472 +++++++++ .../src/modules/wasmplus/aminomessages.ts | 66 ++ .../finschia/src/signingfinschiaclient.ts | 6 + scripts/simapp/env | 2 +- .../simapp/template/.simapp/config/app.toml | 15 +- .../template/.simapp/config/genesis.json | 61 +- ...63e9c7153b4921d6c1abbb046e0398c3f5a5a.json | 1 - ...efe4de6e99eb1ed6e797cb6e2f5b508dee33b.json | 1 + .../template/.simapp/config/node_key.json | 2 +- .../.simapp/config/priv_validator_key.json | 6 +- ...7814c74f863bea49b433e51676bfd99bc1.address | 2 +- ...597f29240eafb883bee64e1420895e5259.address | 2 +- ...f24a3cda1bd2b6acdc7c0ddc3dcb83eef1.address | 2 +- ...491fc242b9f95d31af087c243e43a703ce.address | 2 +- .../.simapp/keyring-test/account0.info | 2 +- .../.simapp/keyring-test/account1.info | 2 +- .../.simapp/keyring-test/account2.info | 2 +- .../.simapp/keyring-test/account3.info | 2 +- .../.simapp/keyring-test/account4.info | 2 +- .../.simapp/keyring-test/account5.info | 2 +- .../.simapp/keyring-test/account6.info | 2 +- .../.simapp/keyring-test/account7.info | 2 +- .../.simapp/keyring-test/account8.info | 2 +- ...daad146da2d167f55ec00a5360dd013b7a.address | 2 +- ...931b591a0ad2c6c1f2c9ac094643d41119.address | 2 +- ...c78e25fa1eda888ff207f5823d2cf06a58.address | 2 +- ...9a45654ecb1d575eb77037f72b81631f33.address | 2 +- ...33fc2858fbe68b38189596993b73fba5f4.address | 2 +- ...7c0cd770b0696c101db34a7c88c9e60ea3.address | 2 +- ...34556bb1390b9b96fd73949275314773e7.address | 2 +- .../.simapp/keyring-test/multisig0.info | 2 +- .../.simapp/keyring-test/validator0.info | 2 +- scripts/simapp/template/setup.sh | 2 +- yarn.lock | 10 +- 44 files changed, 2528 insertions(+), 168 deletions(-) delete mode 100644 .yarn/cache/lbmjs-types-npm-0.46.0-rc8-b4d5876543-01d37472a6.zip create mode 100644 .yarn/cache/lbmjs-types-npm-0.46.0-rc9-e9d630f42f-809231c30e.zip create mode 100644 packages/finschia/src/modules/collection/aminomessages.ts create mode 100644 packages/finschia/src/modules/foundation/aminomessages.ts create mode 100644 packages/finschia/src/modules/token/aminomessages.ts create mode 100644 packages/finschia/src/modules/wasmplus/aminomessages.ts delete mode 100644 scripts/simapp/template/.simapp/config/gentx/gentx-75e63e9c7153b4921d6c1abbb046e0398c3f5a5a.json create mode 100644 scripts/simapp/template/.simapp/config/gentx/gentx-7e7efe4de6e99eb1ed6e797cb6e2f5b508dee33b.json diff --git a/.pnp.cjs b/.pnp.cjs index 56607671..e6e06b59 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -1632,7 +1632,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], [ "lbmjs-types", - "npm:0.46.0-rc8" + "npm:0.46.0-rc9" ], [ "levn", @@ -3255,7 +3255,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["karma-jasmine-html-reporter", "virtual:7b7a30ab09c232808f75d8deefc2be1f787c4d994bf0447ebbc0120f713df9b186b49db25d8d4a325f09a8c21d3026240b3241d151187e257eff7792b66c65e7#npm:1.7.0"], ["karma-spec-reporter", "virtual:7b7a30ab09c232808f75d8deefc2be1f787c4d994bf0447ebbc0120f713df9b186b49db25d8d4a325f09a8c21d3026240b3241d151187e257eff7792b66c65e7#npm:0.0.33"], ["karma-typescript", "virtual:7b7a30ab09c232808f75d8deefc2be1f787c4d994bf0447ebbc0120f713df9b186b49db25d8d4a325f09a8c21d3026240b3241d151187e257eff7792b66c65e7#npm:5.5.3"], - ["lbmjs-types", "npm:0.46.0-rc8"], + ["lbmjs-types", "npm:0.46.0-rc9"], ["long", "npm:4.0.0"], ["nyc", "npm:15.1.0"], ["pako", "npm:2.0.4"], @@ -7754,10 +7754,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["lbmjs-types", [ - ["npm:0.46.0-rc8", { - "packageLocation": "./.yarn/cache/lbmjs-types-npm-0.46.0-rc8-b4d5876543-01d37472a6.zip/node_modules/lbmjs-types/", + ["npm:0.46.0-rc9", { + "packageLocation": "./.yarn/cache/lbmjs-types-npm-0.46.0-rc9-e9d630f42f-809231c30e.zip/node_modules/lbmjs-types/", "packageDependencies": [ - ["lbmjs-types", "npm:0.46.0-rc8"], + ["lbmjs-types", "npm:0.46.0-rc9"], ["long", "npm:4.0.0"], ["protobufjs", "npm:6.11.2"] ], diff --git a/.yarn/cache/lbmjs-types-npm-0.46.0-rc8-b4d5876543-01d37472a6.zip b/.yarn/cache/lbmjs-types-npm-0.46.0-rc8-b4d5876543-01d37472a6.zip deleted file mode 100644 index 1d54979a..00000000 --- a/.yarn/cache/lbmjs-types-npm-0.46.0-rc8-b4d5876543-01d37472a6.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4c29d44f7fa8918e36bed8164874ceb9828c1c5cadc9e947693411fa1dd8f73b -size 1260236 diff --git a/.yarn/cache/lbmjs-types-npm-0.46.0-rc9-e9d630f42f-809231c30e.zip b/.yarn/cache/lbmjs-types-npm-0.46.0-rc9-e9d630f42f-809231c30e.zip new file mode 100644 index 00000000..5057e972 --- /dev/null +++ b/.yarn/cache/lbmjs-types-npm-0.46.0-rc9-e9d630f42f-809231c30e.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a20a4988a3557656bb9fd3300cfc41a2b61038e2eaf2755c573c11050c7e5d1d +size 1312680 diff --git a/CHANGELOG.md b/CHANGELOG.md index c244222f..62c4d634 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ and this project adheres to ## [Unreleased] ### Added - +- [\#44](https://github.com/line/lbmjs/pull/44) @lbmjs/finshia: Add amino messages to lbm specific modules, support changed foundation module ### Changed ### Deprecated diff --git a/packages/finschia/package.json b/packages/finschia/package.json index 162e1cf6..b4002938 100644 --- a/packages/finschia/package.json +++ b/packages/finschia/package.json @@ -1,7 +1,7 @@ { "name": "@lbmjs/finschia", - "version": "0.4.0", - "description": "Utilities for LBM SDK 0.46.0-rc8", + "version": "0.7.0", + "description": "Utilities for LBM SDK 0.46.0-rc9", "contributors": [ "zemyblue ", "loin3 <55660267+loin3@users.noreply.github.com>" @@ -44,7 +44,7 @@ "@cosmjs/tendermint-rpc": "^0.29.0", "@cosmjs/utils": "^0.29.0", "cosmjs-types": "^0.5.1", - "lbmjs-types": "^0.46.0-rc8", + "lbmjs-types": "^0.46.0-rc9", "long": "^4.0.0", "pako": "^2.0.2", "protobufjs": "~6.10.2", diff --git a/packages/finschia/src/modules/collection/aminomessages.ts b/packages/finschia/src/modules/collection/aminomessages.ts new file mode 100644 index 00000000..6af8edd0 --- /dev/null +++ b/packages/finschia/src/modules/collection/aminomessages.ts @@ -0,0 +1,983 @@ +import { AminoMsg } from "@cosmjs/amino"; +import { AminoConverters } from "@cosmjs/stargate"; +import { Change, Coin } from "lbmjs-types/lbm/collection/v1/collection"; +import { + MintNFTParam, + MsgApprove, + MsgAttach, + MsgAttachFrom, + MsgBurnFT, + MsgBurnFTFrom, + MsgBurnNFT, + MsgBurnNFTFrom, + MsgCreateContract, + MsgDetach, + MsgDetachFrom, + MsgDisapprove, + MsgGrantPermission, + MsgIssueFT, + MsgIssueNFT, + MsgMintFT, + MsgMintNFT, + MsgModify, + MsgRevokePermission, + MsgTransferFT, + MsgTransferFTFrom, + MsgTransferNFT, + MsgTransferNFTFrom, +} from "lbmjs-types/lbm/collection/v1/tx"; + +export interface AminoMsgTransferFT extends AminoMsg { + readonly type: "lbm-sdk/MsgTransferFT"; + readonly value: { + /** contract id associated with the contract. */ + readonly contractId: string; + /** the address which the transfer is from. */ + readonly from: string; + /** the address which the transfer is to. */ + readonly to: string; + /** + * the amount of the transfer. + * Note: amount may be empty. + */ + readonly amount: Coin[]; + }; +} + +export function isAminoMsgTransferFT(msg: AminoMsg): msg is AminoMsgTransferFT { + return msg.type === "lbm-sdk/MsgTransferFT"; +} + +export interface AminoMsgTransferFTFrom extends AminoMsg { + readonly type: "lbm-sdk/MsgTransferFTFrom"; + readonly value: { + /** contract id associated with the contract. */ + readonly contractId: string; + /** the address of the proxy. */ + readonly proxy: string; + /** the address which the transfer is from. */ + readonly from: string; + /** the address which the transfer is to. */ + readonly to: string; + /** + * the amount of the transfer. + * Note: amount may be empty. + */ + readonly amount: Coin[]; + }; +} + +export function isAminoMsgTransferFTFrom(msg: AminoMsg): msg is AminoMsgTransferFTFrom { + return msg.type === "lbm-sdk/MsgTransferFTFrom"; +} + +export interface AminoMsgTransferNFT extends AminoMsg { + readonly type: "lbm-sdk/MsgTransferNFT"; + readonly value: { + /** contract id associated with the contract. */ + readonly contractId: string; + /** the address which the transfer is from. */ + readonly from: string; + /** the address which the transfer is to. */ + readonly to: string; + /** the token ids to transfer. */ + readonly tokenIds: string[]; + }; +} + +export function isAminoMsgTransferNFT(msg: AminoMsg): msg is AminoMsgTransferNFT { + return msg.type === "lbm-sdk/MsgTransferNFT"; +} + +export interface AminoMsgTransferNFTFrom extends AminoMsg { + readonly type: "lbm-sdk/MsgTransferNFTFrom"; + readonly value: { + /** contract id associated with the contract. */ + readonly contractId: string; + /** the address of the proxy. */ + readonly proxy: string; + /** the address which the transfer is from. */ + readonly from: string; + /** the address which the transfer is to. */ + readonly to: string; + /** the token ids to transfer. */ + readonly tokenIds: string[]; + }; +} + +export function isAminoMsgTransferNFTFrom(msg: AminoMsg): msg is AminoMsgTransferNFTFrom { + return msg.type === "lbm-sdk/MsgTransferNFTFrom"; +} + +export interface AminoMsgApprove extends AminoMsg { + readonly type: "lbm-sdk/collection/MsgApprove"; + readonly value: { + /** contract id associated with the contract. */ + readonly contractId: string; + /** address of the approver who allows the manipulation of its token. */ + readonly approver: string; + /** address which the manipulation is allowed to. */ + readonly proxy: string; + }; +} + +export function isAminoMsgApprove(msg: AminoMsg): msg is AminoMsgApprove { + return msg.type === "lbm-sdk/collection/MsgApprove"; +} + +export interface AminoMsgDisapprove extends AminoMsg { + readonly type: "lbm-sdk/MsgDisapprove"; + readonly value: { + /** contract id associated with the contract. */ + readonly contractId: string; + /** address of the approver who allows the manipulation of its token. */ + readonly approver: string; + /** address which the manipulation is allowed to. */ + readonly proxy: string; + }; +} + +export function isAminoMsgDisapprove(msg: AminoMsg): msg is AminoMsgDisapprove { + return msg.type === "lbm-sdk/MsgDisapprove"; +} + +export interface AminoMsgCreateContract extends AminoMsg { + readonly type: "lbm-sdk/MsgCreateContract"; + readonly value: { + /** address which all the permissions on the contract will be granted to (not a permanent property). */ + readonly owner: string; + /** name defines the human-readable name of the contract. */ + readonly name: string; + /** base img uri is an uri for the contract image stored off chain. */ + readonly baseImgUri: string; + /** meta is a brief description of the contract. */ + readonly meta: string; + }; +} + +export function isAminoMsgCreateContract(msg: AminoMsg): msg is AminoMsgCreateContract { + return msg.type === "lbm-sdk/MsgCreateContract"; +} + +export interface AminoMsgIssueFT extends AminoMsg { + readonly type: "lbm-sdk/MsgIssueFT"; + readonly value: { + /** contract id associated with the contract. */ + readonly contractId: string; + /** name defines the human-readable name of the token type. */ + readonly name: string; + /** meta is a brief description of the token type. */ + readonly meta: string; + /** decimals is the number of decimals which one must divide the amount by to get its user representation. */ + readonly decimals: number; + /** mintable represents whether the token is allowed to be minted or burnt. */ + readonly mintable: boolean; + /** the address of the grantee which must have the permission to issue a token. */ + readonly owner: string; + /** the address to send the minted tokens to. mandatory. */ + readonly to: string; + /** + * the amount of tokens to mint on the issuance. + * Note: if you provide negative amount, a panic may result. + * Note: amount may be zero. + */ + readonly amount: string; + }; +} + +export function isAminoMsgIssueFT(msg: AminoMsg): msg is AminoMsgIssueFT { + return msg.type === "lbm-sdk/MsgIssueFT"; +} + +export interface AminoMsgIssueNFT extends AminoMsg { + readonly type: "lbm-sdk/MsgIssueNFT"; + readonly value: { + /** contract id associated with the contract. */ + readonly contractId: string; + /** name defines the human-readable name of the token type. */ + readonly name: string; + /** meta is a brief description of the token type. */ + readonly meta: string; + /** the address of the grantee which must have the permission to issue a token. */ + readonly owner: string; + }; +} + +export function isAminoMsgIssueNFT(msg: AminoMsg): msg is AminoMsgIssueNFT { + return msg.type === "lbm-sdk/MsgIssueNFT"; +} + +export interface AminoMsgMintFT extends AminoMsg { + readonly type: "lbm-sdk/MsgIssueNFT"; + readonly value: { + /** contract id associated with the contract. */ + readonly contractId: string; + /** address of the grantee which has the permission for the mint. */ + readonly from: string; + /** address which the minted tokens will be sent to. */ + readonly to: string; + /** + * the amount of the mint. + * Note: amount may be empty. + */ + readonly amount: Coin[]; + }; +} + +export function isAminoMsgMintFT(msg: AminoMsg): msg is AminoMsgMintFT { + return msg.type === "lbm-sdk/MsgMintFT"; +} + +export interface AminoMsgMintNFT extends AminoMsg { + readonly type: "lbm-sdk/MsgMintNFT"; + readonly value: { + /** contract id associated with the contract. */ + readonly contractId: string; + /** address of the grantee which has the permission for the mint. */ + readonly from: string; + /** address which the minted token will be sent to. */ + readonly to: string; + /** parameters for the minted tokens. */ + readonly params: MintNFTParam[]; + }; +} + +export function isAminoMsgMintNFT(msg: AminoMsg): msg is AminoMsgMintNFT { + return msg.type === "lbm-sdk/MsgMintNFT"; +} + +export interface AminoMsgBurnFT extends AminoMsg { + readonly type: "lbm-sdk/MsgBurnFT"; + readonly value: { + /** contract id associated with the contract. */ + readonly contractId: string; + /** + * address which the tokens will be burnt from. + * Note: it must have the permission for the burn. + */ + readonly from: string; + /** + * the amount of the burn. + * Note: amount may be empty. + */ + readonly amount: Coin[]; + }; +} + +export function isAminoMsgBurnFT(msg: AminoMsg): msg is AminoMsgBurnFT { + return msg.type === "lbm-sdk/MsgBurnFT"; +} + +export interface AminoMsgBurnFTFrom extends AminoMsg { + readonly type: "lbm-sdk/MsgBurnFTFrom"; + readonly value: { + /** contract id associated with the contract. */ + readonly contractId: string; + /** + * address which triggers the burn. + * Note: it must have the permission for the burn. + * Note: it must have been authorized by from. + */ + readonly proxy: string; + /** address which the tokens will be burnt from. */ + readonly from: string; + /** + * the amount of the burn. + * Note: amount may be empty. + */ + readonly amount: Coin[]; + }; +} + +export function isAminoMsgBurnFTFrom(msg: AminoMsg): msg is AminoMsgBurnFTFrom { + return msg.type === "lbm-sdk/MsgBurnFTFrom"; +} + +export interface AminoMsgBurnNFT extends AminoMsg { + readonly type: "lbm-sdk/MsgBurnNFT"; + readonly value: { + /** contract id associated with the contract. */ + readonly contractId: string; + /** + * address which the tokens will be burnt from. + * Note: it must have the permission for the burn. + */ + readonly from: string; + /** + * the token ids to burn. + * Note: id cannot start with zero. + */ + readonly tokenIds: string[]; + }; +} + +export function isAminoMsgBurnNFT(msg: AminoMsg): msg is AminoMsgBurnNFT { + return msg.type === "lbm-sdk/MsgBurnNFT"; +} + +export interface AminoMsgBurnNFTFrom extends AminoMsg { + readonly type: "lbm-sdk/MsgBurnNFTFrom"; + readonly value: { + /** contract id associated with the contract. */ + readonly contractId: string; + /** + * address which triggers the burn. + * Note: it must have the permission for the burn. + * Note: it must have been authorized by from. + */ + readonly proxy: string; + /** address which the tokens will be burnt from. */ + readonly from: string; + /** + * the token ids to burn. + * Note: id cannot start with zero. + */ + readonly tokenIds: string[]; + }; +} + +export function isAminoMsgBurnNFTFrom(msg: AminoMsg): msg is AminoMsgBurnNFTFrom { + return msg.type === "lbm-sdk/MsgBurnNFTFrom"; +} + +export interface AminoMsgModify extends AminoMsg { + readonly type: "lbm-sdk/collection/MsgModify"; + readonly value: { + /** contract id associated with the contract. */ + readonly contractId: string; + /** the address of the grantee which must have modify permission. */ + readonly owner: string; + /** token type of the token. */ + readonly tokenType: string; + /** + * token index of the token. + * if index is empty, it would modify the corresponding token type. + * if index is not empty, it would modify the corresponding nft. + * Note: if token type is of FTs, the index cannot be empty. + */ + readonly tokenIndex: string; + /** + * changes to apply. + * on modifying collection: name, base_img_uri, meta. + * on modifying token type and token: name, meta. + */ + readonly changes: Change[]; + }; +} + +export function isAminoMsgModify(msg: AminoMsg): msg is AminoMsgModify { + return msg.type === "lbm-sdk/collection/MsgModify"; +} + +export interface AminoMsgGrantPermission extends AminoMsg { + readonly type: "lbm-sdk/collection/MsgGrantPermission"; + readonly value: { + /** contract id associated with the contract. */ + readonly contractId: string; + /** address of the granter which must have the permission to give. */ + readonly from: string; + /** address of the grantee. */ + readonly to: string; + /** permission on the contract. */ + readonly permission: string; + }; +} + +export function isAminoMsgGrantPermission(msg: AminoMsg): msg is AminoMsgGrantPermission { + return msg.type === "lbm-sdk/collection/MsgGrantPermission"; +} + +export interface AminoMsgRevokePermission extends AminoMsg { + readonly type: "lbm-sdk/collection/MsgRevokePermission"; + readonly value: { + /** contract id associated with the contract. */ + readonly contractId: string; + /** address of the grantee which abandons the permission. */ + readonly from: string; + /** permission on the contract. */ + readonly permission: string; + }; +} + +export function isAminoMsgRevokePermission(msg: AminoMsg): msg is AminoMsgRevokePermission { + return msg.type === "lbm-sdk/collection/MsgRevokePermission"; +} + +export interface AminoMsgAttach extends AminoMsg { + readonly type: "lbm-sdk/MsgAttach"; + readonly value: { + /** contract id associated with the contract. */ + readonly contractId: string; + /** address of the owner of the token. */ + readonly from: string; + /** token id of the token to attach. */ + readonly tokenId: string; + /** to token id which one attachs the token to. */ + readonly toTokenId: string; + }; +} + +export function isAminoMsgAttach(msg: AminoMsg): msg is AminoMsgAttach { + return msg.type === "lbm-sdk/MsgAttach"; +} + +export interface AminoMsgDetach extends AminoMsg { + readonly type: "lbm-sdk/MsgDetach"; + readonly value: { + /** contract id associated with the contract. */ + readonly contractId: string; + /** address of the owner of the token. */ + readonly from: string; + /** token id of the token to detach. */ + readonly tokenId: string; + }; +} + +export function isAminoMsgDetach(msg: AminoMsg): msg is AminoMsgDetach { + return msg.type === "lbm-sdk/MsgDetach"; +} + +export interface AminoMsgAttachFrom extends AminoMsg { + readonly type: "lbm-sdk/MsgAttachFrom"; + readonly value: { + /** contract id associated with the contract. */ + readonly contractId: string; + /** address of the proxy. */ + readonly proxy: string; + /** address of the owner of the token. */ + readonly from: string; + /** token id of the token to attach. */ + readonly tokenId: string; + /** to token id which one attachs the token to. */ + readonly toTokenId: string; + }; +} + +export function isAminoMsgAttachFrom(msg: AminoMsg): msg is AminoMsgAttachFrom { + return msg.type === "lbm-sdk/MsgAttachFrom"; +} + +export interface AminoMsgDetachFrom extends AminoMsg { + readonly type: "lbm-sdk/MsgDetachFrom"; + readonly value: { + /** contract id associated with the contract. */ + readonly contractId: string; + /** address of the proxy. */ + readonly proxy: string; + /** address of the owner of the token. */ + readonly from: string; + /** token id of the token to detach. */ + readonly tokenId: string; + }; +} + +export function isAminoMsgDetachFrom(msg: AminoMsg): msg is AminoMsgDetachFrom { + return msg.type === "lbm-sdk/MsgDetachFrom"; +} + +export function createCollectionAminoConverters(): AminoConverters { + return { + "/lbm.collection.v1.MsgTransferFT": { + aminoType: "lbm-sdk/MsgTransferFT", + toAmino: ({ contractId, from, to, amount }: MsgTransferFT): AminoMsgTransferFT["value"] => { + return { + contractId: contractId, + from: from, + to: to, + amount: amount, + }; + }, + fromAmino: ({ contractId, from, to, amount }: AminoMsgTransferFT["value"]): MsgTransferFT => { + return { + contractId: contractId, + from: from, + to: to, + amount: amount, + }; + }, + }, + "/lbm.collection.v1.MsgTransferFTFrom": { + aminoType: "lbm-sdk/MsgTransferFTFrom", + toAmino: ({ + contractId, + proxy, + from, + to, + amount, + }: MsgTransferFTFrom): AminoMsgTransferFTFrom["value"] => { + return { + contractId: contractId, + proxy: proxy, + from: from, + to: to, + amount: amount, + }; + }, + fromAmino: ({ + contractId, + proxy, + from, + to, + amount, + }: AminoMsgTransferFTFrom["value"]): MsgTransferFTFrom => { + return { + contractId: contractId, + proxy: proxy, + from: from, + to: to, + amount: amount, + }; + }, + }, + "/lbm.collection.v1.MsgTransferNFT": { + aminoType: "lbm-sdk/MsgTransferNFT", + toAmino: ({ contractId, from, to, tokenIds }: MsgTransferNFT): AminoMsgTransferNFT["value"] => { + return { + contractId: contractId, + from: from, + to: to, + tokenIds: tokenIds, + }; + }, + fromAmino: ({ contractId, from, to, tokenIds }: AminoMsgTransferNFT["value"]): MsgTransferNFT => { + return { + contractId: contractId, + from: from, + to: to, + tokenIds: tokenIds, + }; + }, + }, + "/lbm.collection.v1.MsgTransferNFTFrom": { + aminoType: "lbm-sdk/MsgTransferNFTFrom", + toAmino: ({ + contractId, + proxy, + from, + to, + tokenIds, + }: MsgTransferNFTFrom): AminoMsgTransferNFTFrom["value"] => { + return { + contractId: contractId, + proxy: proxy, + from: from, + to: to, + tokenIds: tokenIds, + }; + }, + fromAmino: ({ + contractId, + proxy, + from, + to, + tokenIds, + }: AminoMsgTransferNFTFrom["value"]): MsgTransferNFTFrom => { + return { + contractId: contractId, + proxy: proxy, + from: from, + to: to, + tokenIds: tokenIds, + }; + }, + }, + "/lbm.collection.v1.MsgApprove": { + aminoType: "lbm-sdk/collection/MsgApprove", + toAmino: ({ contractId, approver, proxy }: MsgApprove): AminoMsgApprove["value"] => { + return { + contractId: contractId, + approver: approver, + proxy: proxy, + }; + }, + fromAmino: ({ contractId, approver, proxy }: AminoMsgApprove["value"]): MsgApprove => { + return { + contractId: contractId, + approver: approver, + proxy: proxy, + }; + }, + }, + "/lbm.collection.v1.MsgDisapprove": { + aminoType: "lbm-sdk/MsgDisapprove", + toAmino: ({ contractId, approver, proxy }: MsgDisapprove): AminoMsgDisapprove["value"] => { + return { + contractId: contractId, + approver: approver, + proxy: proxy, + }; + }, + fromAmino: ({ contractId, approver, proxy }: AminoMsgDisapprove["value"]): MsgDisapprove => { + return { + contractId: contractId, + approver: approver, + proxy: proxy, + }; + }, + }, + "/lbm.collection.v1.MsgCreateContract": { + aminoType: "lbm-sdk/MsgCreateContract", + toAmino: ({ owner, name, baseImgUri, meta }: MsgCreateContract): AminoMsgCreateContract["value"] => { + return { + owner: owner, + name: name, + baseImgUri: baseImgUri, + meta: meta, + }; + }, + fromAmino: ({ owner, name, baseImgUri, meta }: AminoMsgCreateContract["value"]): MsgCreateContract => { + return { + owner: owner, + name: name, + baseImgUri: baseImgUri, + meta: meta, + }; + }, + }, + "/lbm.collection.v1.MsgIssueFT": { + aminoType: "lbm-sdk/MsgIssueFT", + toAmino: ({ + contractId, + name, + meta, + decimals, + mintable, + owner, + to, + amount, + }: MsgIssueFT): AminoMsgIssueFT["value"] => { + return { + contractId: contractId, + name: name, + meta: meta, + decimals: decimals, + mintable: mintable, + owner: owner, + to: to, + amount: amount, + }; + }, + fromAmino: ({ + contractId, + name, + meta, + decimals, + mintable, + owner, + to, + amount, + }: AminoMsgIssueFT["value"]): MsgIssueFT => { + return { + contractId: contractId, + name: name, + meta: meta, + decimals: decimals, + mintable: mintable, + owner: owner, + to: to, + amount: amount, + }; + }, + }, + "/lbm.collection.v1.MsgIssueNFT": { + aminoType: "lbm-sdk/MsgIssueNFT", + toAmino: ({ contractId, name, meta, owner }: MsgIssueNFT): AminoMsgIssueNFT["value"] => { + return { + contractId: contractId, + name: name, + meta: meta, + owner: owner, + }; + }, + fromAmino: ({ contractId, name, meta, owner }: AminoMsgIssueNFT["value"]): MsgIssueNFT => { + return { + contractId: contractId, + name: name, + meta: meta, + owner: owner, + }; + }, + }, + "/lbm.collection.v1.MsgMintFT": { + aminoType: "lbm-sdk/MsgMintFT", + toAmino: ({ contractId, from, to, amount }: MsgMintFT): AminoMsgMintFT["value"] => { + return { + contractId: contractId, + from: from, + to: to, + amount: amount, + }; + }, + fromAmino: ({ contractId, from, to, amount }: AminoMsgMintFT["value"]): MsgMintFT => { + return { + contractId: contractId, + from: from, + to: to, + amount: amount, + }; + }, + }, + "/lbm.collection.v1.MsgMintNFT": { + aminoType: "lbm-sdk/MsgMintNFT", + toAmino: ({ contractId, from, to, params }: MsgMintNFT): AminoMsgMintNFT["value"] => { + return { + contractId: contractId, + from: from, + to: to, + params: params, + }; + }, + fromAmino: ({ contractId, from, to, params }: AminoMsgMintNFT["value"]): MsgMintNFT => { + return { + contractId: contractId, + from: from, + to: to, + params: params, + }; + }, + }, + "/lbm.collection.v1.MsgBurnFT": { + aminoType: "lbm-sdk/MsgBurnFT", + toAmino: ({ contractId, from, amount }: MsgBurnFT): AminoMsgBurnFT["value"] => { + return { + contractId: contractId, + from: from, + amount: amount, + }; + }, + fromAmino: ({ contractId, from, amount }: AminoMsgBurnFT["value"]): MsgBurnFT => { + return { + contractId: contractId, + from: from, + amount: amount, + }; + }, + }, + "/lbm.collection.v1.MsgBurnFTFrom": { + aminoType: "lbm-sdk/MsgBurnFTFrom", + toAmino: ({ contractId, proxy, from, amount }: MsgBurnFTFrom): AminoMsgBurnFTFrom["value"] => { + return { + contractId: contractId, + proxy: proxy, + from: from, + amount: amount, + }; + }, + fromAmino: ({ contractId, proxy, from, amount }: AminoMsgBurnFTFrom["value"]): MsgBurnFTFrom => { + return { + contractId: contractId, + proxy: proxy, + from: from, + amount: amount, + }; + }, + }, + "/lbm.collection.v1.MsgBurnNFT": { + aminoType: "lbm-sdk/MsgBurnNFT", + toAmino: ({ contractId, from, tokenIds }: MsgBurnNFT): AminoMsgBurnNFT["value"] => { + return { + contractId: contractId, + from: from, + tokenIds: tokenIds, + }; + }, + fromAmino: ({ contractId, from, tokenIds }: AminoMsgBurnNFT["value"]): MsgBurnNFT => { + return { + contractId: contractId, + from: from, + tokenIds: tokenIds, + }; + }, + }, + "/lbm.collection.v1.MsgBurnNFTFrom": { + aminoType: "lbm-sdk/MsgBurnNFTFrom", + toAmino: ({ contractId, proxy, from, tokenIds }: MsgBurnNFTFrom): AminoMsgBurnNFTFrom["value"] => { + return { + contractId: contractId, + proxy: proxy, + from: from, + tokenIds: tokenIds, + }; + }, + fromAmino: ({ contractId, proxy, from, tokenIds }: AminoMsgBurnNFTFrom["value"]): MsgBurnNFTFrom => { + return { + contractId: contractId, + proxy: proxy, + from: from, + tokenIds: tokenIds, + }; + }, + }, + "/lbm.collection.v1.MsgModify": { + aminoType: "lbm-sdk/collection/MsgModify", + toAmino: ({ + contractId, + owner, + tokenType, + tokenIndex, + changes, + }: MsgModify): AminoMsgModify["value"] => { + return { + contractId: contractId, + owner: owner, + tokenType: tokenType, + tokenIndex: tokenIndex, + changes: changes, + }; + }, + fromAmino: ({ + contractId, + owner, + tokenType, + tokenIndex, + changes, + }: AminoMsgModify["value"]): MsgModify => { + return { + contractId: contractId, + owner: owner, + tokenType: tokenType, + tokenIndex: tokenIndex, + changes: changes, + }; + }, + }, + "/lbm.collection.v1.MsgGrantPermission": { + aminoType: "lbm-sdk/collection/MsgGrantPermission", + toAmino: ({ + contractId, + from, + to, + permission, + }: MsgGrantPermission): AminoMsgGrantPermission["value"] => { + return { + contractId: contractId, + from: from, + to: to, + permission: permission, + }; + }, + fromAmino: ({ + contractId, + from, + to, + permission, + }: AminoMsgGrantPermission["value"]): MsgGrantPermission => { + return { + contractId: contractId, + from: from, + to: to, + permission: permission, + }; + }, + }, + "/lbm.collection.v1.MsgRevokePermission": { + aminoType: "lbm-sdk/collection/MsgRevokePermission", + toAmino: ({ contractId, from, permission }: MsgRevokePermission): AminoMsgRevokePermission["value"] => { + return { + contractId: contractId, + from: from, + permission: permission, + }; + }, + fromAmino: ({ + contractId, + from, + permission, + }: AminoMsgRevokePermission["value"]): MsgRevokePermission => { + return { + contractId: contractId, + from: from, + permission: permission, + }; + }, + }, + "/lbm.collection.v1.MsgAttach": { + aminoType: "lbm-sdk/MsgAttach", + toAmino: ({ contractId, from, tokenId, toTokenId }: MsgAttach): AminoMsgAttach["value"] => { + return { + contractId: contractId, + from: from, + tokenId: tokenId, + toTokenId: toTokenId, + }; + }, + fromAmino: ({ contractId, from, tokenId, toTokenId }: AminoMsgAttach["value"]): MsgAttach => { + return { + contractId: contractId, + from: from, + tokenId: tokenId, + toTokenId: toTokenId, + }; + }, + }, + "/lbm.collection.v1.MsgDetach": { + aminoType: "lbm-sdk/MsgDetach", + toAmino: ({ contractId, from, tokenId }: MsgDetach): AminoMsgDetach["value"] => { + return { + contractId: contractId, + from: from, + tokenId: tokenId, + }; + }, + fromAmino: ({ contractId, from, tokenId }: AminoMsgDetach["value"]): MsgDetach => { + return { + contractId: contractId, + from: from, + tokenId: tokenId, + }; + }, + }, + "/lbm.collection.v1.MsgAttachFrom": { + aminoType: "lbm-sdk/MsgAttachFrom", + toAmino: ({ + contractId, + proxy, + from, + tokenId, + toTokenId, + }: MsgAttachFrom): AminoMsgAttachFrom["value"] => { + return { + contractId: contractId, + proxy: proxy, + from: from, + tokenId: tokenId, + toTokenId: toTokenId, + }; + }, + fromAmino: ({ + contractId, + proxy, + from, + tokenId, + toTokenId, + }: AminoMsgAttachFrom["value"]): MsgAttachFrom => { + return { + contractId: contractId, + proxy: proxy, + from: from, + tokenId: tokenId, + toTokenId: toTokenId, + }; + }, + }, + "/lbm.collection.v1.MsgDetachFrom": { + aminoType: "lbm-sdk/MsgDetachFrom", + toAmino: ({ contractId, proxy, from, tokenId }: MsgDetachFrom): AminoMsgDetachFrom["value"] => { + return { + contractId: contractId, + proxy: proxy, + from: from, + tokenId: tokenId, + }; + }, + fromAmino: ({ contractId, proxy, from, tokenId }: AminoMsgDetachFrom["value"]): MsgDetachFrom => { + return { + contractId: contractId, + proxy: proxy, + from: from, + tokenId: tokenId, + }; + }, + }, + }; +} diff --git a/packages/finschia/src/modules/foundation/aminomessages.ts b/packages/finschia/src/modules/foundation/aminomessages.ts new file mode 100644 index 00000000..7398516c --- /dev/null +++ b/packages/finschia/src/modules/foundation/aminomessages.ts @@ -0,0 +1,551 @@ +import { AminoMsg, Coin } from "@cosmjs/amino"; +import { AminoConverters } from "@cosmjs/stargate"; +import { assertDefinedAndNotNull } from "@cosmjs/utils"; +import { Any } from "lbmjs-types/google/protobuf/any"; +import { ReceiveFromTreasuryAuthorization } from "lbmjs-types/lbm/foundation/v1/authz"; +import { + DecisionPolicyWindows, + MemberRequest, + Params, + PercentageDecisionPolicy, + ThresholdDecisionPolicy, + VoteOption, +} from "lbmjs-types/lbm/foundation/v1/foundation"; +import { + Exec, + MsgExec, + MsgFundTreasury, + MsgGovMint, + MsgGrant, + MsgLeaveFoundation, + MsgRevoke, + MsgSubmitProposal, + MsgUpdateDecisionPolicy, + MsgUpdateMembers, + MsgUpdateParams, + MsgVote, + MsgWithdrawFromTreasury, + MsgWithdrawProposal, +} from "lbmjs-types/lbm/foundation/v1/tx"; + +export interface AminoMsgUpdateParams extends AminoMsg { + readonly type: "lbm-sdk/MsgUpdateParams"; + readonly value: { + /** authority is the address of the privileged account. */ + readonly authority: string; + /** + * params defines the x/foundation parameters to update. + * + * NOTE: All parameters must be supplied. + */ + readonly params?: Params; + }; +} + +export function isAminoMsgUpdateParams(msg: AminoMsg): msg is AminoMsgUpdateParams { + return msg.type === "lbm-sdk/MsgUpdateParams"; +} + +export interface AminoMsgFundTreasury extends AminoMsg { + readonly type: "lbm-sdk/MsgFundTreasury"; + readonly value: { + readonly from: string; + readonly amount: Coin[]; + }; +} + +export function isAminoMsgFundTreasurys(msg: AminoMsg): msg is AminoMsgFundTreasury { + return msg.type === "lbm-sdk/MsgFundTreasury"; +} + +export interface AminoMsgWithdrawFromTreasury extends AminoMsg { + readonly type: "lbm-sdk/MsgWithdrawFromTreasury"; + readonly value: { + readonly authority: string; + readonly to: string; + readonly amount: Coin[]; + }; +} + +export function isAminoMsgWithdrawFromTreasury(msg: AminoMsg): msg is AminoMsgWithdrawFromTreasury { + return msg.type === "lbm-sdk/MsgWithdrawFromTreasury"; +} + +export interface AminoMsgUpdateMembers extends AminoMsg { + readonly type: "lbm-sdk/MsgUpdateMembers"; + readonly value: { + readonly authority: string; + readonly memberUpdates: MemberRequest[]; + }; +} + +export function isAminoMsgUpdateMembers(msg: AminoMsg): msg is AminoMsgUpdateMembers { + return msg.type === "lbm-sdk/MsgUpdateMembers"; +} + +export interface AminoMsgUpdateDecisionPolicy extends AminoMsg { + readonly type: "lbm-sdk/MsgUpdateDecisionPolicy"; + readonly value: { + /** authority is the address of the privileged account. */ + readonly authority: string; + /** decision_policy is the updated decision policy. */ + readonly decisionPolicy?: Any; + }; +} + +export function isAminoMsgUpdateDecisionPolicy(msg: AminoMsg): msg is AminoMsgUpdateDecisionPolicy { + return msg.type === "lbm-sdk/MsgUpdateDecisionPolicy"; +} + +export interface AminoMsgSubmitProposal extends AminoMsg { + readonly type: "lbm-sdk/MsgSubmitProposal"; + readonly value: { + /** + * proposers are the account addresses of the proposers. + * Proposers signatures will be counted as yes votes. + */ + readonly proposers: string[]; + /** metadata is any arbitrary metadata to attached to the proposal. */ + readonly metadata: string; + /** messages is a list of `sdk.Msg`s that will be executed if the proposal passes. */ + readonly messages: Any[]; + /** + * exec defines the mode of execution of the proposal, + * whether it should be executed immediately on creation or not. + * If so, proposers signatures are considered as Yes votes. + */ + readonly exec: Exec; + }; +} + +export function isAminoMsgSubmitProposal(msg: AminoMsg): msg is AminoMsgSubmitProposal { + return msg.type === "lbm-sdk/MsgSubmitProposal"; +} + +export interface AminoMsgWithdrawProposal extends AminoMsg { + readonly type: "lbm-sdk/MsgWithdrawProposal"; + readonly value: { + /** proposal is the unique ID of the proposal. */ + readonly proposalId: Long; + /** address of one of the proposer of the proposal. */ + readonly address: string; + }; +} + +export function isAminoMsgWithdrawProposal(msg: AminoMsg): msg is AminoMsgWithdrawProposal { + return msg.type === "lbm-sdk/MsgWithdrawProposal"; +} + +export interface AminoMsgVote extends AminoMsg { + readonly type: "lbm-sdk/MsgVote"; + readonly value: { + /** proposal is the unique ID of the proposal. */ + readonly proposalId: Long; + /** voter is the voter account address. */ + readonly voter: string; + /** option is the voter's choice on the proposal. */ + readonly option: VoteOption; + /** metadata is any arbitrary metadata to attached to the vote. */ + readonly metadata: string; + /** + * exec defines whether the proposal should be executed + * immediately after voting or not. + */ + readonly exec: Exec; + }; +} + +export function isAminoMsgVote(msg: AminoMsg): msg is AminoMsgVote { + return msg.type === "lbm-sdk/MsgVote"; +} + +export interface AminoMsgExec extends AminoMsg { + readonly type: "lbm-sdk/MsgExec"; + readonly value: { + /** proposal is the unique ID of the proposal. */ + readonly proposalId: Long; + /** signer is the account address used to execute the proposal. */ + readonly signer: string; + }; +} + +export function isAminoMsgExec(msg: AminoMsg): msg is AminoMsgExec { + return msg.type === "lbm-sdk/MsgExec"; +} + +export interface AminoMsgLeaveFoundation extends AminoMsg { + readonly type: "lbm-sdk/MsgLeaveFoundation"; + readonly value: { + /** address is the account address of the foundation member. */ + readonly address: string; + }; +} + +export function isAminoMsgLeaveFoundation(msg: AminoMsg): msg is AminoMsgLeaveFoundation { + return msg.type === "lbm-sdk/MsgLeaveFoundation"; +} + +export interface AminoMsgGrant extends AminoMsg { + readonly type: "lbm-sdk/MsgGrant"; + readonly value: { + /** authority is the address of the privileged account. */ + readonly authority: string; + readonly grantee: string; + readonly authorization?: Any; + }; +} + +export function isAminoMsgGrant(msg: AminoMsg): msg is AminoMsgGrant { + return msg.type === "lbm-sdk/MsgGrant"; +} + +export interface AminoMsgRevoke extends AminoMsg { + readonly type: "lbm-sdk/MsgRevoke"; + readonly value: { + /** authority is the address of the privileged account. */ + readonly authority: string; + readonly grantee: string; + readonly msgTypeUrl: string; + }; +} + +export function isAminoMsgRevoke(msg: AminoMsg): msg is AminoMsgRevoke { + return msg.type === "lbm-sdk/MsgRevoke"; +} + +export interface AminoMsgGovMint extends AminoMsg { + readonly type: "lbm-sdk/MsgGovMint"; + readonly value: { + /** authority is the address of the privileged account. */ + readonly authority: string; + readonly amount: Coin[]; + }; +} + +export function isAminoMsgGovMint(msg: AminoMsg): msg is AminoMsgGovMint { + return msg.type === "lbm-sdk/MsgGovMint"; +} + +export interface AminoThresholdDecisionPolicy extends AminoMsg { + readonly type: "lbm-sdk/ThresholdDecisionPolicy"; + readonly value: { + /** threshold is the minimum sum of yes votes that must be met or exceeded for a proposal to succeed. */ + readonly threshold: string; + /** windows defines the different windows for voting and execution. */ + readonly windows?: DecisionPolicyWindows; + }; +} + +export function isAminoThresholdDecisionPolicy(msg: AminoMsg): msg is AminoThresholdDecisionPolicy { + return msg.type === "lbm-sdk/ThresholdDecisionPolicy"; +} +export interface AminoPercentageDecisionPolicy extends AminoMsg { + readonly type: "lbm-sdk/PercentageDecisionPolicy"; + readonly value: { + /** percentage is the minimum percentage the sum of yes votes must meet for a proposal to succeed. */ + readonly percentage: string; + /** windows defines the different windows for voting and execution. */ + readonly windows?: DecisionPolicyWindows; + }; +} + +export function isAminoPercentageDecisionPolicy(msg: AminoMsg): msg is AminoPercentageDecisionPolicy { + return msg.type === "lbm-sdk/PercentageDecisionPolicy"; +} + +export interface AminoReceiveFromTreasuryAuthorization extends AminoMsg { + readonly type: "lbm-sdk/ReceiveFromTreasuryAuthorization"; + readonly value: {}; +} + +export function isAminoReceiveFromTreasuryAuthorization( + msg: AminoMsg, +): msg is AminoReceiveFromTreasuryAuthorization { + return msg.type === "lbm-sdk/ReceiveFromTreasuryAuthorization"; +} + +export function createFoundationAminoConverters(): AminoConverters { + return { + "/lbm.foundation.v1.MsgUpdateParams": { + aminoType: "lbm-sdk/MsgUpdateParams", + toAmino: ({ authority, params }: MsgUpdateParams): AminoMsgUpdateParams["value"] => { + assertDefinedAndNotNull(params); + return { + authority: authority, + params: params, + }; + }, + fromAmino: ({ authority, params }: AminoMsgUpdateParams["value"]): MsgUpdateParams => { + return { + authority: authority, + params: params, + }; + }, + }, + "/lbm.foundation.v1.MsgFundTreasury": { + aminoType: "lbm-sdk/MsgFundTreasury", + toAmino: ({ from, amount }: MsgFundTreasury): AminoMsgFundTreasury["value"] => { + return { + from: from, + amount: amount, + }; + }, + fromAmino: ({ from, amount }: AminoMsgFundTreasury["value"]): MsgFundTreasury => { + return { + from: from, + amount: amount, + }; + }, + }, + "/lbm.foundation.v1.MsgWithdrawFromTreasury": { + aminoType: "lbm-sdk/MsgWithdrawFromTreasury", + toAmino: ({ + authority, + to, + amount, + }: MsgWithdrawFromTreasury): AminoMsgWithdrawFromTreasury["value"] => { + return { + authority: authority, + to: to, + amount: amount, + }; + }, + fromAmino: ({ + authority, + to, + amount, + }: AminoMsgWithdrawFromTreasury["value"]): MsgWithdrawFromTreasury => { + return { + authority: authority, + to: to, + amount: amount, + }; + }, + }, + "/lbm.foundation.v1.MsgUpdateMembers": { + aminoType: "lbm-sdk/MsgUpdateMembers", + toAmino: ({ authority, memberUpdates }: MsgUpdateMembers): AminoMsgUpdateMembers["value"] => { + return { + authority: authority, + memberUpdates: memberUpdates, + }; + }, + fromAmino: ({ authority, memberUpdates }: AminoMsgUpdateMembers["value"]): MsgUpdateMembers => { + return { + authority: authority, + memberUpdates: memberUpdates, + }; + }, + }, + "/lbm.foundation.v1.MsgUpdateDecisionPolicy": { + aminoType: "lbm-sdk/MsgUpdateDecisionPolicy", + toAmino: ({ + authority, + decisionPolicy, + }: MsgUpdateDecisionPolicy): AminoMsgUpdateDecisionPolicy["value"] => { + return { + authority: authority, + decisionPolicy: decisionPolicy, + }; + }, + fromAmino: ({ + authority, + decisionPolicy, + }: AminoMsgUpdateDecisionPolicy["value"]): MsgUpdateDecisionPolicy => { + return { + authority: authority, + decisionPolicy: decisionPolicy, + }; + }, + }, + "/lbm.foundation.v1.MsgSubmitProposal": { + aminoType: "lbm-sdk/MsgSubmitProposal", + toAmino: ({ + proposers, + metadata, + messages, + exec, + }: MsgSubmitProposal): AminoMsgSubmitProposal["value"] => { + return { + proposers: proposers, + metadata: metadata, + messages: messages, + exec: exec, + }; + }, + fromAmino: ({ + proposers, + metadata, + messages, + exec, + }: AminoMsgSubmitProposal["value"]): MsgSubmitProposal => { + return { + proposers: proposers, + metadata: metadata, + messages: messages, + exec: exec, + }; + }, + }, + "/lbm.foundation.v1.MsgWithdrawProposal": { + aminoType: "lbm-sdk/MsgWithdrawProposal", + toAmino: ({ proposalId, address }: MsgWithdrawProposal): AminoMsgWithdrawProposal["value"] => { + return { + proposalId: proposalId, + address: address, + }; + }, + fromAmino: ({ proposalId, address }: AminoMsgWithdrawProposal["value"]): MsgWithdrawProposal => { + return { + proposalId: proposalId, + address: address, + }; + }, + }, + "/lbm.foundation.v1.MsgVote": { + aminoType: "lbm-sdk/MsgVote", + toAmino: ({ proposalId, voter, option, metadata, exec }: MsgVote): AminoMsgVote["value"] => { + return { + proposalId: proposalId, + voter: voter, + option: option, + metadata: metadata, + exec: exec, + }; + }, + fromAmino: ({ proposalId, voter, option, metadata, exec }: AminoMsgVote["value"]): MsgVote => { + return { + proposalId: proposalId, + voter: voter, + option: option, + metadata: metadata, + exec: exec, + }; + }, + }, + "/lbm.foundation.v1.MsgExec": { + aminoType: "lbm-sdk/MsgExec", + toAmino: ({ proposalId, signer }: MsgExec): AminoMsgExec["value"] => { + return { + proposalId: proposalId, + signer: signer, + }; + }, + fromAmino: ({ proposalId, signer }: AminoMsgExec["value"]): MsgExec => { + return { + proposalId: proposalId, + signer: signer, + }; + }, + }, + "/lbm.foundation.v1.MsgLeaveFoundation": { + aminoType: "lbm-sdk/MsgLeaveFoundation", + toAmino: ({ address }: MsgLeaveFoundation): AminoMsgLeaveFoundation["value"] => { + return { + address: address, + }; + }, + fromAmino: ({ address }: AminoMsgLeaveFoundation["value"]): MsgLeaveFoundation => { + return { + address: address, + }; + }, + }, + "/lbm.foundation.v1.MsgGrant": { + aminoType: "lbm-sdk/MsgGrant", + toAmino: ({ authority, grantee, authorization }: MsgGrant): AminoMsgGrant["value"] => { + return { + authority: authority, + grantee: grantee, + authorization: authorization, + }; + }, + fromAmino: ({ authority, grantee, authorization }: AminoMsgGrant["value"]): MsgGrant => { + return { + authority: authority, + grantee: grantee, + authorization: authorization, + }; + }, + }, + "/lbm.foundation.v1.MsgRevoke": { + aminoType: "lbm-sdk/MsgRevoke", + toAmino: ({ authority, grantee, msgTypeUrl }: MsgRevoke): AminoMsgRevoke["value"] => { + return { + authority: authority, + grantee: grantee, + msgTypeUrl: msgTypeUrl, + }; + }, + fromAmino: ({ authority, grantee, msgTypeUrl }: AminoMsgRevoke["value"]): MsgRevoke => { + return { + authority: authority, + grantee: grantee, + msgTypeUrl: msgTypeUrl, + }; + }, + }, + "/lbm.foundation.v1.MsgGovMint": { + aminoType: "lbm-sdk/MsgGovMint", + toAmino: ({ authority, amount }: MsgGovMint): AminoMsgGovMint["value"] => { + return { + authority: authority, + amount: amount, + }; + }, + fromAmino: ({ authority, amount }: AminoMsgGovMint["value"]): MsgGovMint => { + return { + authority: authority, + amount: amount, + }; + }, + }, + "/lbm.foundation.v1.ThresholdDecisionPolicy": { + aminoType: "lbm-sdk/ThresholdDecisionPolicy", + toAmino: ({ threshold, windows }: ThresholdDecisionPolicy): AminoThresholdDecisionPolicy["value"] => { + return { + threshold: threshold, + windows: windows, + }; + }, + fromAmino: ({ threshold, windows }: AminoThresholdDecisionPolicy["value"]): ThresholdDecisionPolicy => { + return { + threshold: threshold, + windows: windows, + }; + }, + }, + "/lbm.foundation.v1.PercentageDecisionPolicy": { + aminoType: "lbm-sdk/PercentageDecisionPolicy", + toAmino: ({ + percentage, + windows, + }: PercentageDecisionPolicy): AminoPercentageDecisionPolicy["value"] => { + return { + percentage: percentage, + windows: windows, + }; + }, + fromAmino: ({ + percentage, + windows, + }: AminoPercentageDecisionPolicy["value"]): PercentageDecisionPolicy => { + return { + percentage: percentage, + windows: windows, + }; + }, + }, + "/lbm.foundation.v1.ReceiveFromTreasuryAuthorization": { + aminoType: "lbm-sdk/ReceiveFromTreasuryAuthorization", + // eslint-disable-next-line no-empty-pattern + toAmino: ({}: ReceiveFromTreasuryAuthorization): AminoReceiveFromTreasuryAuthorization["value"] => { + return {}; + }, + // eslint-disable-next-line no-empty-pattern + fromAmino: ({}: AminoReceiveFromTreasuryAuthorization["value"]): ReceiveFromTreasuryAuthorization => { + return {}; + }, + }, + }; +} diff --git a/packages/finschia/src/modules/foundation/messages.ts b/packages/finschia/src/modules/foundation/messages.ts index 7329628b..2facc092 100644 --- a/packages/finschia/src/modules/foundation/messages.ts +++ b/packages/finschia/src/modules/foundation/messages.ts @@ -5,7 +5,7 @@ import { Duration } from "cosmjs-types/google/protobuf/duration"; import { ReceiveFromTreasuryAuthorization } from "lbmjs-types/lbm/foundation/v1/authz"; import { DecisionPolicyWindows, - Member, + MemberRequest, PercentageDecisionPolicy, ThresholdDecisionPolicy, } from "lbmjs-types/lbm/foundation/v1/foundation"; @@ -13,12 +13,14 @@ import { Exec, MsgExec, MsgFundTreasury, + MsgGovMint, MsgGrant, MsgLeaveFoundation, MsgRevoke, MsgSubmitProposal, MsgUpdateDecisionPolicy, MsgUpdateMembers, + MsgUpdateParams, MsgVote, MsgWithdrawFromTreasury, MsgWithdrawProposal, @@ -27,6 +29,7 @@ import { import { longify } from "../../utils"; export const foundationTypes: ReadonlyArray<[string, GeneratedType]> = [ + ["/lbm.foundation.v1.MsgUpdateParams", MsgUpdateParams], ["/lbm.foundation.v1.MsgFundTreasury", MsgFundTreasury], ["/lbm.foundation.v1.MsgWithdrawFromTreasury", MsgWithdrawFromTreasury], ["/lbm.foundation.v1.MsgUpdateMembers", MsgUpdateMembers], @@ -38,6 +41,7 @@ export const foundationTypes: ReadonlyArray<[string, GeneratedType]> = [ ["/lbm.foundation.v1.MsgLeaveFoundation", MsgLeaveFoundation], ["/lbm.foundation.v1.MsgGrant", MsgGrant], ["/lbm.foundation.v1.MsgRevoke", MsgRevoke], + ["/lbm.foundation.v1.MsgGovMint", MsgGovMint], ["/lbm.foundation.v1.ReceiveFromTreasuryAuthorization", ReceiveFromTreasuryAuthorization], ["/lbm.foundation.v1.DecisionPolicyWindows", DecisionPolicyWindows], ["/lbm.foundation.v1.ThresholdDecisionPolicy", ThresholdDecisionPolicy], @@ -61,12 +65,12 @@ export function createMsgSubmitProposal( }; } -export function createMsgGrant(operator: string, grantee: string): EncodeObject { +export function createMsgGrant(authority: string, grantee: string): EncodeObject { return { typeUrl: "/lbm.foundation.v1.MsgGrant", value: Uint8Array.from( MsgGrant.encode({ - operator: operator, + authority: authority, grantee: grantee, authorization: { typeUrl: "/lbm.foundation.v1.ReceiveFromTreasuryAuthorization", @@ -77,12 +81,12 @@ export function createMsgGrant(operator: string, grantee: string): EncodeObject }; } -export function createMsgRevoke(operator: string, grantee: string, msgTypeUrl: string): EncodeObject { +export function createMsgRevoke(authority: string, grantee: string, msgTypeUrl: string): EncodeObject { return { typeUrl: "/lbm.foundation.v1.MsgRevoke", value: Uint8Array.from( MsgRevoke.encode({ - operator: operator, + authority: authority, grantee: grantee, msgTypeUrl: msgTypeUrl, }).finish(), @@ -91,7 +95,7 @@ export function createMsgRevoke(operator: string, grantee: string, msgTypeUrl: s } export function createMsgWithdrawFromTreasury( - operator: string, + authority: string, toAddress: string, amount: Coin[], ): EncodeObject { @@ -99,7 +103,7 @@ export function createMsgWithdrawFromTreasury( typeUrl: "/lbm.foundation.v1.MsgWithdrawFromTreasury", value: Uint8Array.from( MsgWithdrawFromTreasury.encode({ - operator: operator, + authority: authority, to: toAddress, amount: amount, }).finish(), @@ -107,27 +111,27 @@ export function createMsgWithdrawFromTreasury( }; } -export function createMsgUpdateMembers(operator: string, members: Member[]): EncodeObject { +export function createMsgUpdateMembers(authority: string, memberRequest: MemberRequest[]): EncodeObject { return { typeUrl: "/lbm.foundation.v1.MsgUpdateMembers", value: Uint8Array.from( MsgUpdateMembers.encode({ - operator: operator, - memberUpdates: members, + authority: authority, + memberUpdates: memberRequest, }).finish(), ), }; } export function createMsgUpdateDecisionPolicy( - operator: string, + authority: string, decisionPolicy: ThresholdDecisionPolicyEncodeObject | PercentageDecisionPolicyEncodeObject, ): EncodeObject { return { typeUrl: "/lbm.foundation.v1.MsgUpdateDecisionPolicy", value: Uint8Array.from( MsgUpdateDecisionPolicy.encode({ - operator: operator, + authority: authority, decisionPolicy: decisionPolicy, }).finish(), ), diff --git a/packages/finschia/src/modules/foundation/queries.spec.ts b/packages/finschia/src/modules/foundation/queries.spec.ts index 7d4f2249..c512db91 100644 --- a/packages/finschia/src/modules/foundation/queries.spec.ts +++ b/packages/finschia/src/modules/foundation/queries.spec.ts @@ -1,10 +1,11 @@ -import { coins } from "@cosmjs/amino"; +import { addCoins, coin, coins } from "@cosmjs/amino"; import { Decimal } from "@cosmjs/math"; import { DirectSecp256k1HdWallet } from "@cosmjs/proto-signing"; -import { assertIsDeliverTxSuccess, QueryClient } from "@cosmjs/stargate"; +import { assertIsDeliverTxSuccess, logs, QueryClient } from "@cosmjs/stargate"; import { Tendermint34Client } from "@cosmjs/tendermint-rpc"; import { sleep } from "@cosmjs/utils"; -import { ThresholdDecisionPolicy } from "lbmjs-types/lbm/foundation/v1/foundation"; +import { MemberRequest, ThresholdDecisionPolicy } from "lbmjs-types/lbm/foundation/v1/foundation"; +import Long from "long"; import { makeLinkPath } from "../../paths"; import { SigningFinschiaClient } from "../../signingfinschiaclient"; @@ -15,10 +16,12 @@ import { simapp, simappEnabled, } from "../../testutils.spec"; +import { longify } from "../../utils"; import { createMsgGrant, createMsgSubmitProposal, createMsgUpdateDecisionPolicy, + createMsgUpdateMembers, createMsgWithdrawFromTreasury, createThresholdDecisionPolicy, isThresholdDecisionPolicyEncodeObject, @@ -37,152 +40,392 @@ describe("FoundationExtension", () => { amount: coins(25000, "cony"), gas: "1500000", // 1.5 million }; + const authorityAddress = "link190vt0vxc8c8vj24a7mm3fjsenfu8f5yxxj76cp"; + + describe("Params", () => { + it("works", async () => { + pendingWithoutSimapp(); + const [client, tmClient] = await makeClientWithFoundation(simapp.tendermintUrl); + + const params = await client.foundation.params(); + expect(params!.foundationTax).toEqual("0"); + + tmClient.disconnect(); + }); + }); + + describe("Treasury", () => { + it("works", async () => { + pendingWithoutSimapp(); + const [client, tmClient] = await makeClientWithFoundation(simapp.tendermintUrl); + const beforeAmount = (await client.foundation.treasury())[0] ?? coin("0", "cony"); - beforeAll(async () => { - if (simappEnabled()) { const wallet = await DirectSecp256k1HdWallet.fromMnemonic(faucet.mnemonic, { hdPaths: [makeLinkPath(0)], prefix: simapp.prefix, }); - const client = await SigningFinschiaClient.connectWithSigner( + const signingFinschiaClient = await SigningFinschiaClient.connectWithSigner( simapp.tendermintUrl, wallet, defaultSigningClientOptions, ); + const sendAmount = coin("1000", "cony"); const msg = { typeUrl: "/lbm.foundation.v1.MsgFundTreasury", - value: { - from: faucet.address0, - amount: coins(1000, "cony"), - }, + value: { from: faucet.address0, amount: [sendAmount] }, }; - const result = await client.signAndBroadcast(faucet.address0, [msg], defaultFee); + + const result = await signingFinschiaClient.signAndBroadcast(faucet.address0, [msg], defaultFee); assertIsDeliverTxSuccess(result); - await sleep(75); - } + const afterAmount = await client.foundation.treasury(); + expect(coin(Decimal.fromAtomics(afterAmount[0].amount, 18).toString(), "cony")).toEqual( + addCoins(coin(Decimal.fromAtomics(beforeAmount.amount, 18).toString(), "cony"), sendAmount), + ); + + tmClient.disconnect(); + }); }); - describe("Query Treasury", () => { - it("work", async () => { + describe("Foundation Info", () => { + let foundationVersion: Long.Long | undefined; + beforeAll(async () => { + if (simappEnabled()) { + const [client, tmClient] = await makeClientWithFoundation(simapp.tendermintUrl); + foundationVersion = (await client.foundation.foundationInfo())?.version; + + const wallet = await DirectSecp256k1HdWallet.fromMnemonic(faucet.mnemonic, { + hdPaths: [makeLinkPath(0)], + prefix: simapp.prefix, + }); + const signingFinschiaClient = await SigningFinschiaClient.connectWithSigner( + simapp.tendermintUrl, + wallet, + defaultSigningClientOptions, + ); + + // proposal updateDicisionPolicy + const decisionPolicy = createThresholdDecisionPolicy("5"); + const msgDecisionPolicy = createMsgUpdateDecisionPolicy(authorityAddress, decisionPolicy); + const msg = createMsgSubmitProposal([faucet.address0], [msgDecisionPolicy]); + const result = await signingFinschiaClient.signAndBroadcast(faucet.address0, [msg], defaultFee); + assertIsDeliverTxSuccess(result); + + await sleep(75); + tmClient.disconnect(); + } + }); + + it("works for version", async () => { pendingWithoutSimapp(); const [client, tmClient] = await makeClientWithFoundation(simapp.tendermintUrl); - const result = await client.foundation.treasury(); - expect(result).toBeDefined(); - expect(result).not.toBeNull(); - expect(result.length).toEqual(1); + const foundationInfo = await client.foundation.foundationInfo(); + expect(foundationInfo).toBeDefined(); + expect(foundationInfo).not.toBeNull(); + expect(foundationInfo!.version).toEqual(foundationVersion!.add(longify(1))); + + tmClient.disconnect(); + }); + + it("works for DecisionPolicy", async () => { + pendingWithoutSimapp(); + const [client, tmClient] = await makeClientWithFoundation(simapp.tendermintUrl); + + const foundationInfo = await client.foundation.foundationInfo(); + expect(foundationInfo).toBeDefined(); + expect(foundationInfo).not.toBeNull(); + expect(isThresholdDecisionPolicyEncodeObject(foundationInfo!.decisionPolicy!)).toBeTrue(); + + // check threshold and windows + const thresholdDecisionPolicy = ThresholdDecisionPolicy.decode(foundationInfo!.decisionPolicy!.value); + expect(Decimal.fromAtomics(thresholdDecisionPolicy.threshold, 18).toString()).toEqual("5"); tmClient.disconnect(); }); }); -}); -describe("FoundationExtension grant and withdrawFromTreasury", () => { - const defaultFee = { - amount: coins(25000, "cony"), - gas: "1500000", // 1.5 million - }; - const operatorAddress = "link1gx2dzurw686q340q94njwacpnax48pw824tksx"; - const granteeAddress = faucet.address5; + describe("Grants and Treasury", () => { + const granteeAddress = faucet.address0; + + beforeAll(async () => { + if (simappEnabled()) { + const wallet = await DirectSecp256k1HdWallet.fromMnemonic(faucet.mnemonic, { + hdPaths: [makeLinkPath(0)], + prefix: simapp.prefix, + }); + const client = await SigningFinschiaClient.connectWithSigner( + simapp.tendermintUrl, + wallet, + defaultSigningClientOptions, + ); + + // proposal grant + { + const msgGrant = createMsgGrant(authorityAddress, granteeAddress); + const msg = createMsgSubmitProposal([faucet.address0], [msgGrant]); + const result = await client.signAndBroadcast(faucet.address0, [msg], defaultFee); + assertIsDeliverTxSuccess(result); + + await sleep(75); + } + } + }); + + it("works for Grants", async () => { + pendingWithoutSimapp(); + const [client, tmClient] = await makeClientWithFoundation(simapp.tendermintUrl); + + const response = await client.foundation.grants(granteeAddress, ""); + expect(response.authorizations).toBeDefined(); + expect(response.authorizations).not.toBeNull(); + expect(response.authorizations.length).toEqual(1); + + tmClient.disconnect(); + }); + + it("works for withdrawFromTreasury Grant", async () => { + pendingWithoutSimapp(); + const [client, tmClient] = await makeClientWithFoundation(simapp.tendermintUrl); + const beforeAmount = await client.foundation.treasury(); - beforeAll(async () => { - if (simappEnabled()) { + // proposal withdrawFromTreasury const wallet = await DirectSecp256k1HdWallet.fromMnemonic(faucet.mnemonic, { hdPaths: [makeLinkPath(0)], prefix: simapp.prefix, }); - const client = await SigningFinschiaClient.connectWithSigner( + const signingFinschiaClient = await SigningFinschiaClient.connectWithSigner( simapp.tendermintUrl, wallet, defaultSigningClientOptions, ); - // proposal grant - { - const msgGrant = createMsgGrant(operatorAddress, granteeAddress); - const msg = createMsgSubmitProposal([faucet.address0], [msgGrant]); + const sendAmount = coin(100, "cony"); + const msgWithdraw = createMsgWithdrawFromTreasury(authorityAddress, granteeAddress, [sendAmount]); + const msg = createMsgSubmitProposal([faucet.address0], [msgWithdraw]); + const result = await signingFinschiaClient.signAndBroadcast(faucet.address0, [msg], defaultFee); + assertIsDeliverTxSuccess(result); + + await sleep(75); + + const afterAmount = await client.foundation.treasury(); + + expect(coin(Decimal.fromAtomics(beforeAmount[0].amount, 18).toString(), "cony")).toEqual( + addCoins(coin(Decimal.fromAtomics(afterAmount[0].amount, 18).toString(), "cony"), sendAmount), + ); + + tmClient.disconnect(); + }); + }); + + describe("Members", () => { + const addedMember = faucet.address1; + beforeAll(async () => { + if (simappEnabled()) { + const wallet = await DirectSecp256k1HdWallet.fromMnemonic(faucet.mnemonic, { + hdPaths: [makeLinkPath(0)], + prefix: simapp.prefix, + }); + const client = await SigningFinschiaClient.connectWithSigner( + simapp.tendermintUrl, + wallet, + defaultSigningClientOptions, + ); + + const memberRequest: MemberRequest = { + address: addedMember, + remove: false, + metadata: "for member add test", + }; + const memberRequestMsg = createMsgUpdateMembers(authorityAddress, [memberRequest]); + + const msg = createMsgSubmitProposal([faucet.address0], [memberRequestMsg]); const result = await client.signAndBroadcast(faucet.address0, [msg], defaultFee); assertIsDeliverTxSuccess(result); await sleep(75); } + }); - // proposal withdrawFromTreasury - { - const msgWithdraw = createMsgWithdrawFromTreasury( - operatorAddress, - granteeAddress, - coins(100, "cony"), + it("works for Members", async () => { + pendingWithoutSimapp(); + const [client, tmClient] = await makeClientWithFoundation(simapp.tendermintUrl); + + const response = await client.foundation.members(); + expect(response).toBeDefined(); + expect(response).not.toBeNull(); + expect(response.members.length).toEqual(2); + + tmClient.disconnect(); + }); + + it("works for Member", async () => { + pendingWithoutSimapp(); + const [client, tmClient] = await makeClientWithFoundation(simapp.tendermintUrl); + + const response = await client.foundation.member(addedMember); + expect(response).toBeDefined(); + expect(response).not.toBeNull(); + expect(response?.address).toEqual(addedMember); + + tmClient.disconnect(); + }); + }); + + describe("Proposal", () => { + let proposalId: Long; + beforeAll(async () => { + if (simappEnabled()) { + // proposal withdrawFromTreasury without grant for failing exec + const wallet = await DirectSecp256k1HdWallet.fromMnemonic(faucet.mnemonic, { + hdPaths: [makeLinkPath(0)], + prefix: simapp.prefix, + }); + const signingFinschiaClient = await SigningFinschiaClient.connectWithSigner( + simapp.tendermintUrl, + wallet, + defaultSigningClientOptions, ); + + const sendAmount = coin(100, "cony"); + const msgWithdraw = createMsgWithdrawFromTreasury(authorityAddress, faucet.address1, [sendAmount]); const msg = createMsgSubmitProposal([faucet.address0], [msgWithdraw]); - const result = await client.signAndBroadcast(faucet.address0, [msg], defaultFee); + const result = await signingFinschiaClient.signAndBroadcast(faucet.address0, [msg], defaultFee); assertIsDeliverTxSuccess(result); + const parsedLogs = logs.parseRawLog(result.rawLog); + proposalId = Long.fromString( + JSON.parse( + logs.findAttribute(parsedLogs, "lbm.foundation.v1.EventSubmitProposal", "proposal").value, + ).id, + true, + ); + await sleep(75); } - } - }); + }); - describe("Query result of Grant", () => { - it("grant", async () => { + it("works for proposals", async () => { pendingWithoutSimapp(); const [client, tmClient] = await makeClientWithFoundation(simapp.tendermintUrl); - const response = await client.foundation.grants("link14nvvrk4dz3k695t8740vqzjnvrwszwm69hw0ls", ""); - expect(response.authorizations).toBeDefined(); - expect(response.authorizations).not.toBeNull(); - expect(response.authorizations.length).toEqual(1); + const result = await client.foundation.proposals(); + const proposals = result.proposals; + expect(proposals.find((proposal) => proposal.id.eq(proposalId))).not.toBeUndefined(); + + tmClient.disconnect(); + }); + + it("works for proposal", async () => { + pendingWithoutSimapp(); + const [client, tmClient] = await makeClientWithFoundation(simapp.tendermintUrl); + + const result = await client.foundation.proposal(proposalId); + expect(result).not.toBeUndefined(); + expect(result!.id).toEqual(proposalId); tmClient.disconnect(); }); }); -}); -describe("FoundationExtension DecisionPolicy", () => { - const defaultFee = { - amount: coins(25000, "cony"), - gas: "1500000", // 1.5 million - }; - const operatorAddress = "link1gx2dzurw686q340q94njwacpnax48pw824tksx"; + describe("Vote", () => { + let proposalId: Long; + beforeAll(async () => { + if (simappEnabled()) { + // proposal withdrawFromTreasury without grant for failing exec + const wallet = await DirectSecp256k1HdWallet.fromMnemonic(faucet.mnemonic, { + hdPaths: [makeLinkPath(0)], + prefix: simapp.prefix, + }); + const signingFinschiaClient = await SigningFinschiaClient.connectWithSigner( + simapp.tendermintUrl, + wallet, + defaultSigningClientOptions, + ); - beforeAll(async () => { - if (simappEnabled()) { - const wallet = await DirectSecp256k1HdWallet.fromMnemonic(faucet.mnemonic, { - hdPaths: [makeLinkPath(0)], - prefix: simapp.prefix, - }); - const client = await SigningFinschiaClient.connectWithSigner( - simapp.tendermintUrl, - wallet, - defaultSigningClientOptions, - ); + const sendAmount = coin(100, "cony"); + const msgWithdraw = createMsgWithdrawFromTreasury(authorityAddress, faucet.address2, [sendAmount]); + const msg = createMsgSubmitProposal([faucet.address0], [msgWithdraw]); + const result = await signingFinschiaClient.signAndBroadcast(faucet.address0, [msg], defaultFee); + assertIsDeliverTxSuccess(result); - // proposal updateDicisionPolicy - const decisionPolisy = createThresholdDecisionPolicy("5"); - const msgDecisionPolicy = createMsgUpdateDecisionPolicy(operatorAddress, decisionPolisy); - const msg = createMsgSubmitProposal([faucet.address0], [msgDecisionPolicy]); - const result = await client.signAndBroadcast(faucet.address0, [msg], defaultFee); - assertIsDeliverTxSuccess(result); + const parsedLogs = logs.parseRawLog(result.rawLog); + proposalId = Long.fromString( + JSON.parse( + logs.findAttribute(parsedLogs, "lbm.foundation.v1.EventSubmitProposal", "proposal").value, + ).id, + true, + ); - await sleep(75); - } + await sleep(75); + } + }); + + it("works for votes", async () => { + pendingWithoutSimapp(); + const [client, tmClient] = await makeClientWithFoundation(simapp.tendermintUrl); + + const result = await client.foundation.votes(proposalId); + const votes = result.votes; + expect(votes.find((vote) => vote.proposalId.eq(proposalId))).not.toBeUndefined(); + + tmClient.disconnect(); + }); + + it("works for vote", async () => { + pendingWithoutSimapp(); + const [client, tmClient] = await makeClientWithFoundation(simapp.tendermintUrl); + + const result = await client.foundation.vote(proposalId, faucet.address0); + expect(result).not.toBeUndefined(); + expect(result!.proposalId).toEqual(proposalId); + + tmClient.disconnect(); + }); }); - describe("Query decisionPolicy", () => { + describe("Tally Result", () => { + let proposalId: Long; + beforeAll(async () => { + if (simappEnabled()) { + // proposal withdrawFromTreasury without grant for failing exec + const wallet = await DirectSecp256k1HdWallet.fromMnemonic(faucet.mnemonic, { + hdPaths: [makeLinkPath(0)], + prefix: simapp.prefix, + }); + const signingFinschiaClient = await SigningFinschiaClient.connectWithSigner( + simapp.tendermintUrl, + wallet, + defaultSigningClientOptions, + ); + + const sendAmount = coin(100, "cony"); + const msgWithdraw = createMsgWithdrawFromTreasury(authorityAddress, faucet.address3, [sendAmount]); + const msg = createMsgSubmitProposal([faucet.address0], [msgWithdraw]); + const result = await signingFinschiaClient.signAndBroadcast(faucet.address0, [msg], defaultFee); + assertIsDeliverTxSuccess(result); + + const parsedLogs = logs.parseRawLog(result.rawLog); + proposalId = Long.fromString( + JSON.parse( + logs.findAttribute(parsedLogs, "lbm.foundation.v1.EventSubmitProposal", "proposal").value, + ).id, + true, + ); + + await sleep(75); + } + }); + it("work", async () => { pendingWithoutSimapp(); const [client, tmClient] = await makeClientWithFoundation(simapp.tendermintUrl); - const foundationInfo = await client.foundation.foundationInfo(); - expect(foundationInfo).toBeDefined(); - expect(foundationInfo).not.toBeNull(); - expect(isThresholdDecisionPolicyEncodeObject(foundationInfo!.decisionPolicy!)).toBeTrue(); - - // check threshold - const thresholdDecisionPolicy = ThresholdDecisionPolicy.decode(foundationInfo!.decisionPolicy!.value); - expect(Decimal.fromAtomics(thresholdDecisionPolicy.threshold, 18).toString()).toEqual("5"); + const result = await client.foundation.tallyResult(proposalId); + expect(result).not.toBeUndefined(); + expect(Decimal.fromAtomics(result!.yesCount, 18).toString()).toEqual("1"); + expect(result!.noCount).toEqual("0"); tmClient.disconnect(); }); diff --git a/packages/finschia/src/modules/foundation/queries.ts b/packages/finschia/src/modules/foundation/queries.ts index ad208edf..c110e136 100644 --- a/packages/finschia/src/modules/foundation/queries.ts +++ b/packages/finschia/src/modules/foundation/queries.ts @@ -4,6 +4,7 @@ import { Coin } from "cosmjs-types/cosmos/base/v1beta1/coin"; import { FoundationInfo, Member, + Params, Proposal, TallyResult, Vote, @@ -22,6 +23,7 @@ export type FoundationProposalId = string | number | Long | Uint64; export interface FoundationExtension { readonly foundation: { + readonly params: () => Promise; readonly treasury: () => Promise; readonly foundationInfo: () => Promise; readonly member: (address: string) => Promise; @@ -39,6 +41,7 @@ export interface FoundationExtension { msgTypeUrl: string, paginationKey?: Uint8Array, ) => Promise; + readonly govMint: () => Promise; }; } @@ -51,6 +54,10 @@ export function setupFoundationExtension(base: QueryClient): FoundationExtension return { foundation: { + params: async () => { + const response = await queryService.Params({}); + return response.params; + }, treasury: async () => { const response = await queryService.Treasury({}); return response.amount; @@ -94,6 +101,10 @@ export function setupFoundationExtension(base: QueryClient): FoundationExtension pagination: createPagination(paginationKey), }); }, + govMint: async () => { + const response = await queryService.GovMint({}); + return response.leftCount; + }, }, }; } diff --git a/packages/finschia/src/modules/token/aminomessages.ts b/packages/finschia/src/modules/token/aminomessages.ts new file mode 100644 index 00000000..b28c185c --- /dev/null +++ b/packages/finschia/src/modules/token/aminomessages.ts @@ -0,0 +1,472 @@ +import { AminoMsg } from "@cosmjs/amino"; +import { AminoConverters } from "@cosmjs/stargate"; +import { Pair } from "lbmjs-types/lbm/token/v1/token"; +import { + MsgApprove, + MsgBurn, + MsgBurnFrom, + MsgGrantPermission, + MsgIssue, + MsgMint, + MsgModify, + MsgRevokeOperator, + MsgRevokePermission, + MsgSend, + MsgTransferFrom, +} from "lbmjs-types/lbm/token/v1/tx"; + +export interface AminoMsgSend extends AminoMsg { + readonly type: "lbm-sdk/MsgSend"; + readonly value: { + /** contract id associated with the token class. */ + readonly contractId: string; + /** approver whose tokens are being sent. */ + readonly from: string; + /** recipient of the tokens. */ + readonly to: string; + /** number of tokens to send. */ + readonly amount: string; + }; +} + +export function isAminoMsgSend(msg: AminoMsg): msg is AminoMsgSend { + return msg.type === "lbm-sdk/MsgSend"; +} + +export interface AminoMsgTransferFrom extends AminoMsg { + readonly type: "lbm-sdk/MsgTransferFrom"; + readonly value: { + /** contract id associated with the token class. */ + readonly contractId: string; + /** the address of the proxy. */ + readonly proxy: string; + /** the address which the transfer is from. */ + readonly from: string; + /** the address which the transfer is to. */ + readonly to: string; + /** the amount of the transfer. */ + readonly amount: string; + }; +} + +export function isAminoMsgTransferFrom(msg: AminoMsg): msg is AminoMsgTransferFrom { + return msg.type === "lbm-sdk/MsgTransferFrom"; +} + +export interface AminoMsgRevokeOperator extends AminoMsg { + readonly type: "lbm-sdk/MsgRevokeOperator"; + readonly value: { + /** contract id associated with the token class. */ + readonly contractId: string; + /** address of a holder which revokes the `operator` address as an operator. */ + readonly holder: string; + /** address to rescind as an operator for `holder`. */ + readonly operator: string; + }; +} + +export function isAminoMsgRevokeOperator(msg: AminoMsg): msg is AminoMsgRevokeOperator { + return msg.type === "lbm-sdk/MsgRevokeOperator"; +} + +export interface AminoMsgApprove extends AminoMsg { + readonly type: "lbm-sdk/token/MsgApprove"; + readonly value: { + /** contract id associated with the token class. */ + readonly contractId: string; + /** address of the token approver which approves the authorization. */ + readonly approver: string; + /** address of the proxy which the authorization is granted to. */ + readonly proxy: string; + }; +} + +export function isAminoMsgApprove(msg: AminoMsg): msg is AminoMsgApprove { + return msg.type === "lbm-sdk/token/MsgApprove"; +} + +export interface AminoMsgIssue extends AminoMsg { + readonly type: "lbm-sdk/MsgIssue"; + readonly value: { + /** name defines the human-readable name of the token class. mandatory (not ERC20 compliant). */ + readonly name: string; + /** symbol is an abbreviated name for token class. mandatory (not ERC20 compliant). */ + readonly symbol: string; + /** image_uri is an uri for the image of the token class stored off chain. */ + readonly imageUri: string; + /** meta is a brief description of token class. */ + readonly meta: string; + /** decimals is the number of decimals which one must divide the amount by to get its user representation. */ + readonly decimals: number; + /** mintable represents whether the token is allowed to mint. */ + readonly mintable: boolean; + /** the address which all permissions on the token class will be granted to (not a permanent property). */ + readonly owner: string; + /** the address to send the minted token to. mandatory. */ + readonly to: string; + /** amount of tokens to mint on issuance. mandatory. */ + readonly amount: string; + }; +} + +export function isAminoMsgIssue(msg: AminoMsg): msg is AminoMsgIssue { + return msg.type === "lbm-sdk/MsgIssue"; +} + +export interface AminoMsgGrantPermission extends AminoMsg { + readonly type: "lbm-sdk/token/MsgGrantPermission"; + readonly value: { + /** contract id associated with the token class. */ + readonly contractId: string; + /** address of the granter which must have the permission to give. */ + readonly from: string; + /** address of the grantee. */ + readonly to: string; + /** permission on the token class. */ + readonly permission: string; + }; +} + +export function isAminoMsgGrantPermission(msg: AminoMsg): msg is AminoMsgGrantPermission { + return msg.type === "lbm-sdk/token/MsgGrantPermission"; +} + +export interface AminoMsgRevokePermission extends AminoMsg { + readonly type: "lbm-sdk/token/MsgRevokePermission"; + readonly value: { + /** contract id associated with the token class. */ + readonly contractId: string; + /** address of the grantee which abandons the permission. */ + readonly from: string; + /** permission on the token class. */ + readonly permission: string; + }; +} + +export function isAminoMsgRevokePermission(msg: AminoMsg): msg is AminoMsgRevokePermission { + return msg.type === "lbm-sdk/token/MsgRevokePermission"; +} + +export interface AminoMsgMint extends AminoMsg { + readonly type: "lbm-sdk/MsgMint"; + readonly value: { + /** contract id associated with the token class. */ + readonly contractId: string; + /** address which triggers the mint. */ + readonly from: string; + /** recipient of the tokens. */ + readonly to: string; + /** number of tokens to mint. */ + readonly amount: string; + }; +} + +export function isAminoMsgMint(msg: AminoMsg): msg is AminoMsgMint { + return msg.type === "lbm-sdk/MsgMint"; +} + +export interface AminoMsgBurn extends AminoMsg { + readonly type: "lbm-sdk/MsgBurn"; + readonly value: { + /** contract id associated with the token class. */ + readonly contractId: string; + /** address whose tokens are being burned. */ + readonly from: string; + /** number of tokens to burn. */ + readonly amount: string; + }; +} + +export function isAminoMsgBurn(msg: AminoMsg): msg is AminoMsgBurn { + return msg.type === "lbm-sdk/MsgBurn"; +} + +export interface AminoMsgBurnFrom extends AminoMsg { + readonly type: "lbm-sdk/MsgBurnFrom"; + readonly value: { + /** contract id associated with the token class. */ + readonly contractId: string; + /** address which triggers the burn. */ + readonly proxy: string; + /** address which the tokens will be burnt from. */ + readonly from: string; + /** the amount of the burn. */ + readonly amount: string; + }; +} + +export function isAminoMsgBurnFrom(msg: AminoMsg): msg is AminoMsgBurnFrom { + return msg.type === "lbm-sdk/MsgBurnFrom"; +} + +export interface AminoMsgModify extends AminoMsg { + readonly type: "lbm-sdk/token/MsgModify"; + readonly value: { + /** contract id associated with the contract. */ + contractId: string; + /** the address of the grantee which must have modify permission. */ + owner: string; + /** changes to apply. */ + changes: Pair[]; + }; +} + +export function isAminoMsgModify(msg: AminoMsg): msg is AminoMsgModify { + return msg.type === "lbm-sdk/token/MsgModify"; +} + +export function createTokenAminoConverters(): AminoConverters { + return { + "/lbm.token.v1.MsgSend": { + aminoType: "lbm-sdk/MsgSend", + toAmino: ({ contractId, from, to, amount }: MsgSend): AminoMsgSend["value"] => { + return { + contractId: contractId, + from: from, + to: to, + amount: amount, + }; + }, + fromAmino: ({ contractId, from, to, amount }: AminoMsgSend["value"]): MsgSend => { + return { + contractId: contractId, + from: from, + to: to, + amount: amount, + }; + }, + }, + "/lbm.token.v1.MsgTransferFrom": { + aminoType: "lbm-sdk/MsgTransferFrom", + toAmino: ({ contractId, proxy, from, to, amount }: MsgTransferFrom): AminoMsgTransferFrom["value"] => { + return { + contractId: contractId, + proxy: proxy, + from: from, + to: to, + amount: amount, + }; + }, + fromAmino: ({ + contractId, + proxy, + from, + to, + amount, + }: AminoMsgTransferFrom["value"]): MsgTransferFrom => { + return { + contractId: contractId, + proxy: proxy, + from: from, + to: to, + amount: amount, + }; + }, + }, + "/lbm.token.v1.MsgRevokeOperator": { + aminoType: "lbm-sdk/MsgRevokeOperator", + toAmino: ({ contractId, holder, operator }: MsgRevokeOperator): AminoMsgRevokeOperator["value"] => { + return { + contractId: contractId, + holder: holder, + operator: operator, + }; + }, + fromAmino: ({ contractId, holder, operator }: AminoMsgRevokeOperator["value"]): MsgRevokeOperator => { + return { + contractId: contractId, + holder: holder, + operator: operator, + }; + }, + }, + "/lbm.token.v1.MsgApprove": { + aminoType: "lbm-sdk/token/MsgApprove", + toAmino: ({ contractId, approver, proxy }: MsgApprove): AminoMsgApprove["value"] => { + return { + contractId: contractId, + approver: approver, + proxy: proxy, + }; + }, + fromAmino: ({ contractId, approver, proxy }: AminoMsgApprove["value"]): MsgApprove => { + return { + contractId: contractId, + approver: approver, + proxy: proxy, + }; + }, + }, + "/lbm.token.v1.MsgIssue": { + aminoType: "lbm-sdk/MsgIssue", + toAmino: ({ + name, + symbol, + imageUri, + meta, + decimals, + mintable, + owner, + to, + amount, + }: MsgIssue): AminoMsgIssue["value"] => { + return { + name: name, + symbol: symbol, + imageUri: imageUri, + meta: meta, + decimals: decimals, + mintable: mintable, + owner: owner, + to: to, + amount: amount, + }; + }, + fromAmino: ({ + name, + symbol, + imageUri, + meta, + decimals, + mintable, + owner, + to, + amount, + }: AminoMsgIssue["value"]): MsgIssue => { + return { + name: name, + symbol: symbol, + imageUri: imageUri, + meta: meta, + decimals: decimals, + mintable: mintable, + owner: owner, + to: to, + amount: amount, + }; + }, + }, + "/lbm.token.v1.MsgGrantPermission": { + aminoType: "lbm-sdk/token/MsgGrantPermission", + toAmino: ({ + contractId, + from, + to, + permission, + }: MsgGrantPermission): AminoMsgGrantPermission["value"] => { + return { + contractId: contractId, + from: from, + to: to, + permission: permission, + }; + }, + fromAmino: ({ + contractId, + from, + to, + permission, + }: AminoMsgGrantPermission["value"]): MsgGrantPermission => { + return { + contractId: contractId, + from: from, + to: to, + permission: permission, + }; + }, + }, + "/lbm.token.v1.MsgRevokePermission": { + aminoType: "lbm-sdk/token/MsgRevokePermission", + toAmino: ({ contractId, from, permission }: MsgRevokePermission): AminoMsgRevokePermission["value"] => { + return { + contractId: contractId, + from: from, + permission: permission, + }; + }, + fromAmino: ({ + contractId, + from, + permission, + }: AminoMsgRevokePermission["value"]): MsgRevokePermission => { + return { + contractId: contractId, + from: from, + permission: permission, + }; + }, + }, + "/lbm.token.v1.MsgMint": { + aminoType: "lbm-sdk/MsgMint", + toAmino: ({ contractId, from, to, amount }: MsgMint): AminoMsgMint["value"] => { + return { + contractId: contractId, + from: from, + to: to, + amount: amount, + }; + }, + fromAmino: ({ contractId, from, to, amount }: AminoMsgMint["value"]): MsgMint => { + return { + contractId: contractId, + from: from, + to: to, + amount: amount, + }; + }, + }, + "/lbm.token.v1.MsgBurn": { + aminoType: "lbm-sdk/MsgBurn", + toAmino: ({ contractId, from, amount }: MsgBurn): AminoMsgBurn["value"] => { + return { + contractId: contractId, + from: from, + amount: amount, + }; + }, + fromAmino: ({ contractId, from, amount }: AminoMsgBurn["value"]): MsgBurn => { + return { + contractId: contractId, + from: from, + amount: amount, + }; + }, + }, + "/lbm.token.v1.MsgBurnFrom": { + aminoType: "lbm-sdk/MsgBurnFrom", + toAmino: ({ contractId, proxy, from, amount }: MsgBurnFrom): AminoMsgBurnFrom["value"] => { + return { + contractId: contractId, + proxy: proxy, + from: from, + amount: amount, + }; + }, + fromAmino: ({ contractId, proxy, from, amount }: AminoMsgBurnFrom["value"]): MsgBurnFrom => { + return { + contractId: contractId, + proxy: proxy, + from: from, + amount: amount, + }; + }, + }, + "/lbm.token.v1.MsgModify": { + aminoType: "lbm-sdk/token/MsgModify", + toAmino: ({ contractId, owner, changes }: MsgModify): AminoMsgModify["value"] => { + return { + contractId: contractId, + owner: owner, + changes: changes, + }; + }, + fromAmino: ({ contractId, owner, changes }: AminoMsgModify["value"]): MsgModify => { + return { + contractId: contractId, + owner: owner, + changes: changes, + }; + }, + }, + }; +} diff --git a/packages/finschia/src/modules/wasmplus/aminomessages.ts b/packages/finschia/src/modules/wasmplus/aminomessages.ts new file mode 100644 index 00000000..96f455f2 --- /dev/null +++ b/packages/finschia/src/modules/wasmplus/aminomessages.ts @@ -0,0 +1,66 @@ +import { AminoMsg } from "@cosmjs/amino"; +import { AminoConverters } from "@cosmjs/stargate"; +import { Coin } from "lbmjs-types/cosmos/base/v1beta1/coin"; +import { AccessConfig } from "lbmjs-types/cosmwasm/wasm/v1/types"; +import { MsgStoreCodeAndInstantiateContract } from "lbmjs-types/lbm/wasm/v1/tx"; + +export interface AminoMsgStoreCodeAndInstantiateContract extends AminoMsg { + readonly type: "wasm/MsgStoreCodeAndInstantiateContract"; + readonly value: { + /** Sender is the that actor that signed the messages */ + readonly sender: string; + /** WASMByteCode can be raw or gzip compressed */ + readonly wasmByteCode: Uint8Array; + readonly instantiatePermission?: AccessConfig; + /** Admin is an optional address that can execute migrations */ + readonly admin: string; + /** Label is optional metadata to be stored with a contract instance. */ + readonly label: string; + /** Msg json encoded message to be passed to the contract on instantiation */ + readonly msg: Uint8Array; + /** Funds coins that are transferred to the contract on instantiation */ + readonly funds: Coin[]; + }; +} + +export function createWasmplusAminoConverters(): AminoConverters { + return { + "/lbm.wasm.v1.MsgStoreCodeAndInstantiateContract": { + aminoType: "wasm/MsgStoreCodeAndInstantiateContract", + toAmino: ({ + sender, + wasmByteCode, + instantiatePermission, + admin, + label, + msg, + funds, + }: MsgStoreCodeAndInstantiateContract): AminoMsgStoreCodeAndInstantiateContract["value"] => ({ + sender: sender, + wasmByteCode: wasmByteCode, + instantiatePermission: instantiatePermission, + admin: admin, + label: label, + msg: msg, + funds: funds, + }), + fromAmino: ({ + sender, + wasmByteCode, + instantiatePermission, + admin, + label, + msg, + funds, + }: AminoMsgStoreCodeAndInstantiateContract["value"]): MsgStoreCodeAndInstantiateContract => ({ + sender: sender, + wasmByteCode: wasmByteCode, + instantiatePermission: instantiatePermission, + admin: admin, + label: label, + msg: msg, + funds: funds, + }), + }, + }; +} diff --git a/packages/finschia/src/signingfinschiaclient.ts b/packages/finschia/src/signingfinschiaclient.ts index 793eb58d..7a3ef149 100644 --- a/packages/finschia/src/signingfinschiaclient.ts +++ b/packages/finschia/src/signingfinschiaclient.ts @@ -90,6 +90,9 @@ import { wasmplusTypes, wasmTypes, } from "./modules"; +import { createCollectionAminoConverters } from "./modules/collection/aminomessages"; +import { createTokenAminoConverters } from "./modules/token/aminomessages"; +import { createWasmplusAminoConverters } from "./modules/wasmplus/aminomessages"; export interface UploadAndInstantiateResult { /** Size of the original wasm code in bytes */ @@ -140,6 +143,9 @@ function createDefaultTypes(prefix: string): AminoConverters { ...createStakingAminoConverters(prefix), // ...createVestingAminoConverters(), this is omitted in cosmjs export ...createWasmAminoConverters(), + ...createCollectionAminoConverters(), + ...createTokenAminoConverters(), + ...createWasmplusAminoConverters(), }; } diff --git a/scripts/simapp/env b/scripts/simapp/env index 776c7891..6451f403 100644 --- a/scripts/simapp/env +++ b/scripts/simapp/env @@ -1,4 +1,4 @@ # Choose from https://hub.docker.com/r/line/lbm-simapp/tags REPOSITORY="line/lbm-simapp" -VERSION="0.46.0-rc8" +VERSION="0.46.0-rc9" CONTAINER_NAME="lbm-simapp" diff --git a/scripts/simapp/template/.simapp/config/app.toml b/scripts/simapp/template/.simapp/config/app.toml index 0c43962f..c07bafc2 100644 --- a/scripts/simapp/template/.simapp/config/app.toml +++ b/scripts/simapp/template/.simapp/config/app.toml @@ -12,7 +12,7 @@ minimum-gas-prices = "0stake" # default: the last 100 states are kept in addition to every 500th state; pruning at 10 block intervals # nothing: all historic states will be saved, nothing will be deleted (i.e. archiving node) -# everything: all saved states will be deleted, storing only the current state; pruning at 10 block intervals +# everything: all saved states will be deleted, storing only the current and previous state; pruning at 10 block intervals # custom: allow pruning options to be manually specified through 'pruning-keep-recent', 'pruning-keep-every', and 'pruning-interval' pruning = "nothing" @@ -56,11 +56,14 @@ inter-block-cache = true # InterBlockCacheSize is the maximum bytes size of the inter-block cache. inter-block-cache-size = 104857600 -# IAVLCacheSize is the maximum bytes size of iavl node cache -iavl-cache-size = 104857600 +# IAVLCacheSize is the maximum units size of iavl node cache (1 unit is 128 bytes) +# This iavl cache size is just one store cache size, and the store exists for each modules. +# So be careful that all iavl cache size are difference from this iavl cache size value. +iavl-cache-size = 524288 -# Bech32CacheSize is the maximum bytes size of bech32 cache (Default : 1GB) -bech32-cache-size = 1073741824 +# IAVLDisableFastNode enables or disables the fast node feature of IAVL. +# Default is false. +iavl-disable-fastnode = false # IndexEvents defines the set of events in the form {eventType}.{attributeKey}, # which informs Tendermint what to index. If empty, all events will be indexed. @@ -138,7 +141,7 @@ rpc-idle-timeout = 60 rpc-max-body-bytes = 1000000 # EnableUnsafeCORS defines if CORS should be enabled (unsafe - use it at your own risk). -enabled-unsafe-cors = false +enabled-unsafe-cors = true ############################################################################### ### Rosetta Configuration ### diff --git a/scripts/simapp/template/.simapp/config/genesis.json b/scripts/simapp/template/.simapp/config/genesis.json index bdd0d7c0..bbb6c1a9 100644 --- a/scripts/simapp/template/.simapp/config/genesis.json +++ b/scripts/simapp/template/.simapp/config/genesis.json @@ -1,5 +1,5 @@ { - "genesis_time": "2022-07-04T05:37:13.165675881Z", + "genesis_time": "2022-10-27T10:52:55.320619Z", "chain_id": "simd-testing", "initial_height": "1", "consensus_params": { @@ -14,10 +14,7 @@ "max_bytes": "1048576" }, "validator": { - "pub_key_types": [ - "ed25519", - "composite(bls12-381,ed25519)" - ] + "pub_key_types": ["ed25519", "composite(bls12-381,ed25519)"] }, "version": {} }, @@ -352,12 +349,12 @@ }, "foundation": { "params": { - "enabled": false, - "foundation_tax": "0.000000000000000000" + "foundation_tax": "0.000000000000000000", + "censored_msg_type_urls": ["/lbm.foundation.v1.MsgWithdrawFromTreasury"] }, "foundation": { - "operator": "link1gx2dzurw686q340q94njwacpnax48pw824tksx", "version": "1", + "total_weight": "1.000000000000000000", "decision_policy": { "@type": "/lbm.foundation.v1.ThresholdDecisionPolicy", "threshold": "4.000000000000000000", @@ -369,14 +366,17 @@ }, "members": [ { - "address": "link146asaycmtydq45kxc8evntqfgepagygelel00h", - "participating": true + "address": "link146asaycmtydq45kxc8evntqfgepagygelel00h" } ], "previous_proposal_id": "0", "proposals": [], "votes": [], - "authorizations": [] + "authorizations": [], + "pool": { + "treasury": [] + }, + "govMintLeftCount": 0 }, "genutil": { "gen_txs": [ @@ -402,7 +402,7 @@ "validator_address": "linkvaloper1twsfmuj28ndph54k4nw8crwu8h9c8mh33lyrp8", "pubkey": { "@type": "/cosmos.crypto.ed25519.PubKey", - "key": "KaI3IDlqEArtaIa9jijqtmfUR7yZS1WYtwppo2GnlQU=" + "key": "Z3G8Dxdy6E3pt0TH/Wgw4ovkMiSbDDzM5LZ5+DrgPxY=" }, "value": { "denom": "stake", @@ -410,7 +410,7 @@ } } ], - "memo": "75e63e9c7153b4921d6c1abbb046e0398c3f5a5a@192.168.0.53:26656", + "memo": "7e7efe4de6e99eb1ed6e797cb6e2f5b508dee33b@172.30.1.87:26656", "timeout_height": "0", "extension_options": [], "non_critical_extension_options": [] @@ -438,7 +438,7 @@ } }, "signatures": [ - "i3aTR2T/WjayJEwX2Mnn+QjAvmlWPRqOLTVxhIqu3fgLMDRwe2K6z8P1KxSUCXypMGtTkby5WvRL2UhWKGudMw==" + "SEuyfoMUuZ9CQyWjgOjAI+XLYy8SRXRmmDXX+UvehIVrNDrT2pS9IZCAHY7C30oeW3Dafdcd062u3NuKDG+cVg==" ] } ] @@ -472,10 +472,7 @@ "clients_consensus": [], "clients_metadata": [], "params": { - "allowed_clients": [ - "06-solomachine", - "99-ostracon" - ] + "allowed_clients": ["06-solomachine", "99-ostracon"] }, "create_localhost": false, "next_client_sequence": "0" @@ -483,7 +480,10 @@ "connection_genesis": { "connections": [], "client_connection_paths": [], - "next_connection_sequence": "0" + "next_connection_sequence": "0", + "params": { + "max_expected_time_per_block": "30000000000" + } }, "channel_genesis": { "channels": [], @@ -496,6 +496,25 @@ "next_channel_sequence": "0" } }, + "interchainaccounts": { + "controller_genesis_state": { + "active_channels": [], + "interchain_accounts": [], + "ports": [], + "params": { + "controller_enabled": true + } + }, + "host_genesis_state": { + "active_channels": [], + "interchain_accounts": [], + "port": "icahost", + "params": { + "host_enabled": true, + "allow_messages": [] + } + } + }, "mint": { "minter": { "inflation": "0.130000000000000000", @@ -510,6 +529,7 @@ "blocks_per_year": "6311520" } }, + "mock": null, "params": null, "slashing": { "params": { @@ -576,7 +596,8 @@ "codes": [], "contracts": [], "sequences": [], - "gen_msgs": [] + "gen_msgs": [], + "inactive_contract_addresses": [] } } } diff --git a/scripts/simapp/template/.simapp/config/gentx/gentx-75e63e9c7153b4921d6c1abbb046e0398c3f5a5a.json b/scripts/simapp/template/.simapp/config/gentx/gentx-75e63e9c7153b4921d6c1abbb046e0398c3f5a5a.json deleted file mode 100644 index 04fc602a..00000000 --- a/scripts/simapp/template/.simapp/config/gentx/gentx-75e63e9c7153b4921d6c1abbb046e0398c3f5a5a.json +++ /dev/null @@ -1 +0,0 @@ -{"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"simd-testing","identity":"","website":"","security_contact":"","details":""},"commission":{"rate":"0.100000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"link1twsfmuj28ndph54k4nw8crwu8h9c8mh3rtx705","validator_address":"linkvaloper1twsfmuj28ndph54k4nw8crwu8h9c8mh33lyrp8","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"KaI3IDlqEArtaIa9jijqtmfUR7yZS1WYtwppo2GnlQU="},"value":{"denom":"stake","amount":"10000000000"}}],"memo":"75e63e9c7153b4921d6c1abbb046e0398c3f5a5a@192.168.0.53:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AsVtdRaoc8AsTmzIvRAKWSYgHXf97/HI4ls2wENFk9C8"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["i3aTR2T/WjayJEwX2Mnn+QjAvmlWPRqOLTVxhIqu3fgLMDRwe2K6z8P1KxSUCXypMGtTkby5WvRL2UhWKGudMw=="]} diff --git a/scripts/simapp/template/.simapp/config/gentx/gentx-7e7efe4de6e99eb1ed6e797cb6e2f5b508dee33b.json b/scripts/simapp/template/.simapp/config/gentx/gentx-7e7efe4de6e99eb1ed6e797cb6e2f5b508dee33b.json new file mode 100644 index 00000000..503ab8f5 --- /dev/null +++ b/scripts/simapp/template/.simapp/config/gentx/gentx-7e7efe4de6e99eb1ed6e797cb6e2f5b508dee33b.json @@ -0,0 +1 @@ +{"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"simd-testing","identity":"","website":"","security_contact":"","details":""},"commission":{"rate":"0.100000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"link1twsfmuj28ndph54k4nw8crwu8h9c8mh3rtx705","validator_address":"linkvaloper1twsfmuj28ndph54k4nw8crwu8h9c8mh33lyrp8","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"Z3G8Dxdy6E3pt0TH/Wgw4ovkMiSbDDzM5LZ5+DrgPxY="},"value":{"denom":"stake","amount":"10000000000"}}],"memo":"7e7efe4de6e99eb1ed6e797cb6e2f5b508dee33b@172.30.1.87:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AsVtdRaoc8AsTmzIvRAKWSYgHXf97/HI4ls2wENFk9C8"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["SEuyfoMUuZ9CQyWjgOjAI+XLYy8SRXRmmDXX+UvehIVrNDrT2pS9IZCAHY7C30oeW3Dafdcd062u3NuKDG+cVg=="]} diff --git a/scripts/simapp/template/.simapp/config/node_key.json b/scripts/simapp/template/.simapp/config/node_key.json index 9278b750..9547e260 100644 --- a/scripts/simapp/template/.simapp/config/node_key.json +++ b/scripts/simapp/template/.simapp/config/node_key.json @@ -1 +1 @@ -{"priv_key":{"type":"tendermint/PrivKeyEd25519","value":"6foazE557NHpW+ayLh6hM6t574wcmz21p5xytbYNiDhM24rjHZT//I9DONcGRafCzprEiOs9MuEqHmqxIZYFTQ=="}} \ No newline at end of file +{"priv_key":{"type":"tendermint/PrivKeyEd25519","value":"ZhyeH99uBkzlDLRkzqBZSSRUJxJ5mWEb+S/lwS115nKMsZ+AVMaLRSUuyNqbupahZFlS2A65v/7PwRK5rWLxYA=="}} \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/config/priv_validator_key.json b/scripts/simapp/template/.simapp/config/priv_validator_key.json index 53912a22..7c53b675 100644 --- a/scripts/simapp/template/.simapp/config/priv_validator_key.json +++ b/scripts/simapp/template/.simapp/config/priv_validator_key.json @@ -1,11 +1,11 @@ { - "address": "EB0897AEA5E2E2F9594BE8460E4D40A15048A046", + "address": "17A5F3290AE893FCFF2E7A8535EE1988FC5CF4ED", "pub_key": { "type": "tendermint/PubKeyEd25519", - "value": "KaI3IDlqEArtaIa9jijqtmfUR7yZS1WYtwppo2GnlQU=" + "value": "Z3G8Dxdy6E3pt0TH/Wgw4ovkMiSbDDzM5LZ5+DrgPxY=" }, "priv_key": { "type": "tendermint/PrivKeyEd25519", - "value": "xv73DYcZveVnHEDQVg08g9i5FoAtF68/yu08lZonRLUpojcgOWoQCu1ohr2OKOq2Z9RHvJlLVZi3CmmjYaeVBQ==" + "value": "jSolqALK19NFqjLna48gnI71S+AWqKvaC/vBLvIaxm1ncbwPF3LoTem3RMf9aDDii+QyJJsMPMzktnn4OuA/Fg==" } } \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/43fc557814c74f863bea49b433e51676bfd99bc1.address b/scripts/simapp/template/.simapp/keyring-test/43fc557814c74f863bea49b433e51676bfd99bc1.address index fe600ed5..98c075d9 100644 --- a/scripts/simapp/template/.simapp/keyring-test/43fc557814c74f863bea49b433e51676bfd99bc1.address +++ b/scripts/simapp/template/.simapp/keyring-test/43fc557814c74f863bea49b433e51676bfd99bc1.address @@ -1 +1 @@ -eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wNy0yNyAxNToyOTozNy40NDY3NDUgKzA5MDAgSlNUIG09KzAuMDMyNzU5ODc2IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiaE13N2FNU1FYLVNjUndGVSJ9.MYCt50TVSt-4N13QVQmiU1dN6llLsCCMDdhxKf3uQQqt1gtT3JGEWQ.3g_Sc72ZISOR6Xaw.WQc-2ENT4NAFdNXGjzRAMdT0gRrMRgZlDV5LpF3mAb-AY4LqjC5nBYB27JQHkl4A0JsJZTkIohD0-BXzRQc017jf9HJWvgi4uqAaTkvTtm70tjv1LXWH7n8r3so5qoxaFHjIxHxQz4EnEJKIc1IkLcxDR5HF0T5UBKidTAHzKUoe1ktATFz0JNNp3Wo3s0cxguswgwZEO2ATJ0xV_q7PADiLPm-yF4g2CqXW_LTVFJXSU2l_IKehA1XQ.EeGHsGyYjtE-nxaDozAeYw \ No newline at end of file +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0xMC0yNyAxOTo1Mjo1NS42OTM2ODQgKzA5MDAgS1NUIG09KzAuMDMzOTAwMjkyIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiRTJVeDRHV01oUVFIUU5nRyJ9.kfzAHv5EVZzjnuAVspNmEX_NjpB1IS94TZmvw2Ee5JdKc1kx8vsQyA.-84VBUebaiiN2aQ8.6_MJ9xOuaTl3I-ZC2Nvy8y7Hf4BFjsmL29LFFX_hvoR36LIt34GAuCaVF7Vfp_uBKERY2gmxah0LGz8VC2zocdks9qMSx-9uI_KWJ1sfQkkPDt-57nN32XQatAO09UPX-zO9tpSaeuCTXZzXI00nIEfZ07rGapdfDwYW5d5u8UJNGdvVgVW81iULY_IMACpArXLIvcSA5ak5PlGbx8OynrURGFCd7WbeUkPQb2vOKnjvU_uFcSzTYwsV.MYwTBtj0lIc8x6ftgjrR6A \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/479104597f29240eafb883bee64e1420895e5259.address b/scripts/simapp/template/.simapp/keyring-test/479104597f29240eafb883bee64e1420895e5259.address index 701fc4bd..21cbde3f 100644 --- a/scripts/simapp/template/.simapp/keyring-test/479104597f29240eafb883bee64e1420895e5259.address +++ b/scripts/simapp/template/.simapp/keyring-test/479104597f29240eafb883bee64e1420895e5259.address @@ -1 +1 @@ -eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wNy0yNyAxNToyOTozNy40OTE0MjYgKzA5MDAgSlNUIG09KzAuMDMyNTAwNjY3IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoidVRNdUhlZmYxTG9WZ3pmRiJ9.cCDkmijlFYUl1TYqiG6b70FZSdC-KMzOKNYbLP68csW_jSmmcVXvMg.Rgj5jT43_V6b0d4G.CNfuHLKveVFrgM-e8TNNwPFYRPAHpipqAnzycz8dvedNm3sKiEggr_0iCugiZU5pimMQl9eACxuolvodsQKrRvgAdXxmclEkIS7QXJ9JheWvR8L8ct3Wf3eXafO5zad1YbCkL6lmUav1TEvD1GVuCxuv-2wem_ii_N76Q8hA7N-3GNCDqaZMHHQHcNETXPFg3sBUv3ttMVaoBW0ukdQQayZUKIL7vOoQNjEZglKW5Q-gz9Bnlt-0WTHM.R7IW6PtgM939n70jOL_lCA \ No newline at end of file +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0xMC0yNyAxOTo1Mjo1NS43NDA5MDMgKzA5MDAgS1NUIG09KzAuMDMzNjcwNDYwIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoibnJYSlZiYXJPUndFOUZ0bCJ9.0ENnlU7G07YcbMBAe2ifrqAODhBqTK2WyfsF1xI569NTPdfePO3xyA.pYIhH615lRYhK2k_.UvkbBYeBilEowlYXjx2avIzKNSoJKF4POyF-SNecX6WYQYucnLS4uVUeKBrgbAMyus3KwI4cFcSDoxAWtKRcSSyGWu2tbSKmcRieqQ-gRKePEB6q9fBaDSXQWdEMxjVdTmc_XrX7es1_5PFgc7xwzkUd2-cO0fXrFxEzcefn9k5IOIYQMIRxUebMOvtC6RJBgvkN6W-uJAtxQ82A8sj75dqZo1F1uid6Z-mawDWvM67rEH5DX-174_57.tP-fNTJoC1SGqqL9Rb9J7w \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/5ba09df24a3cda1bd2b6acdc7c0ddc3dcb83eef1.address b/scripts/simapp/template/.simapp/keyring-test/5ba09df24a3cda1bd2b6acdc7c0ddc3dcb83eef1.address index e77e0bf8..e3ce6e82 100644 --- a/scripts/simapp/template/.simapp/keyring-test/5ba09df24a3cda1bd2b6acdc7c0ddc3dcb83eef1.address +++ b/scripts/simapp/template/.simapp/keyring-test/5ba09df24a3cda1bd2b6acdc7c0ddc3dcb83eef1.address @@ -1 +1 @@ -eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wNy0yNyAxNToyOTozNy41OTMxMjQgKzA5MDAgSlNUIG09KzAuMDM2MzkwOTE4IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiZ0tZcllOaExpUTg3YVBJYyJ9.I0qI1EtVjaZRTMF8_ySC6VUbh5PgyOSnntEhBl7SeeEc43EmeC1Unw.dVTZPMSKCNtl6gsq.YQtlH1MWCg8rAXGvZ4yDC8t2MB3LFEf2UK9YctoqSuuLaUYih1UVW99nM_Q2UA3QQOqh4JIi_NA9A0FnQhIXnEjDRXVoozG3g46WPfmr9hvpfHvjHSPHgnJDHwJEDgDH_kgcp5vkthVm3z_yxEFcog5ay-aJFYxcHdO67lS3i6nyYEMnCmwWVluBCfrA9jpFar_7kNFsU0g56GOVozHujEDjDj6qb9xk4Nkgis2NUx0mylkSVQD3UUmP.WLrKI_GQOJklCnFyexC9jA \ No newline at end of file +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0xMC0yNyAxOTo1Mjo1NS44NDY5NDQgKzA5MDAgS1NUIG09KzAuMDMzNjk5MDg0IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiUkh1aUNTNE9wb2c1NXJHSCJ9.4BwJYSDSk1mw1zTKZctm-A2ksAOleQuOJRV79f20TfXHV7geoopAhw.-K0EZM6IzyzAYw7y.A5naz3hC8LJ3Vn5pSPB1jQcYYE6J0rH1IoMzHWm48k1njxmxPnd0XMctyLmtYZLpSjkmv10YMML0B3FHXJCB8jywawjcnnwliBlWoLizPva3Ryo9yLpFkGSlc4E9G-V-Gn9iLUBFpmr2ImHOkqC2ZQAzeq-yStrOla-ZEnJ5zcYN1N6Vo__aBCdWpuoB1gccbgqbvrMoaRuyK3AiDM9VR27NuX_eGQXQu9J_DP9s7b5qn6ip30GjTJDE.Z5oEhIokIByuly54LrMYmg \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/6a4847491fc242b9f95d31af087c243e43a703ce.address b/scripts/simapp/template/.simapp/keyring-test/6a4847491fc242b9f95d31af087c243e43a703ce.address index 86bcbef2..8d3e2dd8 100644 --- a/scripts/simapp/template/.simapp/keyring-test/6a4847491fc242b9f95d31af087c243e43a703ce.address +++ b/scripts/simapp/template/.simapp/keyring-test/6a4847491fc242b9f95d31af087c243e43a703ce.address @@ -1 +1 @@ -eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wNy0yNyAxNToyOTozNy4yNjU4NjYgKzA5MDAgSlNUIG09KzAuMDMzMzU5NTQzIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiejNGREhjZXZBVUxkX2FUTCJ9.8O0w6tDlouuHwjA804BJ9inCwG1LdoER2kpHxqhhFdTtM_zejdQdvQ.lkyjns3Drp5AITjZ.udqzD-VUqyKtjmUVDA0Q7ot6u7bax17aaLHAbRtn9qzJo0R2oHfQ-T6kIxw0l4IBPRyUjGnlAhXWYgq25s1xS27pumfzHKVDceXpOGU_rqz6KhqGZPLEyinFj8cVUzBQ3Tm5VD_SPh4YM-gnZJPobloCrSXnMGBlh_jZVfLV-P2xCSuAFD9RQ3UiWSYnaSnwKnw1lJUTK97swrhwNdsFJXihdtSW6JR4_Ie09Z6g3jCJrDV2oc-paI_E.3km75Vhj-PyiatV8liU_wg \ No newline at end of file +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0xMC0yNyAxOTo1Mjo1NS41MTc1MjggKzA5MDAgS1NUIG09KzAuMDM0NDM0MDQzIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoia0hGQy1JQkVYZEZzTEhYTCJ9.X_3S6TuQlkue8p5CiXibvhD6TAKDE61azQNPhoXLQqd5B3SCOxRf3Q.itHKQ5jIuuGrUvdP.tEhrxrIsOOE53kP5Hx786PKhATIwhCJMrdALuUPDe5dl3GVmTYNIv3xJLt-MvUkf6M80fDHjoQUG4uy4ZdzOnySKiGv6bGNUKReyhMDkTNZkDMZZ_cauSCPurDoRSUDmsWnWV6f_NuFp1md2iExftiEF4ZZjzz9C-hOSRBR8vS457p_6y2DeRopUooWlINRCqWWakqQ1ffWA_pMQ7ZrPibQatUrj1rE4kpbKvwpNLb6RepZBxiB_e2A6.S5uKQSE-dRiphIRXPNlhbw \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/account0.info b/scripts/simapp/template/.simapp/keyring-test/account0.info index a4afdb66..1e059df8 100644 --- a/scripts/simapp/template/.simapp/keyring-test/account0.info +++ b/scripts/simapp/template/.simapp/keyring-test/account0.info @@ -1 +1 @@ -eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wNy0yNyAxNToyOTozNy4xMjMwNyArMDkwMCBKU1QgbT0rMC4wMzYwOTI5NjAiLCJlbmMiOiJBMjU2R0NNIiwicDJjIjo4MTkyLCJwMnMiOiJnbUo3RVdzMkpCRXJUMnI3In0.CEG4KGgYUEprKCPWlto-eIeLQWPqIL93nHlQcTfSmmUkzauBoF1LRA.-MiMMOuESreB2aaw.1mUG5kGO1-ATG4xsGH1l_8wqBZvUFd1hKTGTGcOIUjIm1hmgVnyKI7N93GJvXFPlE48LH-0qJJq5q9AdD41n89WD9PXeduuipI5pfceoOSZRFXKUBEj6zZd-kbal0Kgvn9r2ZBIVZA8HZyK42DLzpbuLWRXu_7cpi8XdaIsNpxooIEP3rwV6iy-TDQZdLf_PWHdQkgGyLMlPvKPBE3l6JsFeXXCk1EAlGoj_NRS7aTjjk7D2cDdIGEZobAnqdBxLT9VxbmFAjIVHZ-Ezv6E91F7qx1vuYvBPuvjTwjERY8I9sTcxYvvHkbNmEkR5hODLFHvo01-phJbxjfObtr5n0-sOI7zqqh6PsMI8NimIlQ.k6KVym_bmm0rRy9JAAUJtw \ No newline at end of file +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0xMC0yNyAxOTo1Mjo1NS4zNzEyNzQgKzA5MDAgS1NUIG09KzAuMDM5NzY1MTI2IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoidHBHc21XbEp5TUhNd1lidSJ9.f5wPEelVzSDdaUjZ5JdosW8pOLiI64oDOL_oGQnP1STPKGA-uH_crg.zTy6KKL0xNhLnTj-.G4ZCzpdFKVVmIpaWqQhShI9KAo8rDT6KLzTuM1nCLPjsDnphFkiqCcvwcuSp6UF2aP3HZqEpGXaa7YYZOOP0TmORJU62dhzjV4XGd-bGMaPwLK1BVMwLQKdm33diuuNoWdKjfL_9Y-l9VboQZrfy7tZC9qLOsLJWfAcpR22SfIPcsrmyLpUqHoNNYFBMRZe8aGOkh94fXkLEgRJBWwCooZ4BfGlzNBc_2AZIqdJrXjY0UDlG62tWfBgjBfsqnl7JDah1gMqzkUYrlYpM49YRO2HGaHLnEUuygaDTWTMrxdv8qCcnox6LFpwrXanRT1CnAWG-DNFrxZueFipUz0cDS-WRebUylL9XIBFWtQcGIA.0vdcpxrCkR49JGiVFhB2gw \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/account1.info b/scripts/simapp/template/.simapp/keyring-test/account1.info index 5e5c0a2e..9288bb17 100644 --- a/scripts/simapp/template/.simapp/keyring-test/account1.info +++ b/scripts/simapp/template/.simapp/keyring-test/account1.info @@ -1 +1 @@ -eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wNy0yNyAxNToyOTozNy4xNzMyNjUgKzA5MDAgSlNUIG09KzAuMDMzNjYwMTI2IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiSUxCU3lXb2x0UElZNU5kXyJ9.F_vxLiZBp1f1W5ZgWfc8fgFuRr1CIempBwFxjrCQNSO1K11ugLpIBA.aHTrbQ7dDzMKebB3.2_fQ3L5zlyCIDJ5swVsbuZuGKLVDtLESTCubOQRBrT--PvIKUkMqJK8HZH_9sNdxgUxGm-bBliTDd6nXlbA0PaSXWkkWtyDImMi2_dGXh58B1SKAe_0h6bV3Vp4hgPbZ0Tnz9XyQvap4x1dJyx4tCJrS7Zo6QLbRCQp_o1dj6t91BKMr_LRZVtJHeGvqoy4dTggwtUsuYDDpM4CnvjEI9Wrzsl_EUx-_XqJbFdg279BWyZtVLRKy0nsIdCXjH-7Xb-eXh695Xcat2DOKSxrjkk8Tcm0u1HSYjunJ5gq5Nx47TFrkEqjzkkMKQjcC_fW6JA_xsHCznWlKAEHy69qWsP-jNCeg-lhEmE-b-Gg2Ng.9g0PqKEZrr-cSnN76nGC8g \ No newline at end of file +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0xMC0yNyAxOTo1Mjo1NS40MjY1MDggKzA5MDAgS1NUIG09KzAuMDQwNzExMTI2IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoicWl6WEstVWtjdVJPb2tsYiJ9.p6AccCgYWz9BqR2qclqxhdCuz7XclkV-UqAtADUIWG30dcIL9f-aLg.J0jcqcgCc7CUBTwk.UE6dGJiDWlUq_c-qU9-oHlkj5QJkKmVcM8pTgSiGSq-GAz3siNHuhjFavwnCfVQYjCFCUv16EVUWk9KtJBNTtj7wyqrIHEsnUVuN0Y6BhQ7yU1mewAI7ggUx7VFS8SD6J6Y76d4T_7vhEflXzsFqiAlQR2dr7LeGgATlF8TjPVx78WaiWz4gtkhJixxLngWSERsa9ZFPmkP5u_kDIkNXvfb7gQVWk2uGvU1lRMecFOIOPRr4h5k7EDUmVaUATAzN15IX6lKJzdQfPPsF3e7HOsqukICCqWq-xyXhO4zZTF5USclxQGQK3i70GvXRZ2bkTuc-2nTWK5Rc_ii0rsmqjwFfnu0oDy9oI5RQptQJHA.CvVwERup8_2Bd5mXxt-Uvg \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/account2.info b/scripts/simapp/template/.simapp/keyring-test/account2.info index b40c23f9..42b7e4d3 100644 --- a/scripts/simapp/template/.simapp/keyring-test/account2.info +++ b/scripts/simapp/template/.simapp/keyring-test/account2.info @@ -1 +1 @@ -eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wNy0yNyAxNToyOTozNy4yMTg1OTggKzA5MDAgSlNUIG09KzAuMDMxMjEzNTAxIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiOEZjT1QyVkpyNnFsMWV5NyJ9.KqsRxkscF1vYV-YXftMD_Tl6booCjV5-ct8xMwvpzDEIlOnjIgTddQ.Z4KVYi3rnDPg7d_t.y9QPWSWFU0mYmA4SrOn10397Bt6i4EZ1iPnhdthFnI-hrnsko5tEdzkDlS1vmS7h3cEYh_F9cUKgY819J5PicWWBxrhClTuPkVlsiggrA1-1nKcRRQymaNqLPQYZfRSF0dSNnG40VTs_UQuqNBQvrUraPLVp8-rYFIHu0jrOm2r_lB-CEN8PHXIT1-nN9aLmjJcmtOwODIZyCi9zdIUYlJr67N1L5wkjywn189SXgQFp7BXfiWe3H3h8kZAA-euGC6uxp3oopVmenmEThUiqhEdq_GNsK42YoHuIkILjs-bHXabzHKol0rdvwWdiC3NTFBdirjYPsaYdiL9nOBn2itEPUcSlfnDoaWvCOVFqBA.2C6mgeQAxiKM-ECdjutn2A \ No newline at end of file +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0xMC0yNyAxOTo1Mjo1NS40NzEwMzkgKzA5MDAgS1NUIG09KzAuMDMyNTYyNjY4IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoickU4T2FPcEhCOVdaV25WZSJ9.wQReuYT6TpwDbggYHEnqJdYqTzzcQh4t47hf-qbPGMGtey91mxus0w.tK1wmPk3vVPmrw-c.yPaumhC6X1puX3_w7nDQlKWd2momEZdVWjRCoZ0_o6yez8dIcCOiuonBIVcwXC7xdTa9xWpFWLHrJpNrUY-0K86KODQTdpMcauRFMDkz5hUok9jssLb6y7gQ4VyzRF8sPjja8B4wp1vDigVsXOfdcjCLYoT_zDCKyr21n1pMVNSy9fY9cQob7Tcmqvo-eilw_LpgSqazY-G0NSmCrKDF80URsUGvJzSGTr6NqweacvGPW0XL0dyS1VjCQ-1tKAYht3Erqxy7O0hpyFZHh4lBnOX5KrBDORmf-TfD8N4waEJnxHhLV3_wu6nw_zxgJW_9Tn2urkDcppwrygLZa3ADw4c9xIecYmQ4O2a2WzqsyA.JR7Zq23XHmdZv-UDxO60QA \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/account3.info b/scripts/simapp/template/.simapp/keyring-test/account3.info index f0be507a..ef14f459 100644 --- a/scripts/simapp/template/.simapp/keyring-test/account3.info +++ b/scripts/simapp/template/.simapp/keyring-test/account3.info @@ -1 +1 @@ -eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wNy0yNyAxNToyOTozNy4yNjM5MDQgKzA5MDAgSlNUIG09KzAuMDMxMzk4MjkzIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiZ1B5QU5wbXJ0OUhvb3hFZiJ9.zEB985rqJI1e9BBrVe6Avhv8T9mTwspodRaz73hATLYUJge0uEJP0w.uttuACWs8i9wJeQM.W72DxCVWCcT2L-r1Z4HUGUgp0jDZffj-xmnV7RQZ5v1A2yKfL9jE_9rC9Y6c7cmwvr-Rvu3qM5oX1o2uM9zaRcW-96k730mY7MtfVtbhk3BokngGbCeOP228FmxSJQdEGy6ePvHKJtIOwKttjvbQL9SXorRFNlyjntcZFyT8hr7KCbLoJUzDpHicQcTrLZx5AgPhR6xdkagTUwiyNJIZgQ4Xn8AVrigFW3uCNKcXEglR2cDk9qXC_8QL1Id_SYIXPNtn8-MpKHpth_o1IzqXqrCyLmonQFJz37T_505IgsPFohOiXwcfr3tB3hdYXt4CAgSrZHPTHOjlWUjrIRuIRRaHJ3ksmVRMZQ-kARb1Gg.bUVXMSp7S5OcM6kOKB7e2w \ No newline at end of file +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0xMC0yNyAxOTo1Mjo1NS41MTU3OTIgKzA5MDAgS1NUIG09KzAuMDMyNjk3NzkzIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoidjQtS3NSU2FRQkc2UzF2XyJ9.EGPvp416jXNwAnbSV4Ha9ojmZL7DjyRuBB1X2wnBYKpXsKPZ_v9jNg.Issttg73n138WxVT.jkGutrv3xwLYCLcwVw1U1hfHPg6PDaBb0-YhmQML0i7VmpVas6bUTT-rnUDwx0eM4cm6JagK7tftydsoFqRscW4aJdOF5B-hY9IWZf8Os0rAqyXKRNB6-Ff0rPZSHEO6yNCRiczWvxoDqI6p92NmzG1mDPy_KXEl044_cuf-HZ40rRWX_7NuL_6KVlTwWxvVz3V_Qukg4kI-Nl4PN5henn8WMzoSXAsns32C2eKCg6rQXRPpB9aWZaPo8HZfkADKsD3Asv6KFoGERbGr8LYgr3xpPoeET47EWfNHCrPU134xS1U-eNUXjUJTGP14ZA4sIb2WkmU9sqMTSw7rsW1q8OpH7HcGbKo_kziE57TOkw.rVEZOSjymdsxwuhNzLeaIw \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/account4.info b/scripts/simapp/template/.simapp/keyring-test/account4.info index eafbab58..d31b545c 100644 --- a/scripts/simapp/template/.simapp/keyring-test/account4.info +++ b/scripts/simapp/template/.simapp/keyring-test/account4.info @@ -1 +1 @@ -eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wNy0yNyAxNToyOTozNy4zMDkyOSArMDkwMCBKU1QgbT0rMC4wMzA3NTQ3NTEiLCJlbmMiOiJBMjU2R0NNIiwicDJjIjo4MTkyLCJwMnMiOiJEbWlsQjM2ZXM4dTlQNjhlIn0.CKkyP0Er6UYEpesxafUsjpzIi5kxfQW_FtRJMBXjBgOkYGdQHSGJ7g.Aj8YtcPafPbV2cOP.CAq0-7G2z5CWhVsOWtX-asgG4pBLy0atf3KXMbi_FmuzfoRSXfIwuxynTYoJsEsJlQ6qsKxFezBm6aTuwm2QJyp_BP29Q6Kp8pcSLDdCc9LKB1HsFNXAx6IFJSMc4EY40klJY_Q7URCUGO8GEwlchBUxdkrC56tyKVJcDAc_9mO-9D5GSk7pjXUj0yGDeVKDjFeWCtTWRJAqcC-LkgbxY4iwqZGDecpdX3wtPnnuT9j6k86TeGcNJeoYmasKJJCeqlMPg8HUwLIXc4fzR9-kP-uE-sldr5VZH8bO1oPSHFcDYXr_gT4KzSoI8c_VXujmwAgs5IxXceA_xdLlBzqrasqKlCYCZjzRENHgAKIbRw.QHqHOkIc0sg06AinYJbetw \ No newline at end of file +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0xMC0yNyAxOTo1Mjo1NS41NjE5MjcgKzA5MDAgS1NUIG09KzAuMDMxOTIzNTAxIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiYlBkWC1qek5UTnFwM1ZUNiJ9.F6OlGwrBSbxmcj07PLDmdkzooETwgeVOmHRd2msQw4Y-nz1JUrlx-A.5XE_zvFAQhZj825n.kvjEW8G_tsTiajyC7ShAbXp6BUTdH9ws-1NXbbXRfDFoAxlWJVE5_mox7Ql6I1meSXxURJa9y7Azh1dX641HX7e_scE4M67jd9c_NkWWnxsuh8cQ5mrMoPhPDtNM1qwLwWw7GHZzewKVdwp6i0mHqQX2N7dztGxKCvMIYUe_0lBINZtKGKoGEWFFdhRPP7LDHJ5rj_LEvD7pI4zJXob1rmkwO0YgMM18x2IFTM7gO9Slei0bXiYaHL9RQ2eP3GM5i_UNLpHi2yAWwzYur7fj1jRzZKrluYzcFd0fipqwJKPSmDxO9bVwWXqqPRL7deym5G2dKaQkQeVJzuKVBN3SqBG0R1ha6hqoFOs-Qi1fww.OWlKrLGcrtY3muCgHLNYeA \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/account5.info b/scripts/simapp/template/.simapp/keyring-test/account5.info index 60eb64ee..91369b28 100644 --- a/scripts/simapp/template/.simapp/keyring-test/account5.info +++ b/scripts/simapp/template/.simapp/keyring-test/account5.info @@ -1 +1 @@ -eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wNy0yNyAxNToyOTozNy4zNTQwMjEgKzA5MDAgSlNUIG09KzAuMDMwNzY2NzUxIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoicFhpOVpHZWpMQjBJb2JGRiJ9.Rn9ZZgvuEZfvgrdkSwbpDecqHoG_Xtise2xBt1i6ONM5O_kMpYk_vg.nzO9vzOtXf8vxSfS.yyldkSH1R4S1S7YWo7BBPXvdMHITOg7E_lZJh5KQlkol7m9g4x209PuQmD_pXT0MagVD3DKbvSmqqsN9i9BfH_hwHTdJWRb5f0Sx4ky_fRbOaifQNv8IuoljPmWP2t4w8e0yxhD5eNr9Eztd_M5cTMlx-dTbEM2ByZ-yTUBlaFMj9zNRz2hwl8wCH1vo5UF6DBKK6dHxmxd-Kr2oyMhwWVprXpFhzg5d9IEUshDR4fPC_GT7NpJ10cpr7CiLOI36IEckhVUl2p6yDJwbrBRxj8Fnlbj086pBPwdrsIKMkyrwyKGzmt-EjDAsqfQPC4sk25Yg7uN33tYhMIPNCrJ4ciWHuqycIc7k8ZgcG4WypA.g50uUMcOk22nDdczEygqaw \ No newline at end of file +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0xMC0yNyAxOTo1Mjo1NS42MDQ3NDYgKzA5MDAgS1NUIG09KzAuMDMxMzgwMjkzIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiT2QtaldDU1luSnBPcWtkMCJ9.xh7kCYaMDrT-lcdVTzpmdxYz7qpGt9ynwjFyhLQIrAed4uabmVI_bw.TDaO_3PQRT9IBc8Z.Z8ca4tGDKNlXyusTCaB10rbWwSEYv8QZ_edw4fzqdWiIU2LbyErXXNGs4OjLtwWiyJlL0qfWGWMO4ZLa_WDqSOgB4ZW_loCLftxJtjyzJJkVe66Rf8-eXhWxQNebvwGjIHvPjjMY4VzlhcdbXog0OYX1Rig_BdzRv_CmcVwMNyfY5E5wQ8dYDnbanO3K0ILL3mQjfVH0xTCZ4CEKJ-6i5PGyc3U5D7b8JH8D86_jFCJe_6NAuUp1Jx512emh5hKFLMG8DEsFk_Zm9b24iM_dkewd8swfmSlBc00WoulJVUTAN_Bjwe4JKHT810SQO_7jpLe7i5sf-wYeK6k1oBzvUr0gJNRFWpMmxX5cibvKiA.ogAmBy8xbtJuwde5dkiTCw \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/account6.info b/scripts/simapp/template/.simapp/keyring-test/account6.info index bb379014..8f59b94a 100644 --- a/scripts/simapp/template/.simapp/keyring-test/account6.info +++ b/scripts/simapp/template/.simapp/keyring-test/account6.info @@ -1 +1 @@ -eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wNy0yNyAxNToyOTozNy40MDAxMzMgKzA5MDAgSlNUIG09KzAuMDMyMTIwMTI2IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiYi1IaldoVlotQl85Q3g4LSJ9.AU_Rg2H5G6O2aKPwA17FGQE0J3FSryZ_PTmsE4zKsSaF8JGTCxqNUg.Js2EaF1338-erihA.JnfZOmbs5O1ymHt4L8tboncCjvr4wRZcnwSacpM20heySfeQeBbIVr8-qHksBmJCDjq3D0no39VPuLfp9JKSRNrO3sjydes3QmLRoQaT--Eiw1HRn3RpXmSU79XQH42XzWpLFCj2ShMPxdWbS11jHuhRd9ztJD4jg3XlaJ7vURwD4hCqgEJdtO9Iz0ay16cKq7nt60kvhZ78eS-LzUPgpIhsMLNZyzgyMB-toKQ02none0eM8zZiQNaJA7IR4kfgMmXMHTPXVlixXIgsbZN8cAAXO98lxyKW6i5N-br7aUP_R8-oEnA5jjvJsHYoCaTX35rzSZaUAAjRvFLGNuSLwC8UBhbS2LLSbKGZg2gCkg.KZBxR2_2WC_I5gCCarua1Q \ No newline at end of file +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0xMC0yNyAxOTo1Mjo1NS42NDgxMjkgKzA5MDAgS1NUIG09KzAuMDMxMjUxMjUxIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiSU1LOU8zSVhnSVRJcHlyLSJ9.x5CIjzs3UBAImr6NiBnKCdGGKUOuV-LVxywdJ-KVE7s8kKajKj0mOw.XOoHKSBoy2cORPJF.IujN7i-JPmQk47eNSybOXB5Y-8cQsbei5GSTRmeLhPc27P8i-m2VrdS-c563V3WBbFxARBgzSdboMkFBVjLgszzt8mARk9pdRVQuLzBxJ3INqWgPIEsbrbJE1tbTvJHyOLqP_zNxRiBTUACekxbz5iTAkCMx-XFbjQxobRKD4AzCuSse782GC6Y7LW42pcT0GDZGdJeSMpinj17-kR9T2tUv1cAlefDQ2B8o9lx3rswiSxqXO3VuEksZBStNpxFu05iAiyFMxturwaO9ox4Gu2o6MiQyJ6oUC5lP9oGiV0sbXS8TUMquw0ewtp6nxOsWofH8NYQD6P7zLwbfA1Me4OlZL_ktpRfsJh7AVYFAGw.KPCGnAHJH01Qsz-j-08Yuw \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/account7.info b/scripts/simapp/template/.simapp/keyring-test/account7.info index e4286299..75d0e0ef 100644 --- a/scripts/simapp/template/.simapp/keyring-test/account7.info +++ b/scripts/simapp/template/.simapp/keyring-test/account7.info @@ -1 +1 @@ -eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wNy0yNyAxNToyOTozNy40NDQ5MjggKzA5MDAgSlNUIG09KzAuMDMwOTQzMDAxIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoicWQ0bUdzQTFPdzJJNmxQMSJ9.5PfFv6GcJzbqm2-hq24GuAZrQ5MuS9LMyNtQl76qS-MEsT5ZLOo1mw.zR7Ea9-6VAelYTje.75uFAYdVh3VIx1cldWds9lRgeJ4_LSXQxg1tT2n54WPJaLMVr4Gnel4Quh0Er8ECRIiGCWm9bLdPY5pQeKfsaHeRW7SO-WnQ5N8eODcbOAkjEZ7FFTAddj4bWX97ByqbaUbFRAdvuvXXYCZD2dPMr8Car184uvwcr8GECrsPktG7hEtCwWwYm4ZMGFXMch9WILkWFtjzawOv3R5OUPB0We4PqHuSyAiGbsbeI5Kn9e_gWBtkX48XRxRGl7cVuI6BBV4-kLJ2408JPNHZd3tyYW9Q3e4mn9YfSgLwXHGMEdU4nz16Td4QIcaJ-YsDaLjYejeGsGEKUoReOmgeB8eXEhf0me7xIlOifH5aTKHu5w.gPBivsKXhljc-MrTo26Iuw \ No newline at end of file +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0xMC0yNyAxOTo1Mjo1NS42OTE5MTQgKzA5MDAgS1NUIG09KzAuMDMyMTI5NzkyIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiY2lNVkxQRmhVdHVja0ZBeiJ9.XcRANHlytCHmp4BaH9FX2RFz9VBSex7cPyNb_-loDawJ6vL7NpBeTA.8UgatFic53hh_ptz.AqGX3cGEtPjZBp7TKIwX6o_Ww8x1axEtUjwRPrU6j81QyeiPC4s21oZqiAy009HCNZzofWalAz1_xZBbB6Nx0MPL5LSBugh0MnjoCiMNztG4v9OXJKQHgbV7DXtPv1Utp7QONHwWk-2s_qbZfoBh-b3CijSMa1B8O4Tptx0d4zSGWek6N9J8yapB2RZqSH5HOYQPy2bS9e5Oi4oEimhUcHixr3ll_SgjqKKUXrtxlzMLsQtZdvzO9eeMVh9NpszccnZ-G5PHZdjMHY2gGj25hLOo-4Ob6rzYehq_1Bj_z9hCuIoljEZx60S8usB4LZ9yEmjT16_c67H-I0axqYegaFgPyfz2tADrRfxpwY6UkA.VPmgGg1LnJ3VigTMK3cjtg \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/account8.info b/scripts/simapp/template/.simapp/keyring-test/account8.info index cf2faead..0214591e 100644 --- a/scripts/simapp/template/.simapp/keyring-test/account8.info +++ b/scripts/simapp/template/.simapp/keyring-test/account8.info @@ -1 +1 @@ -eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wNy0yNyAxNToyOTozNy40ODk1OCArMDkwMCBKU1QgbT0rMC4wMzA2NTUxMjYiLCJlbmMiOiJBMjU2R0NNIiwicDJjIjo4MTkyLCJwMnMiOiIwMnZOM25KSTF0Y2c3aFVRIn0.KBv0ppGNsMt3WuSw3PPe5WBGAS7xwSwf1I8YerijaxRJ2cANW6NWlA.uv6Ff1PBM0AJUT_O.D4a5jYgymc0l-sAeABi3v7fWdcPleaDJwH47tuXvH6ULyZX6ROcsYdAwrcykLmBL2xyKm2w8CA3Ux1oLe1vkKAb26073lt1hkHaKKjMM2HOJLgkiNmrxH9k9MMskGvGAx31K___uTleSmTppGuXa9Mc8O0ATA0dBgcXS8Tu2O49l8mekDIaOG9OHkTNih_ByoKA_oFfakHWXfcTQdd26y_eGr79GhpiNZO8nea1isALMQwpM5QJuxpQDj70Ybc7b3gGdcLnpXwiFsc4flf_KRf1cFviAzrZKz9ghxfYnWdL7RJmxHg6D6hKw5ZVW_JKRJGN1RO3qztw-LoXJPOuMzI5lKGqmG3hsCPgQXCVKqQ.w4M6BE9PARiwNcuuwZtb7Q \ No newline at end of file +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0xMC0yNyAxOTo1Mjo1NS43MzkxOTkgKzA5MDAgS1NUIG09KzAuMDMxOTY2MDQzIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoidWVjVFRMVHQ4MXoxN0M3QSJ9.JYTwyFZ68jMdhLYTstLPNKqpjVssYUZNfnkXJkppqzJ_Vqr2nAiCiA.DrIYlhZ3IvdmYj4Z.6F5O_E8NkItLX2jUkrKlpKrnTUQsc1J3e7sVDGEZxvHsjIuoRKlhgfdwoOHurcYCcpC75U3MiYGcGvO7PsbpSNrrGcqghU3zhCd8CxjNqrRWLxq4V-MNlC9hdfpKbsUWwkyIx2n7q4gc2E3Omgln4vmegzZX0YHRz-W_q-zt7NVfTpN0i1xI0-wt1J-9fMaH1dtQz6urdj3TGN8QdEeKr310fd_qy92T86XLcLbFoXh29LBWaa3QICw1tyHyj__2aq2xoEjj_3Tq5X58bQdMEkgJW1n8RAk0HvYRVdphmv3MTVlUJ7RQcbKddHeGIlKz49uJ6FOnHgqnRB4xwPLQlCN895fuE6EpJFHH85cPcw.hCiHNWPMe_zXdrzeFYveLA \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/acd8c1daad146da2d167f55ec00a5360dd013b7a.address b/scripts/simapp/template/.simapp/keyring-test/acd8c1daad146da2d167f55ec00a5360dd013b7a.address index c5b99142..25f2c1e1 100644 --- a/scripts/simapp/template/.simapp/keyring-test/acd8c1daad146da2d167f55ec00a5360dd013b7a.address +++ b/scripts/simapp/template/.simapp/keyring-test/acd8c1daad146da2d167f55ec00a5360dd013b7a.address @@ -1 +1 @@ -eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wNy0yNyAxNToyOTozNy4zNTU4MzkgKzA5MDAgSlNUIG09KzAuMDMyNTg1NDYwIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiVFN3M0huWE16N28wZGVKSSJ9.DYgcMugC5lEEPd_YGFmygzEZIbFJBvISMNSeUraexbBtECtru2h8tQ.jE5uGrXILpxA7MJO.8XxEQnGfWBnwSuwA0voQt6qX482nSUn3hEHHskXSQiLrzUXCB2qiC_LoKOF6gRE8RHnxfC-8snNwMUDkHmUb1ifuE64HW4FbCL9Je8MO7Zl4xghKk7Pc4ZoM6bNHrArfFRCiYqmHvWgXoZxySetaUVbx_bDamlBadP9Wxea2jl1MOBuQgsPpOlk4COAgqv2loE-_jdstx7bT5JC6tKDc4qKA4hlyK7voe9qiOfdDfCzVO00fLiaxdtPA.r3SAheeZ1kYODg50TVv2tw \ No newline at end of file +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0xMC0yNyAxOTo1Mjo1NS42MDY0ODIgKzA5MDAgS1NUIG09KzAuMDMzMTE2NDE4IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiNEFsSDM4WjhzWFhpdlhJQyJ9.xtDhqXS_hdH1hFvAgO1oTdZGV9l5Od5-iuwGJ73ckj3oxq1cJ14pLQ.daJS2muvVCUx0khJ.0Rapk8M7PMDwcKgodfb11P0W_B7oUB7XojYQ4wJi8ELqgiJzAAsM-fgwVepNFZddWSMfHht_M-H5-NKI4rQRISi4SY_7YD6wYIk7NpRJsObb_7TjuHXXaHzlRKp7KhJJ9g-1Ap3QuGKWFvZ5nXnSsyy6wK1QW0nZOmqjwvoQuOK6lFtTf4kghgsOIBJbjzNhtunGOCiT8tE-73sCg67BdMtFK20jUom-QgQ85OkInzCaoGUN_E69_Dmv.suMAkvMC8DT6MOgSaBukIA \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/aebb0e931b591a0ad2c6c1f2c9ac094643d41119.address b/scripts/simapp/template/.simapp/keyring-test/aebb0e931b591a0ad2c6c1f2c9ac094643d41119.address index 8d7310ad..b8c6862b 100644 --- a/scripts/simapp/template/.simapp/keyring-test/aebb0e931b591a0ad2c6c1f2c9ac094643d41119.address +++ b/scripts/simapp/template/.simapp/keyring-test/aebb0e931b591a0ad2c6c1f2c9ac094643d41119.address @@ -1 +1 @@ -eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wNy0yNyAxNToyOTozNy4xMjQ5NzggKzA5MDAgSlNUIG09KzAuMDM4MDAwNTAxIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiQTZpc0V0SmxORHBzblU4aiJ9.wihPL1MMnWgl_vK_u8tql98NstKX7aKk5y5gp23V8WD_p1HdED5CVg.-lJh79YDAGs8vV6u.q04rK73X0twtO3u1ADAmNldD0UbQJV6znZo35rej2egTsRkcFQD0Cxqyqn1jfiF1uqjeYwrTQJLHY4iIRj0HIFdQLO9XPfhOueXmNYnpMhcWryaQV95-wmgiMLycBtY4KUD6hknmZfiTdzsTFq152HlKc4MUmBHME021doeUm1vf6DBAl7JLtXddOl8cfYfWElfK8-GYvZ1E9UVATZNdASu4xQ-9emGqNU4GloDERfrk3VTGKU1jJij-.fpPg8J_rCw3zlbjDI98dsQ \ No newline at end of file +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0xMC0yNyAxOTo1Mjo1NS4zNzM0NjcgKzA5MDAgS1NUIG09KzAuMDQxOTU4MjA5IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoieklnLWRENnliSG9xYUV5YiJ9.mYwAfD37xSdZ0mr9u0ZY73vn9NHwn3CURWlnhR6ouk-VT2cdqSU-Yg.DsbMceIbx0OOjdX_.Hl6dHWpIgB3GEmeTs_wYxnpA06oEBwkReI_ziaTDpj8d-eCYHidP_LjM1HuVyEgnlEy6VPCfsWDu04gvpmzSFy89pGkRuFUCSOHqbebnLu4K1OewRn89CzTDOBSEpTB2wuriVtcQh7HM_oD9s2ulbmKS9EpZ6ycwNUyNHQE24C__1ex2AGNLnRGe1SxhtExFG8MMs5-gCvOuylscyU6368W_rmtu1T1BsJg77Ui353soByj1NVtmREFh.2VtGR0ZYNZtsqVvFJPZzYg \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/c83959c78e25fa1eda888ff207f5823d2cf06a58.address b/scripts/simapp/template/.simapp/keyring-test/c83959c78e25fa1eda888ff207f5823d2cf06a58.address index 864cec14..d64b06c3 100644 --- a/scripts/simapp/template/.simapp/keyring-test/c83959c78e25fa1eda888ff207f5823d2cf06a58.address +++ b/scripts/simapp/template/.simapp/keyring-test/c83959c78e25fa1eda888ff207f5823d2cf06a58.address @@ -1 +1 @@ -eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wNy0yNyAxNToyOTozNy4zMTExMzEgKzA5MDAgSlNUIG09KzAuMDMyNTk1MjUxIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiRjYxS25FRlNFT2Q4clN2eiJ9.o8_B8O4_d4NN384A6ORNQmdGwbD7or4LmjBCyb5iANYPkln8gkCIyQ.9IL4l9RaQfNM5659.2pLLvbG0yHgLs-CNrtTyZOG9Xq5ZFN0WnzfkmKumwdA-ZRN_TL6pJiy14R69hJc4BNEBZIEEJg0O5nPdpp_lpclIir46fXhFZjt_bA1CPF3YBks3U3CW9Vk7DiWOn6E0Vvu6I5r95nToft4ZMmcUkoJjVxUyD367nqYDI1nf7VPOqJargwZ242bn5lLI23ZZQiLXZQbdtsdssIHrOXqPN7UDkkz0vzWMiDYQnKBYBe0nC92YSpfbFBNH.OCPWnZ3UlVoB-f92eq8EuA \ No newline at end of file +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0xMC0yNyAxOTo1Mjo1NS41NjM2NjUgKzA5MDAgS1NUIG09KzAuMDMzNjYyMjA5IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiZFQybzFiMklCLTNZZURmUyJ9.uZzxBpyq78ODck-mVJLshJ4H21PwvSstzHMUwSI-q8Es50SNbaN4WA.IiF8E_3lu_HZBh9G.COmxBQw0FbZYGedPvVdC2gzN9e85oxroMh9UaPmuVB7w3HvHJMKEMSQt2suX3LXOfBjBYW4xFkasn8KPvYjGVScOaMg6luggS-x98cEGHkHGt0S1EW98UwG8zNua1z97JLdbYzxcdf8gHdOK-oXwULCx8Naib8jfmCzOlKOMZLfLPqdCCKISa_wYONC3m9_kWUtZE8DSz82Z9yFKYQFKFsGw4s8pVVHWvS_6cq2bzs1o4dV_ZvfJSWes.1g2f-m-BsAkyL4-GBC8jVQ \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/c91ee79a45654ecb1d575eb77037f72b81631f33.address b/scripts/simapp/template/.simapp/keyring-test/c91ee79a45654ecb1d575eb77037f72b81631f33.address index 3841f0ea..3d4a87ae 100644 --- a/scripts/simapp/template/.simapp/keyring-test/c91ee79a45654ecb1d575eb77037f72b81631f33.address +++ b/scripts/simapp/template/.simapp/keyring-test/c91ee79a45654ecb1d575eb77037f72b81631f33.address @@ -1 +1 @@ -eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wNy0yNyAxNToyOTozNy4yMjA1MTQgKzA5MDAgSlNUIG09KzAuMDMzMTMwMTY4IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiUTh1VFRub2Jnb1ItdmRTdiJ9.qonuFz3s24VhDeul2ozl8ZHhfXgaA07XfJHvVKAciH74MWRP0XmkWA.sDk8ESPH2sG9W5kF.KLamhZVACYLfj0INGSW1p_LzWuYKn65N717aFaG5-v5Ma2NKCVfWIDJ2SeWnwWiupePEuSbPPhqurhGq52dFOlqG_7Mtl15XEmEzrNmUTF2NNsBOJgEh8cSAI8KkZBtF3HX1_vOijIjssrczD-M9P3URJU0MokwtYoDeZxrFnC7y_QhrThIhzT0JWOaLmJWfLnNEaed0nd0Qh99kJSE3kKNxeTduPfk76j1haPTmBCt8EOJLJQQ92k_h.ZUI5mKub_zv_A10kCkDKeg \ No newline at end of file +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0xMC0yNyAxOTo1Mjo1NS40NzI3MDEgKzA5MDAgS1NUIG09KzAuMDM0MjI0NTg0IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiaUQ4TG01ejJidGNjTWZuNCJ9.hN27mG05MeKgZJcnT0ZsVFmtC2jb8Fc-FHmATDic1FBl7eZ74CkTYg.ej0joNEhWNSWdFrq.NquQ6kFSCpBWkZxE_Hsj4tdT3S8X0tQs9dPdGvPPuEOJ-NG_AlsfNQo8g1qIRZYfVep9jp9HwyvgUokn5tG20R1JPP-AREuZ6hcWJULiKrzCLQH3ZcEfJIC1s8sHiVHjzP1Q3czA-Kfdq7R2oYWSFgCN58yh5pyvAVrqGLpnLjllCG34v0zVZ57PHOCRiW5JURxrXZdhWKZj3Jir-eX5v4h_KKU14fvtyJ8XXuEnvdCtH3X2wa33Ado7.rg958_5qTTyHkz8klSAlrw \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/ca420033fc2858fbe68b38189596993b73fba5f4.address b/scripts/simapp/template/.simapp/keyring-test/ca420033fc2858fbe68b38189596993b73fba5f4.address index 413d8971..f3fc76ae 100644 --- a/scripts/simapp/template/.simapp/keyring-test/ca420033fc2858fbe68b38189596993b73fba5f4.address +++ b/scripts/simapp/template/.simapp/keyring-test/ca420033fc2858fbe68b38189596993b73fba5f4.address @@ -1 +1 @@ -eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wNy0yNyAxNToyOTozNy40MDE5NjMgKzA5MDAgSlNUIG09KzAuMDMzOTUwOTU5IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiOUQ4QmRheTZmckI5WHNoeCJ9.mWnxXkkudsFuo8oZlZHuPGI6iq4NtbsBKNkInicsRXMNrj38CKN7dw.P7l5UvGbUlk5splr.u5O4kw-8m_Z3Z6I4GfmjfCuSamXLTVDljUFOIHueI2dz4OtmMOZvZAX1rpe-m1xwlmssZgwv8gU71JGIp5sWP_RNJ1FIvZNrCfft_u5d2glsJK9aHVgfIExiRMTsNRmKUIwJz1iW1RtOT7BFnW7HHbo85WKtJPFC52H93-hXn7TDib5muvA165_so8NTtUGhV_9ATrKwf9UgBEqv8zJpDgkD76Traq6Rtb8T21DrMIQcXACJ2DJhrYSM.XfGPL01Vqd2o0wujvDEKBw \ No newline at end of file +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0xMC0yNyAxOTo1Mjo1NS42NDk5MDkgKzA5MDAgS1NUIG09KzAuMDMzMDMxMDg0IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoic1FDRUxSMjRSZG0xMG1JZiJ9.f_ZQSJk9NvzkLThtA8DM2TXco5Hzz4_40bddgvPA-F_nG10Bpdu6Aw.yB35NKPzoVnK2oB3.0bF9n5zk5nNt5_thfLSODQjtyKZMjSGiQUeh-jVDGmgtGh-UuMNXbQoKVEgGc5_c0Dj9riMJixF09TVyJ_reFmYbrMkrYNzrfd2FdSyhdxtD_gM3Ra2ddIpDD4U0XNoqX7-XtwFV0eCNtHGLVJ_Mu9MxadQeP0R9ehm2C8SwuJef86XX4nZ8ltVJqMqEpi3SI0ZPiPNs2yRlKhfRQH2vrVBjSujVQtPbHFr5s_245c_oJM0fv0lAIvyM.j4Tsn4MfQqhNp81BytVJPg \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/d552c77c0cd770b0696c101db34a7c88c9e60ea3.address b/scripts/simapp/template/.simapp/keyring-test/d552c77c0cd770b0696c101db34a7c88c9e60ea3.address index af99cbc5..ce2de3bf 100644 --- a/scripts/simapp/template/.simapp/keyring-test/d552c77c0cd770b0696c101db34a7c88c9e60ea3.address +++ b/scripts/simapp/template/.simapp/keyring-test/d552c77c0cd770b0696c101db34a7c88c9e60ea3.address @@ -1 +1 @@ -eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wNy0yNyAxNToyOTozNy41NDMyMDcgKzA5MDAgSlNUIG09KzAuMDQwMDE4NjI2IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiRnRCWE1JR3M0XzEzU2RYZCJ9.664M46VuHmrjaFbh2RndqDPpDRy5QsXAO6mGi36_3XPhCHV55c-8nA.0yiKwzrvngLrPpVS.-kZ7x6W7eCX55O4YpcUDfhWHN66x1tswPYOu5t0dOexlsPh3qfJtjTEMlBlJY1BMm2ddr3_6-CBgG6JniZHKEwC7wAz1SM3xO0hCU7Y5oiHyhqyJ_jvQdsy5hQbm4DNu1DKlqWCYXoDqZlWTJ-CYINBq9FmjCHq6RB1nhn2iOGz9lNQutoBtxDDOQyc2oNJgdT2Ms22I0onju4UMpW1aFgRn6RizWUk9aEkO9RJTY_WBbUCjk4BbyUdW.OFnRyXVL_y14lHvSyEpNUQ \ No newline at end of file +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0xMC0yNyAxOTo1Mjo1NS44MDI3NDggKzA5MDAgS1NUIG09KzAuMDUyMTgwNzA5IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiSURuclR6b21ZNFN5OG51aiJ9.eyJ6mdH0FHsbAv97isb0OafcjvaisZxBOWotfmzHwIHk21SXrLnLGQ.7hc0G29gfrOd2_ln.8OyILrXIL1sejrnBLoGE5Mi4BHmahS7Noqyo7kmda6mAkJWKN_VhxVhWWLtSruxzlbdhcH8K8ch48dZa1uQ6GdB6PTJ5y0pE7GmGxnujk_oWYFUsSRyAEKqjc8mpPeqqcS4CW0a6JDT3uLSR3zuLa28e15wquYO5ZCBGefa5lXOQCmz1JnqWSdRBj_6PDzUnoE8DelyLwJIBYI19NNsBrj1YZvtaKY4UeusycrkPrQnjxu7Bs9cfYxPE.364AdDQazQiwNebCbyX4rA \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/ef529334556bb1390b9b96fd73949275314773e7.address b/scripts/simapp/template/.simapp/keyring-test/ef529334556bb1390b9b96fd73949275314773e7.address index 5776ffdc..8286a00f 100644 --- a/scripts/simapp/template/.simapp/keyring-test/ef529334556bb1390b9b96fd73949275314773e7.address +++ b/scripts/simapp/template/.simapp/keyring-test/ef529334556bb1390b9b96fd73949275314773e7.address @@ -1 +1 @@ -eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wNy0yNyAxNToyOTozNy4xNzUxNjIgKzA5MDAgSlNUIG09KzAuMDM1NTU2OTYwIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiWVB4aXpiejBRNmNWcG1sMyJ9.8hKd-j9XE1LpcxoVKcnHVkjRppLkOCOnG6aNUNt7mrumpwV1qQCzdQ.s44GhtP925dPm1DF.rh7DBdwErO-Ud-7tvWpmmCANEugq66zbgD5OslqnqYpzeHhghVm13lPKfOfEc1_6NQFj0i9YtH00G304mcZ0hSNG39QKQKl67bZV33Hn_Dyhn5aOYvxXm4mysWw1WmMNGgXkZrJGt3k_N1IlvH1mdnv6_PjN9BFnDUUJoavMA4J8uemLjbv5XAM8haO0zQ2VOOSk4McFPOhklKslmcgPTNNwClLdPuwvxIbUdFXQfCZT2ZlBjLKEjQvg.-fcroA3dhTmRHPkVnCx8FQ \ No newline at end of file +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0xMC0yNyAxOTo1Mjo1NS40MjgzMDkgKzA5MDAgS1NUIG09KzAuMDQyNTExOTU5IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoidlo5UUdxQlJnNERkUTNiMCJ9.iPV6re_sli2PTbCCzs6KesxDvbl_dEI8gOMc2GQAjPPfGahKPT3vIw.4NE-L2A8LoSmlIMm.efaXy0ouS-x6_3cr1HTD5wjVt54MJqGI8ThlTDBEwQJ8cV9yW2Sh5CVlMxx9JxmAYuPv3weu1Hq82bR9FHhZXKi2Y3r5yVYG4Yva08w0tQDHekArrp9L4M8fKoYFeyfBYuYhHrU3R9xCDTYNL8OAtYAqAHMuRRUcrlsDf9ObErIH3kYAalQYdc2AimMAHRD05jC0E5dryNsjUIGmT8AHPDx-gZ0CtKXLPvRkYa4YsvqThEj9K17r2J4t.2bQPI0wpCYej_y4pzOmk7g \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/multisig0.info b/scripts/simapp/template/.simapp/keyring-test/multisig0.info index af9bf17a..f4abeca9 100644 --- a/scripts/simapp/template/.simapp/keyring-test/multisig0.info +++ b/scripts/simapp/template/.simapp/keyring-test/multisig0.info @@ -1 +1 @@ -eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wNy0yNyAxNToyOTozNy41NDEzNTYgKzA5MDAgSlNUIG09KzAuMDM4MTY3NjI2IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiazVZZklEd3JaR01tYmpZdSJ9.czMwfRy3MfHm84NconhxRBVbNLtFD8lk49Ymf8Gr1SVt2INcQXkNJQ.v2iATHv2YAFw3xVR.bmLpKVYnbddP_pK7lwehOuOb7kdxys7sCC8vDctEUgxzJ9idt8hXSYnfFb38Yjwen1-LIKlvsCRx2Xq2MMKrCX6_95ULFCjF3iR2gVmWlBmRA7DTYRyUmniGcWm_ldU__vJCIoP89KoyHJgI1t2S6Rx3o0ivrWyEGyLeZldozrS023LxP8DzuddnSfcPvv42H1sXgGx6ZuMmytBH-zg2x4I_YqHtxMapyRHNouio1GOX08I6J2vJbcbu-ObKnyk8Dy5oBar0ttuuqGVPxDDGh6e1HWukPqtBDulw2ZaMCAx3Dv6OA0o7RgN1eBrlyGQUL62JZZ5z121lylPoJDZ0p1UqFZmJXOVwhthiwzpHbPZLrshe89qYfkMpkyfOpYZ5OgsPl_sGkQrjcUa-A0p_-b4uLB0XCBSUv2h4Zvw9IhSbvxr116vaVjklNFt3mcqTdhz_XDSGHyAX2bOHuH9Gn3tJOUCQNg1YRbyS9t4bchugUMD5GzW8zdCjlixxJEiBBwx7tOsgCv64Vj8TWhl6BtdV2s50owahrr1Lrxv1JgQaCTtFAh8q8SvTpj8dbZDynJ1Wgw.-y-eywYbynbR3Fyu3JwqGA \ No newline at end of file +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0xMC0yNyAxOTo1Mjo1NS43OTUzNzMgKzA5MDAgS1NUIG09KzAuMDQ0ODA2MDg0IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiN2s5RWUzTmxzeTZDUDVtYSJ9.-2XpJu9gp2AaYBUeT7E7fXSJvk1NOdHNoGNEwSrkW6FLbaQeCr_aSg.d6nl46LuAKb_KyvG.mYQo97pM9UfotlYStxN9llxduJLHePmlMeA7hNPTuyIgHGoAXDqAS2ZPGLbO9pf2S6GBDWVXr-SqtFVQYpw5voVaNOfXQWYb2d7iRc9RdASKRmG3vw-rRJOsryDa_vk9-Ivzes5UC7EUC_-lO2oznsvZrQS-3JSJl39y3k3FCfEgOg9FoKYXzKz9vZ-KwKFH6S8Ndkr_vDChlgolUtqghtWEOCK64pIBP5xFZW6m2WYBx2vo7rHXOgWhkkc66lC_x8PBpOti2wP6n_uf3zyEkizwnRypZuMvUBQ0u9txKI6bSvNP5Scf8Ld28gmSnTCC7ynwbM5-z2pn5MNRVsEthnl6PULXlYfoxjqbjVmyn1JPl1dtyhe6EU3YO-CprGLj6NhZwJJu7zaUH8pXVtl6RZ6VJ2drYaHYcbIu1uYIgWBFmqnfNNwX1FS9WRZ6X38zCRwXcBU7ATS6qeizB8zM3ziSLd1ev3FJhEy5nzICiRjbzdtP3cZ_co_8HatU3Oo6Pdn4SElnV8XBa2m3leZz43C-pxUngF8u_YxkRf9mlkumGRWcJ3EA4Cv9l1AXfKoh0fqmrA.LJ3ImlTsXZjnF82aiZHtZQ \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/validator0.info b/scripts/simapp/template/.simapp/keyring-test/validator0.info index 5a2cb7da..cb3eba1a 100644 --- a/scripts/simapp/template/.simapp/keyring-test/validator0.info +++ b/scripts/simapp/template/.simapp/keyring-test/validator0.info @@ -1 +1 @@ -eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wNy0yNyAxNToyOTozNy41OTEyNiArMDkwMCBKU1QgbT0rMC4wMzQ1MjcyMTAiLCJlbmMiOiJBMjU2R0NNIiwicDJjIjo4MTkyLCJwMnMiOiJWV0JSUzFqY2JhRUxNWFVVIn0.U1yhaQThDFrk2v6SOpse4uYi4qlRVECJbkQYbLedfdoNsjssLgGctQ.QR2k4yhcHlPlRgvX.3H_Wt2rEW9ZRF27toIbSBxE6mwQyyBZVnNDlXFecZFQw1PmvjYVBQMmeCAerHpGgUrcIS7FOEIBY7DeWzqqRBiaoBfyJBMpAMHsASbKTNL8upR8vMVzoJv4GwMVlxuEE9RtUY7tgg3q9VT74vjxZat8YuJBIA11B-LqDXaVxCgvX0m72kAEoqQT41c1iTWUp1fCr_NruSheV0jXQunGzJSjM5T77KaQNZo-hkqzVuiZFbYnJpARIvAEYqLxfhnWOBfbzA4aokAVCEc2LCnsSbSu-kRYIAjnRQzZSLQQZzb4OeiCs73mcmKaEwC08wC4ce-6XFlRT73cpBMnQONoLddrzVhphvTzCXegGympVJnsAoKhVcQ.tivW0lUPbrZgk8YHGM3YEA \ No newline at end of file +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0xMC0yNyAxOTo1Mjo1NS44NDUwODQgKzA5MDAgS1NUIG09KzAuMDMxODM4OTU5IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiV0Z0SVNFNHdRN080MF9GTCJ9.8pSwl7BSDHUwRmHVlevNdN-tJJpawaSsueJ39CBN68WlOoxis1F6UA.f9-ERXZK3LI5amm3.ZqxniUV7LIwoCgh6jenwsbDPuD7JWIrbFbpNd3MtRNLm5tJZ_IQIYUA_cwzP1NTNxav1b5XmYY2WB-HHGX1ZArstOm_QmTIw5PSx8B_S_0SiGCKorIEwaOG8BkAEYRki7yltdLSvm8xyTDCRUY2PaB97kjiZ0gyJGkn6zlTEPT-qlK2wVvQmyoi2Iitz9rcewts27odrrhyheNMs0q4CLSDR5-BinPZgV6DwZliVLpTlZ07qnfDcW0vpCOwbipZO85mmW0dfU4cFDlp9N6CwF1pzhwTPyHAIamxFsFTWwqR4T4XmFAPwEX5FtpA6SAamtF2XjYMxmvCK6Vwv7yNDk8T83MLKr1aYJlUBjebXrJQlVaJt2w.qbeGrKwSnPEDxZGd3SmLWA \ No newline at end of file diff --git a/scripts/simapp/template/setup.sh b/scripts/simapp/template/setup.sh index 6d9aa6c4..152764de 100755 --- a/scripts/simapp/template/setup.sh +++ b/scripts/simapp/template/setup.sh @@ -73,6 +73,6 @@ ${SIMD} gentx validator0 10000000000stake --home=${CHAIN_DIR} --keyring-backend= ${SIMD} collect-gentxs --home=${CHAIN_DIR} -${SIMD} validate-genesis +${SIMD} validate-genesis --home=${CHAIN_DIR} # ${SIMD} start --log_level *:debug --rpc.laddr=tcp://0.0.0.0:26657 --p2p.laddr=tcp://0.0.0.0:26656 diff --git a/yarn.lock b/yarn.lock index 3abea08f..5b6e10de 100644 --- a/yarn.lock +++ b/yarn.lock @@ -593,7 +593,7 @@ __metadata: karma-jasmine-html-reporter: ^1.5.4 karma-spec-reporter: ^0.0.33 karma-typescript: ^5.5.3 - lbmjs-types: ^0.46.0-rc8 + lbmjs-types: ^0.46.0-rc9 long: ^4.0.0 nyc: ^15.1.0 pako: ^2.0.2 @@ -4221,13 +4221,13 @@ __metadata: languageName: unknown linkType: soft -"lbmjs-types@npm:^0.46.0-rc8": - version: 0.46.0-rc8 - resolution: "lbmjs-types@npm:0.46.0-rc8" +"lbmjs-types@npm:^0.46.0-rc9": + version: 0.46.0-rc9 + resolution: "lbmjs-types@npm:0.46.0-rc9" dependencies: long: ^4.0.0 protobufjs: ~6.11.2 - checksum: 01d37472a60f51fc13ec84e3c3f25bd07dcf138fe8e35d6bf6012c62c7a74a601f28d4b2e8813181a5e4267a9df47c1e985b178dd7cd3ce96cd3dea048c7bcce + checksum: 809231c30ee82591bcfeddb4d25b41f57d163763336111362684221739db055e0036f3784dd99cbfa9fc0e63c7661c46bbb0f1025115fccfe18462dc33480e2c languageName: node linkType: hard