add wasm inter operation
This commit is contained in:
parent
48d81f16c7
commit
8b514d85c6
@ -41,7 +41,7 @@
|
||||
"md-editor-v3": "^2.8.1",
|
||||
"numeral": "^2.0.6",
|
||||
"osmojs": "^14.0.0-rc.0",
|
||||
"ping-widget": "^0.0.19",
|
||||
"ping-widget": "^0.0.20",
|
||||
"pinia": "^2.0.28",
|
||||
"postcss": "^8.4.23",
|
||||
"prismjs": "^1.29.0",
|
||||
|
@ -37,21 +37,29 @@ const tipMsg = computed(() => {
|
||||
|
||||
<template>
|
||||
<div
|
||||
v-show="walletStore.currentAddress"
|
||||
class="dropdown dropdown-hover dropdown-end"
|
||||
>
|
||||
<label tabindex="0" class="btn btn-sm m-1 lowercase">{{
|
||||
walletStore.shortAddress
|
||||
}}</label>
|
||||
<label tabindex="0" class="btn btn-sm m-1 lowercase">
|
||||
<Icon icon="mdi:wallet"/>
|
||||
<span class="ml-1 hidden md:block">
|
||||
{{ walletStore.shortAddress || "Wallet" }}</span>
|
||||
</label>
|
||||
<div
|
||||
tabindex="0"
|
||||
class="dropdown-content menu shadow p-2 bg-base-100 rounded w-64 overflow-auto"
|
||||
>
|
||||
<label
|
||||
v-if="!walletStore?.currentAddress"
|
||||
for="PingConnectWallet"
|
||||
class="btn btn-sm"
|
||||
><Icon icon="mdi:wallet"/><span class="ml-1 hidden md:block">Connect Wallet</span></label
|
||||
>
|
||||
<div class="px-2 mb-1 text-gray-500 dark:text-gray-400 font-semibold">
|
||||
{{ walletStore.connectedWallet?.wallet }}
|
||||
</div>
|
||||
<div class="">
|
||||
<a
|
||||
v-if="walletStore.currentAddress"
|
||||
class="block py-2 px-2 hover:bg-gray-100 dark:hover:bg-[#353f5a] rounded cursor-pointer"
|
||||
style="overflow-wrap: anywhere"
|
||||
@click="copyAdress(walletStore.currentAddress)"
|
||||
@ -69,8 +77,9 @@ const tipMsg = computed(() => {
|
||||
to="/wallet/portfolio"
|
||||
>Portfolio</RouterLink
|
||||
>
|
||||
<div class="divider mt-1 mb-1"></div>
|
||||
<div v-if="walletStore.currentAddress" class="divider mt-1 mb-1"></div>
|
||||
<a
|
||||
v-if="walletStore.currentAddress"
|
||||
class="block py-2 px-2 hover:bg-gray-100 dark:hover:bg-[#353f5a] rounded cursor-pointer"
|
||||
@click="walletStore.disconnect()"
|
||||
>Disconnected</a
|
||||
@ -93,12 +102,6 @@ const tipMsg = computed(() => {
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<label
|
||||
v-if="!walletStore?.currentAddress"
|
||||
for="PingConnectWallet"
|
||||
class="btn btn-sm ml-4"
|
||||
><Icon icon="mdi:wallet"/><span class="ml-1 hidden md:block">Connect Wallet</span></label
|
||||
>
|
||||
<div class="footer-modal">
|
||||
<Teleport to="body">
|
||||
<ping-connect-wallet
|
||||
|
@ -8,7 +8,7 @@ import type {
|
||||
} from '../types';
|
||||
import DynamicComponent from '@/components/dynamic/DynamicComponent.vue';
|
||||
import type { CustomInputContent } from '@/plugins/vuetify/@core/types';
|
||||
import { useFormatter } from '@/stores';
|
||||
import { useFormatter, useTxDialog } from '@/stores';
|
||||
import PaginationBar from '@/components/PaginationBar.vue';
|
||||
import { PageRequest } from '@/types';
|
||||
|
||||
@ -27,6 +27,7 @@ function loadContract(pageNum: number) {
|
||||
}
|
||||
loadContract(1)
|
||||
|
||||
const dialog = useTxDialog()
|
||||
const format = useFormatter();
|
||||
const infoDialog = ref(false);
|
||||
const stateDialog = ref(false);
|
||||
@ -136,16 +137,22 @@ const result = ref('');
|
||||
</label>
|
||||
<label
|
||||
for="modal-contract-query"
|
||||
class="btn btn-primary btn-sm text-xs"
|
||||
class="btn btn-primary btn-sm text-xs mr-2"
|
||||
@click="showQuery(v)"
|
||||
>
|
||||
Query
|
||||
</label>
|
||||
<label for="wasm_execute_contract" class="btn btn-primary btn-sm text-xs" @click="dialog.open('wasm_execute_contract', {contract: v})">
|
||||
Execute
|
||||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<PaginationBar :limit="50" :total="response.pagination?.total" :callback="loadContract"/>
|
||||
<div class="flex justify-between">
|
||||
<PaginationBar :limit="50" :total="response.pagination?.total" :callback="loadContract"/>
|
||||
<label for="wasm_instantiate_contract" class="btn btn-primary my-5" @click="dialog.open('wasm_instantiate_contract', {codeId: props.code_id})">Instantiate Contract</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
<script lang="ts" setup>
|
||||
import { useBlockchain, useFormatter } from '@/stores';
|
||||
import { useBlockchain, useFormatter, useTxDialog } from '@/stores';
|
||||
import { useWasmStore } from './WasmStore';
|
||||
import { ref } from 'vue';
|
||||
import type { PaginabledCodeInfos } from './types';
|
||||
@ -12,6 +12,7 @@ const codes = ref({} as PaginabledCodeInfos);
|
||||
|
||||
const pageRequest = ref(new PageRequest())
|
||||
const wasmStore = useWasmStore();
|
||||
const dialog = useTxDialog()
|
||||
|
||||
function pageload(pageNum: number) {
|
||||
pageRequest.value.setPage(pageNum)
|
||||
@ -57,7 +58,15 @@ pageload(1)
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<PaginationBar :limit="pageRequest.limit" :total="codes.pagination?.total" :callback="pageload"/>
|
||||
<div class="flex justify-between">
|
||||
<PaginationBar :limit="pageRequest.limit" :total="codes.pagination?.total" :callback="pageload"/>
|
||||
<label
|
||||
for="wasm_store_code"
|
||||
class="btn btn-primary my-5"
|
||||
@click="dialog.open('wasm_store_code', {})"
|
||||
>Upload Smart Contract</label
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -224,9 +224,7 @@ async function addAddress(acc: AccountEntry) {
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<th colspan="10">
|
||||
<div v-if="editable">
|
||||
|
||||
</div>
|
||||
<RouterLink to="/wallet/keplr"> Add chain to Keplr </RouterLink>
|
||||
</th>
|
||||
</tfoot>
|
||||
</table>
|
||||
|
@ -97,7 +97,7 @@ function suggest() {
|
||||
<textarea v-model="conf" class="textarea textarea-bordered w-full" rows="15"></textarea>
|
||||
</div>
|
||||
<div class="mt-4 mb-4">
|
||||
You can edit above params if you want.
|
||||
If the chain is not offically support on Keplr, you can submit these parameters to enable Keplr.
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
30
yarn.lock
30
yarn.lock
@ -3076,7 +3076,7 @@
|
||||
"@vue/compiler-dom" "3.2.47"
|
||||
"@vue/shared" "3.2.47"
|
||||
|
||||
"@vue/devtools-api@^6.2.1", "@vue/devtools-api@^6.4.5", "@vue/devtools-api@^6.5.0":
|
||||
"@vue/devtools-api@^6.2.1", "@vue/devtools-api@^6.4.5":
|
||||
version "6.5.0"
|
||||
resolved "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz"
|
||||
integrity sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==
|
||||
@ -4846,6 +4846,11 @@ fb-watchman@^2.0.0:
|
||||
dependencies:
|
||||
bser "2.1.1"
|
||||
|
||||
fflate@^0.8.0:
|
||||
version "0.8.0"
|
||||
resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.8.0.tgz#f93ad1dcbe695a25ae378cf2386624969a7cda32"
|
||||
integrity sha512-FAdS4qMuFjsJj6XHbBaZeXOgaypXp8iw/Tpyuq/w3XA41jjLHT8NPA+n7czH/DDhdncq0nAyDZmPeWXh2qmdIg==
|
||||
|
||||
figures@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz"
|
||||
@ -6950,10 +6955,10 @@ pify@^3.0.0:
|
||||
resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz"
|
||||
integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==
|
||||
|
||||
ping-widget@^0.0.19:
|
||||
version "0.0.19"
|
||||
resolved "https://registry.yarnpkg.com/ping-widget/-/ping-widget-0.0.19.tgz#61ac216963a4b6bed3a525890ccd35fa64644c0e"
|
||||
integrity sha512-Yl1P8+cgiXCLsFHJJpP/Cy8eL+5j4xtWGSF1sAwJKj2UfVCJHGqFO2ih+caEx5I6wYQYwZTzqDYUjco5SADNaA==
|
||||
ping-widget@^0.0.20:
|
||||
version "0.0.20"
|
||||
resolved "https://registry.yarnpkg.com/ping-widget/-/ping-widget-0.0.20.tgz#768979566462284ca69bf78901c25f4adbc8613b"
|
||||
integrity sha512-bndLcLs5YDEHXXXglODwO1oLr5PANPOfVojPyLaUq41z2eBmFJ4hum+yqKLvsWLSaNnEJSv/gleeA1gutj4ogw==
|
||||
dependencies:
|
||||
"@cosmjs/amino" "^0.30.1"
|
||||
"@cosmjs/cosmwasm-stargate" "^0.30.1"
|
||||
@ -6972,8 +6977,8 @@ ping-widget@^0.0.19:
|
||||
cross-fetch "^3.1.5"
|
||||
daisyui "^2.51.6"
|
||||
dayjs "^1.11.7"
|
||||
fflate "^0.8.0"
|
||||
osmojs "^15.2.1"
|
||||
pinia "^2.0.36"
|
||||
vue "^3.2.47"
|
||||
vue3-webcomponent-wrapper "^0.2.0"
|
||||
|
||||
@ -6985,14 +6990,6 @@ pinia@^2.0.28:
|
||||
"@vue/devtools-api" "^6.4.5"
|
||||
vue-demi "*"
|
||||
|
||||
pinia@^2.0.36:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/pinia/-/pinia-2.1.1.tgz#542c6bb8a7c27b342082f431bccd6124b63c5b55"
|
||||
integrity sha512-Y2CgpcUtD8Ogdvo5LW5g20ykSZgnVDMgTSZFr40EvO6HB8axQk+0lHa1UrRah9wworFaxjovwRlY/wRICWj/KQ==
|
||||
dependencies:
|
||||
"@vue/devtools-api" "^6.5.0"
|
||||
vue-demi ">=0.14.2"
|
||||
|
||||
pirates@^4.0.1, pirates@^4.0.4:
|
||||
version "4.0.5"
|
||||
resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz"
|
||||
@ -8627,11 +8624,6 @@ vue-demi@>=0.14.0:
|
||||
resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.14.1.tgz#1ed9af03a27642762bfed83d8750805302d0398d"
|
||||
integrity sha512-rt+yuCtXvscYot9SQQj3WKZJVSriPNqVkpVBNEHPzSgBv7QIYzsS410VqVgvx8f9AAPgjg+XPKvmV3vOqqkJQQ==
|
||||
|
||||
vue-demi@>=0.14.2:
|
||||
version "0.14.3"
|
||||
resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.14.3.tgz#5c7375527ad32580a7d8d28ee322bc059dbc1b99"
|
||||
integrity sha512-aknytzARm7U20nMhvOdfa5IRiS+oyATtd55s3fICsT7wEtN/qoOiOINsNsNJjeZCOsPNOGS4p1yDOwH9cTxgjg==
|
||||
|
||||
vue-eslint-parser@^9.0.0, vue-eslint-parser@^9.0.1:
|
||||
version "9.1.0"
|
||||
resolved "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.1.0.tgz"
|
||||
|
Loading…
Reference in New Issue
Block a user