mirror of
https://github.com/Instadapp/assembly.git
synced 2024-07-29 22:37:06 +00:00
wip
This commit is contained in:
parent
fe8e9a7e70
commit
fe9ba6d716
|
|
@ -1,6 +1,10 @@
|
|||
<template>
|
||||
<div>
|
||||
<div v-if="active && activeAccount" class="relative w-[193px]" v-click-outside="hide">
|
||||
<div
|
||||
v-if="active && activeAccount"
|
||||
class="relative w-[193px]"
|
||||
v-click-outside="hide"
|
||||
>
|
||||
<button
|
||||
type="button"
|
||||
class=" relative w-full border border-primary-blue-border rounded pl-3 pr-10 py-2 text-left focus:outline-none focus:ring-1 focus:ring-[#0846E4] focus:border-[#0846E4] sm:text-sm"
|
||||
|
|
@ -143,7 +147,7 @@
|
|||
</div>
|
||||
<button
|
||||
v-else-if="!active"
|
||||
@click="activate"
|
||||
@click="open"
|
||||
class="hidden md:flex bg-primary-blue-dark hover:bg-primary-blue-hover shadow text-white p-3 rounded h-9 items-center justify-center w-40"
|
||||
>
|
||||
Connect
|
||||
|
|
@ -155,12 +159,14 @@
|
|||
import { defineComponent, ref, watch } from '@nuxtjs/composition-api'
|
||||
import { useDSA } from "~/composables/useDSA";
|
||||
import { useFormatting } from '~/composables/useFormatting';
|
||||
import { useWeb3 } from '~/composables/useWeb3';
|
||||
import { useWeb3Modal } from '~/composables/useWeb3Modal';
|
||||
import { useWeb3 } from '@kabbouchi/vue-web3';
|
||||
|
||||
export default defineComponent({
|
||||
setup() {
|
||||
const { activeAccount } = useDSA()
|
||||
const { active, deactivate, activate } = useWeb3()
|
||||
const { open } = useWeb3Modal()
|
||||
const { shortenHash } = useFormatting()
|
||||
|
||||
const show = ref(false)
|
||||
|
|
@ -172,6 +178,7 @@ export default defineComponent({
|
|||
return {
|
||||
hide,
|
||||
show,
|
||||
open,
|
||||
activeAccount,
|
||||
active,
|
||||
activate,
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
<script lang="ts">
|
||||
import { defineComponent } from "@nuxtjs/composition-api";
|
||||
import { useTenderly } from "~/composables/useTenderly";
|
||||
import { useWeb3 } from "~/composables/useWeb3";
|
||||
import { useWeb3 } from "@kabbouchi/vue-web3";
|
||||
import ToggleButton from "./common/input/ToggleButton.vue";
|
||||
|
||||
export default defineComponent({
|
||||
|
|
|
|||
51
components/modal/web3/Web3Modal.vue
Normal file
51
components/modal/web3/Web3Modal.vue
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
<template>
|
||||
<div
|
||||
class="inline-block w-full max-w-md px-8 py-7 overflow-hidden text-left align-bottom transition-all transform bg-white border border-opacity-50 rounded-lg shadow-xl dark:bg-dark-400 sm:my-8 sm:align-middle sm:p-6 border-green-light"
|
||||
role="dialog"
|
||||
aria-modal="true"
|
||||
aria-labelledby="modal-headline"
|
||||
>
|
||||
<div>
|
||||
<div class="mt-3 text-center sm:mt-5">
|
||||
<h3 id="modal-headline" class="font-bold text-2xl">
|
||||
Connect your wallet
|
||||
</h3>
|
||||
</div>
|
||||
|
||||
<div class="my-10">
|
||||
<button @click="connect">
|
||||
Metamask
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { defineComponent, ref } from '@nuxtjs/composition-api'
|
||||
import Input from '~/components/common/input/Input.vue'
|
||||
import { useModal } from '~/composables/useModal'
|
||||
import { useWeb3 } from '@kabbouchi/vue-web3'
|
||||
import { injected } from '~/connectors'
|
||||
import ButtonCTA from '../../common/input/ButtonCTA.vue'
|
||||
import ButtonCTAOutlined from '../../common/input/ButtonCTAOutlined.vue'
|
||||
|
||||
export default defineComponent({
|
||||
components: { ButtonCTA, ButtonCTAOutlined, Input },
|
||||
setup() {
|
||||
const { close } = useModal()
|
||||
const { activate } = useWeb3()
|
||||
|
||||
const connect = async () => {
|
||||
await activate(injected)
|
||||
|
||||
close()
|
||||
}
|
||||
|
||||
return {
|
||||
close,
|
||||
connect
|
||||
}
|
||||
},
|
||||
})
|
||||
</script>
|
||||
|
|
@ -79,7 +79,7 @@ import { useValidation } from '~/composables/useValidation'
|
|||
import { useToken } from '~/composables/useToken'
|
||||
import { useParsing } from '~/composables/useParsing'
|
||||
import { useMaxAmountActive } from '~/composables/useMaxAmountActive'
|
||||
import { useWeb3 } from '~/composables/useWeb3'
|
||||
import { useWeb3 } from '@kabbouchi/vue-web3'
|
||||
import atokens from '~/constant/atokens'
|
||||
import ToggleButton from '~/components/common/input/ToggleButton.vue'
|
||||
import { useDSA } from '~/composables/useDSA'
|
||||
|
|
@ -87,6 +87,7 @@ import ButtonCTA from '~/components/common/input/ButtonCTA.vue'
|
|||
import { useNotification } from '~/composables/useNotification'
|
||||
import Button from '~/components/Button.vue'
|
||||
import { useSidebar } from '~/composables/useSidebar'
|
||||
import { useNetwork } from '~/composables/useNetwork'
|
||||
|
||||
export default defineComponent({
|
||||
components: { InputNumeric, Input, ToggleButton, ButtonCTA, Button },
|
||||
|
|
@ -95,7 +96,8 @@ export default defineComponent({
|
|||
},
|
||||
setup(props) {
|
||||
const { close } = useSidebar()
|
||||
const { networkName, account, web3 } = useWeb3()
|
||||
const { account, library } = useWeb3()
|
||||
const { activeNetworkId } = useNetwork()
|
||||
const { dsa } = useDSA()
|
||||
const { getTokenByKey, valInt } = useToken()
|
||||
const { formatNumber, formatUsdMax, formatUsd } = useFormatting()
|
||||
|
|
@ -109,7 +111,7 @@ export default defineComponent({
|
|||
const amount = ref('')
|
||||
const amountParsed = computed(() => parseSafeFloat(amount.value))
|
||||
|
||||
const rootTokenKey = computed(() => atokens[networkName.value].rootTokens.includes(props.tokenKey) ? props.tokenKey : 'eth')
|
||||
const rootTokenKey = computed(() => atokens[activeNetworkId.value].rootTokens.includes(props.tokenKey) ? props.tokenKey : 'eth')
|
||||
|
||||
const token = computed(() => getTokenByKey(rootTokenKey.value))
|
||||
const symbol = computed(() => token.value?.symbol)
|
||||
|
|
@ -126,7 +128,7 @@ export default defineComponent({
|
|||
|
||||
return {
|
||||
amount: { message: validateAmount(amountParsed.value, balance.value), show: hasAmountValue },
|
||||
accountAddress: { message: web3.value && !web3.value.utils.isAddress(accountAddress.value) ? 'Enter valid address!' : null, show: accountAddress.value.length > 0 },
|
||||
accountAddress: { message: library.value && !library.value.utils.isAddress(accountAddress.value) ? 'Enter valid address!' : null, show: accountAddress.value.length > 0 },
|
||||
auth: { message: validateIsLoggedIn(!!account.value), show: true },
|
||||
}
|
||||
})
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ import { useValidation } from '~/composables/useValidation'
|
|||
import { useToken } from '~/composables/useToken'
|
||||
import { useParsing } from '~/composables/useParsing'
|
||||
import { useMaxAmountActive } from '~/composables/useMaxAmountActive'
|
||||
import { useWeb3 } from '~/composables/useWeb3'
|
||||
import { useWeb3 } from '@kabbouchi/vue-web3'
|
||||
import atokens from '~/constant/atokens'
|
||||
import ToggleButton from '~/components/common/input/ToggleButton.vue'
|
||||
import { useDSA } from '~/composables/useDSA'
|
||||
|
|
@ -84,6 +84,7 @@ import ButtonCTA from '~/components/common/input/ButtonCTA.vue'
|
|||
import { useNotification } from '~/composables/useNotification'
|
||||
import Button from '~/components/Button.vue'
|
||||
import { useSidebar } from '~/composables/useSidebar'
|
||||
import { useNetwork } from '~/composables/useNetwork'
|
||||
|
||||
export default defineComponent({
|
||||
components: { InputNumeric, ToggleButton, ButtonCTA, Button },
|
||||
|
|
@ -92,7 +93,8 @@ export default defineComponent({
|
|||
},
|
||||
setup(props) {
|
||||
const { close } = useSidebar()
|
||||
const { networkName, account } = useWeb3()
|
||||
const { account } = useWeb3()
|
||||
const { activeNetworkId } = useNetwork()
|
||||
const { dsa } = useDSA()
|
||||
const { getTokenByKey, valInt } = useToken()
|
||||
const { formatNumber, formatUsdMax, formatUsd } = useFormatting()
|
||||
|
|
@ -117,7 +119,7 @@ export default defineComponent({
|
|||
const amount = ref('')
|
||||
const amountParsed = computed(() => parseSafeFloat(amount.value))
|
||||
|
||||
const rootTokenKey = computed(() => atokens[networkName.value].rootTokens.includes(props.tokenKey) ? props.tokenKey : 'eth')
|
||||
const rootTokenKey = computed(() => atokens[activeNetworkId.value].rootTokens.includes(props.tokenKey) ? props.tokenKey : 'eth')
|
||||
|
||||
const currentPosition = computed(() =>
|
||||
displayPositions.value.find((position) => position.key === rootTokenKey.value)
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ import { useValidation } from '~/composables/useValidation'
|
|||
import { useToken } from '~/composables/useToken'
|
||||
import { useParsing } from '~/composables/useParsing'
|
||||
import { useMaxAmountActive } from '~/composables/useMaxAmountActive'
|
||||
import { useWeb3 } from '~/composables/useWeb3'
|
||||
import { useWeb3 } from '@kabbouchi/vue-web3'
|
||||
import atokens from '~/constant/atokens'
|
||||
import ToggleButton from '~/components/common/input/ToggleButton.vue'
|
||||
import { useDSA } from '~/composables/useDSA'
|
||||
|
|
@ -107,6 +107,7 @@ import ButtonCTA from '~/components/common/input/ButtonCTA.vue'
|
|||
import { useNotification } from '~/composables/useNotification'
|
||||
import Button from '~/components/Button.vue'
|
||||
import { useSidebar } from '~/composables/useSidebar'
|
||||
import { useNetwork } from '~/composables/useNetwork'
|
||||
|
||||
export default defineComponent({
|
||||
components: { InputNumeric, ToggleButton, ButtonCTA, Button },
|
||||
|
|
@ -115,7 +116,8 @@ export default defineComponent({
|
|||
},
|
||||
setup(props) {
|
||||
const { close } = useSidebar()
|
||||
const { networkName, account } = useWeb3()
|
||||
const { account } = useWeb3()
|
||||
const { activeNetworkId } = useNetwork()
|
||||
const { dsa } = useDSA()
|
||||
const { getTokenByKey, valInt } = useToken()
|
||||
const { getBalanceByKey, getBalanceRawByKey, fetchBalances } = useBalances()
|
||||
|
|
@ -139,7 +141,7 @@ export default defineComponent({
|
|||
const amount = ref('')
|
||||
const amountParsed = computed(() => parseSafeFloat(amount.value))
|
||||
|
||||
const rootTokenKey = computed(() => atokens[networkName.value].rootTokens.includes(props.tokenKey) ? props.tokenKey : 'eth')
|
||||
const rootTokenKey = computed(() => atokens[activeNetworkId.value].rootTokens.includes(props.tokenKey) ? props.tokenKey : 'eth')
|
||||
|
||||
const currentPosition = computed(() =>
|
||||
displayPositions.value.find((position) => position.key === rootTokenKey.value)
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ import { useValidation } from "~/composables/useValidation";
|
|||
import { useToken } from "~/composables/useToken";
|
||||
import { useParsing } from "~/composables/useParsing";
|
||||
import { useMaxAmountActive } from "~/composables/useMaxAmountActive";
|
||||
import { useWeb3 } from "~/composables/useWeb3";
|
||||
import { useWeb3 } from "@kabbouchi/vue-web3";
|
||||
import atokens from "~/constant/atokens";
|
||||
import ToggleButton from "~/components/common/input/ToggleButton.vue";
|
||||
import { useDSA } from "~/composables/useDSA";
|
||||
|
|
@ -88,6 +88,7 @@ import ButtonCTA from "~/components/common/input/ButtonCTA.vue";
|
|||
import Button from "~/components/Button.vue";
|
||||
import { useSidebar } from "~/composables/useSidebar";
|
||||
import DSA from "dsa-connect";
|
||||
import { useNetwork } from "~/composables/useNetwork";
|
||||
export default defineComponent({
|
||||
components: { InputNumeric, ToggleButton, ButtonCTA, Button },
|
||||
props: {
|
||||
|
|
@ -95,7 +96,8 @@ export default defineComponent({
|
|||
},
|
||||
setup(props) {
|
||||
const { close } = useSidebar();
|
||||
const { networkName, account } = useWeb3();
|
||||
const { account } = useWeb3();
|
||||
const { activeNetworkId } = useNetwork()
|
||||
const { dsa } = useDSA();
|
||||
const { getTokenByKey, valInt } = useToken();
|
||||
const { getBalanceByKey, fetchBalances } = useBalances();
|
||||
|
|
@ -129,7 +131,7 @@ export default defineComponent({
|
|||
const amountParsed = computed(() => parseSafeFloat(amount.value));
|
||||
|
||||
const rootTokenKey = computed(() =>
|
||||
atokens[networkName.value].rootTokens.includes(props.tokenKey)
|
||||
atokens[activeNetworkId.value].rootTokens.includes(props.tokenKey)
|
||||
? props.tokenKey
|
||||
: "eth"
|
||||
);
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ import { useValidation } from '~/composables/useValidation'
|
|||
import { useToken } from '~/composables/useToken'
|
||||
import { useParsing } from '~/composables/useParsing'
|
||||
import { useMaxAmountActive } from '~/composables/useMaxAmountActive'
|
||||
import { useWeb3 } from '~/composables/useWeb3'
|
||||
import { useWeb3 } from '@kabbouchi/vue-web3'
|
||||
import atokens from '~/constant/atokens'
|
||||
import ToggleButton from '~/components/common/input/ToggleButton.vue'
|
||||
import { useDSA } from '~/composables/useDSA'
|
||||
|
|
@ -89,6 +89,7 @@ import ButtonCTA from '~/components/common/input/ButtonCTA.vue'
|
|||
import { useNotification } from '~/composables/useNotification'
|
||||
import Button from '~/components/Button.vue'
|
||||
import { useSidebar } from '~/composables/useSidebar'
|
||||
import { useNetwork } from '~/composables/useNetwork'
|
||||
|
||||
export default defineComponent({
|
||||
components: { InputNumeric, ToggleButton, ButtonCTA, Button },
|
||||
|
|
@ -97,7 +98,8 @@ export default defineComponent({
|
|||
},
|
||||
setup(props) {
|
||||
const { close } = useSidebar()
|
||||
const { networkName, account } = useWeb3()
|
||||
const { account } = useWeb3()
|
||||
const { activeNetworkId } = useNetwork()
|
||||
const { dsa } = useDSA()
|
||||
const { getTokenByKey, valInt } = useToken()
|
||||
const { formatNumber, formatUsdMax, formatUsd } = useFormatting()
|
||||
|
|
@ -132,7 +134,7 @@ export default defineComponent({
|
|||
const amount = ref('')
|
||||
const amountParsed = computed(() => parseSafeFloat(amount.value))
|
||||
|
||||
const rootTokenKey = computed(() => atokens[networkName.value].rootTokens.includes(props.tokenKey) ? props.tokenKey : 'eth')
|
||||
const rootTokenKey = computed(() => atokens[activeNetworkId.value].rootTokens.includes(props.tokenKey) ? props.tokenKey : 'eth')
|
||||
|
||||
const token = computed(() => getTokenByKey(rootTokenKey.value))
|
||||
const symbol = computed(() => token.value?.symbol)
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ import { useValidators } from '~/composables/useValidators'
|
|||
import { useValidation } from '~/composables/useValidation'
|
||||
import { useToken } from '~/composables/useToken'
|
||||
import { useParsing } from '~/composables/useParsing'
|
||||
import { useWeb3 } from '~/composables/useWeb3'
|
||||
import { useWeb3 } from '@kabbouchi/vue-web3'
|
||||
import ToggleButton from '~/components/common/input/ToggleButton.vue'
|
||||
import { useDSA } from '~/composables/useDSA'
|
||||
import ButtonCTA from '~/components/common/input/ButtonCTA.vue'
|
||||
|
|
@ -76,6 +76,7 @@ import { useCompoundPosition } from '~/composables/protocols/useCompoundPosition
|
|||
import ctokens from '~/constant/ctokens'
|
||||
import tokenIdMapping from '~/constant/tokenIdMapping'
|
||||
import { useBalances } from '~/composables/useBalances'
|
||||
import { useNetwork } from '~/composables/useNetwork'
|
||||
|
||||
export default defineComponent({
|
||||
components: { InputNumeric, ToggleButton, ButtonCTA, Button },
|
||||
|
|
@ -84,7 +85,8 @@ export default defineComponent({
|
|||
},
|
||||
setup(props) {
|
||||
const { close } = useSidebar()
|
||||
const { networkName, account } = useWeb3()
|
||||
const { account } = useWeb3()
|
||||
const { activeNetworkId } = useNetwork()
|
||||
const { dsa } = useDSA()
|
||||
const { getTokenByKey, valInt } = useToken()
|
||||
const { fetchBalances } = useBalances()
|
||||
|
|
@ -96,7 +98,7 @@ export default defineComponent({
|
|||
const tokenId = computed(() => props.tokenId)
|
||||
const tokenKey = computed(() => tokenIdMapping.idToToken[tokenId.value])
|
||||
|
||||
const rootTokenKey = computed(() => ctokens[networkName.value].rootTokens.includes(tokenKey.value) ? tokenKey.value : 'eth')
|
||||
const rootTokenKey = computed(() => ctokens[activeNetworkId.value].rootTokens.includes(tokenKey.value) ? tokenKey.value : 'eth')
|
||||
|
||||
const { stats, status: initialStatus, position, displayPositions, liquidation, liquidationPrice, liquidationMaxPrice, refreshPosition } = useCompoundPosition({
|
||||
overridePosition: (position) => {
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ import { useValidation } from '~/composables/useValidation'
|
|||
import { useToken } from '~/composables/useToken'
|
||||
import { useParsing } from '~/composables/useParsing'
|
||||
import { useMaxAmountActive } from '~/composables/useMaxAmountActive'
|
||||
import { useWeb3 } from '~/composables/useWeb3'
|
||||
import { useWeb3 } from '@kabbouchi/vue-web3'
|
||||
import ToggleButton from '~/components/common/input/ToggleButton.vue'
|
||||
import { useDSA } from '~/composables/useDSA'
|
||||
import ButtonCTA from '~/components/common/input/ButtonCTA.vue'
|
||||
|
|
@ -100,6 +100,7 @@ import { useSidebar } from '~/composables/useSidebar'
|
|||
import { useCompoundPosition } from '~/composables/protocols/useCompoundPosition'
|
||||
import ctokens from '~/constant/ctokens'
|
||||
import tokenIdMapping from '~/constant/tokenIdMapping'
|
||||
import { useNetwork } from '~/composables/useNetwork'
|
||||
|
||||
export default defineComponent({
|
||||
components: { InputNumeric, ToggleButton, ButtonCTA, Button },
|
||||
|
|
@ -108,7 +109,8 @@ export default defineComponent({
|
|||
},
|
||||
setup(props) {
|
||||
const { close } = useSidebar()
|
||||
const { networkName, account } = useWeb3()
|
||||
const { account } = useWeb3()
|
||||
const { activeNetworkId } = useNetwork()
|
||||
const { dsa } = useDSA()
|
||||
const { getTokenByKey, valInt } = useToken()
|
||||
const { getBalanceByKey, getBalanceRawByKey, fetchBalances } = useBalances()
|
||||
|
|
@ -119,7 +121,7 @@ export default defineComponent({
|
|||
const tokenId = computed(() => props.tokenId)
|
||||
const tokenKey = computed(() => tokenIdMapping.idToToken[tokenId.value])
|
||||
|
||||
const rootTokenKey = computed(() => ctokens[networkName.value].rootTokens.includes(tokenKey.value) ? tokenKey.value : 'eth')
|
||||
const rootTokenKey = computed(() => ctokens[activeNetworkId.value].rootTokens.includes(tokenKey.value) ? tokenKey.value : 'eth')
|
||||
|
||||
|
||||
const { status, position, displayPositions, liquidation, liquidationPrice, liquidationMaxPrice, refreshPosition } = useCompoundPosition({
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ import { useValidation } from '~/composables/useValidation'
|
|||
import { useToken } from '~/composables/useToken'
|
||||
import { useParsing } from '~/composables/useParsing'
|
||||
import { useMaxAmountActive } from '~/composables/useMaxAmountActive'
|
||||
import { useWeb3 } from '~/composables/useWeb3'
|
||||
import { useWeb3 } from '@kabbouchi/vue-web3'
|
||||
import ToggleButton from '~/components/common/input/ToggleButton.vue'
|
||||
import { useDSA } from '~/composables/useDSA'
|
||||
import ButtonCTA from '~/components/common/input/ButtonCTA.vue'
|
||||
|
|
@ -88,6 +88,7 @@ import { useSidebar } from '~/composables/useSidebar'
|
|||
import tokenIdMapping from '~/constant/tokenIdMapping'
|
||||
import ctokens from '~/constant/ctokens'
|
||||
import { useCompoundPosition } from '~/composables/protocols/useCompoundPosition'
|
||||
import { useNetwork } from '~/composables/useNetwork'
|
||||
|
||||
export default defineComponent({
|
||||
components: { InputNumeric, ToggleButton, ButtonCTA, Button },
|
||||
|
|
@ -96,7 +97,8 @@ export default defineComponent({
|
|||
},
|
||||
setup(props) {
|
||||
const { close } = useSidebar()
|
||||
const { networkName, account } = useWeb3()
|
||||
const { account } = useWeb3()
|
||||
const { activeNetworkId } = useNetwork()
|
||||
const { dsa } = useDSA()
|
||||
const { getTokenByKey, valInt } = useToken()
|
||||
const { getBalanceByKey, fetchBalances } = useBalances()
|
||||
|
|
@ -108,7 +110,7 @@ export default defineComponent({
|
|||
const tokenId = computed(() => props.tokenId)
|
||||
const tokenKey = computed(() => tokenIdMapping.idToToken[tokenId.value])
|
||||
|
||||
const rootTokenKey = computed(() => ctokens[networkName.value].rootTokens.includes(tokenKey.value) ? tokenKey.value : 'eth')
|
||||
const rootTokenKey = computed(() => ctokens[activeNetworkId.value].rootTokens.includes(tokenKey.value) ? tokenKey.value : 'eth')
|
||||
|
||||
const { status, position, displayPositions, liquidation, liquidationPrice, liquidationMaxPrice, refreshPosition } = useCompoundPosition({
|
||||
overridePosition: (position) => {
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ import { useValidation } from '~/composables/useValidation'
|
|||
import { useToken } from '~/composables/useToken'
|
||||
import { useParsing } from '~/composables/useParsing'
|
||||
import { useMaxAmountActive } from '~/composables/useMaxAmountActive'
|
||||
import { useWeb3 } from '~/composables/useWeb3'
|
||||
import { useWeb3 } from '@kabbouchi/vue-web3'
|
||||
import ToggleButton from '~/components/common/input/ToggleButton.vue'
|
||||
import { useDSA } from '~/composables/useDSA'
|
||||
import ButtonCTA from '~/components/common/input/ButtonCTA.vue'
|
||||
|
|
@ -90,6 +90,7 @@ import tokenIdMapping from '~/constant/tokenIdMapping'
|
|||
import ctokens from '~/constant/ctokens'
|
||||
import { useCompoundPosition } from '~/composables/protocols/useCompoundPosition'
|
||||
import { useBalances } from '~/composables/useBalances'
|
||||
import { useNetwork } from '~/composables/useNetwork'
|
||||
|
||||
export default defineComponent({
|
||||
components: { InputNumeric, ToggleButton, ButtonCTA, Button },
|
||||
|
|
@ -98,7 +99,8 @@ export default defineComponent({
|
|||
},
|
||||
setup(props) {
|
||||
const { close } = useSidebar()
|
||||
const { networkName, account } = useWeb3()
|
||||
const { account } = useWeb3()
|
||||
const { activeNetworkId } = useNetwork()
|
||||
const { dsa } = useDSA()
|
||||
const { fetchBalances } = useBalances()
|
||||
const { getTokenByKey, valInt } = useToken()
|
||||
|
|
@ -110,7 +112,7 @@ export default defineComponent({
|
|||
const tokenId = computed(() => props.tokenId)
|
||||
const tokenKey = computed(() => tokenIdMapping.idToToken[tokenId.value])
|
||||
|
||||
const rootTokenKey = computed(() => ctokens[networkName.value].rootTokens.includes(tokenKey.value) ? tokenKey.value : 'eth')
|
||||
const rootTokenKey = computed(() => ctokens[activeNetworkId.value].rootTokens.includes(tokenKey.value) ? tokenKey.value : 'eth')
|
||||
|
||||
|
||||
const { stats, status, position, displayPositions, liquidation, liquidationPrice, liquidationMaxPrice, refreshPosition } = useCompoundPosition({
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ import { useValidators } from '~/composables/useValidators'
|
|||
import { useValidation } from '~/composables/useValidation'
|
||||
import { useToken } from '~/composables/useToken'
|
||||
import { useParsing } from '~/composables/useParsing'
|
||||
import { useWeb3 } from '~/composables/useWeb3'
|
||||
import { useWeb3 } from '@kabbouchi/vue-web3'
|
||||
import ToggleButton from '~/components/common/input/ToggleButton.vue'
|
||||
import { useDSA } from '~/composables/useDSA'
|
||||
import ButtonCTA from '~/components/common/input/ButtonCTA.vue'
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@ import { useValidation } from '~/composables/useValidation'
|
|||
import { useToken } from '~/composables/useToken'
|
||||
import { useParsing } from '~/composables/useParsing'
|
||||
import { useMaxAmountActive } from '~/composables/useMaxAmountActive'
|
||||
import { useWeb3 } from '~/composables/useWeb3'
|
||||
import { useWeb3 } from '@kabbouchi/vue-web3'
|
||||
import atokens from '~/constant/atokens'
|
||||
import ToggleButton from '~/components/common/input/ToggleButton.vue'
|
||||
import { useDSA } from '~/composables/useDSA'
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ import { useValidation } from '~/composables/useValidation'
|
|||
import { useToken } from '~/composables/useToken'
|
||||
import { useParsing } from '~/composables/useParsing'
|
||||
import { useMaxAmountActive } from '~/composables/useMaxAmountActive'
|
||||
import { useWeb3 } from '~/composables/useWeb3'
|
||||
import { useWeb3 } from '@kabbouchi/vue-web3'
|
||||
import ToggleButton from '~/components/common/input/ToggleButton.vue'
|
||||
import { useDSA } from '~/composables/useDSA'
|
||||
import ButtonCTA from '~/components/common/input/ButtonCTA.vue'
|
||||
|
|
@ -108,7 +108,7 @@ export default defineComponent({
|
|||
components: { InputNumeric, ToggleButton, ButtonCTA, Button },
|
||||
setup() {
|
||||
const { close } = useSidebar()
|
||||
const { networkName, account } = useWeb3()
|
||||
const { account } = useWeb3()
|
||||
const { dsa } = useDSA()
|
||||
const { valInt } = useToken()
|
||||
const { getBalanceByKey, fetchBalances } = useBalances()
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ import { useValidation } from '~/composables/useValidation'
|
|||
import { useToken } from '~/composables/useToken'
|
||||
import { useParsing } from '~/composables/useParsing'
|
||||
import { useMaxAmountActive } from '~/composables/useMaxAmountActive'
|
||||
import { useWeb3 } from '~/composables/useWeb3'
|
||||
import { useWeb3 } from '@kabbouchi/vue-web3'
|
||||
import ToggleButton from '~/components/common/input/ToggleButton.vue'
|
||||
import { useDSA } from '~/composables/useDSA'
|
||||
import ButtonCTA from '~/components/common/input/ButtonCTA.vue'
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ import { useValidation } from '~/composables/useValidation'
|
|||
import { useToken } from '~/composables/useToken'
|
||||
import { useParsing } from '~/composables/useParsing'
|
||||
import { useMaxAmountActive } from '~/composables/useMaxAmountActive'
|
||||
import { useWeb3 } from '~/composables/useWeb3'
|
||||
import { useWeb3 } from '@kabbouchi/vue-web3'
|
||||
import ToggleButton from '~/components/common/input/ToggleButton.vue'
|
||||
import { useDSA } from '~/composables/useDSA'
|
||||
import ButtonCTA from '~/components/common/input/ButtonCTA.vue'
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ import { useValidation } from '~/composables/useValidation'
|
|||
import { useToken } from '~/composables/useToken'
|
||||
import { useParsing } from '~/composables/useParsing'
|
||||
import { useMaxAmountActive } from '~/composables/useMaxAmountActive'
|
||||
import { useWeb3 } from '~/composables/useWeb3'
|
||||
import { useWeb3 } from '@kabbouchi/vue-web3'
|
||||
import ToggleButton from '~/components/common/input/ToggleButton.vue'
|
||||
import { useDSA } from '~/composables/useDSA'
|
||||
import ButtonCTA from '~/components/common/input/ButtonCTA.vue'
|
||||
|
|
@ -87,7 +87,7 @@ export default defineComponent({
|
|||
},
|
||||
setup(props) {
|
||||
const { close } = useSidebar()
|
||||
const { networkName, account } = useWeb3()
|
||||
const { account } = useWeb3()
|
||||
const { dsa } = useDSA()
|
||||
const { getTokenByKey, valInt } = useToken()
|
||||
const { fetchBalances } = useBalances()
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ import { useValidation } from '~/composables/useValidation'
|
|||
import { useToken } from '~/composables/useToken'
|
||||
import { useParsing } from '~/composables/useParsing'
|
||||
import { useMaxAmountActive } from '~/composables/useMaxAmountActive'
|
||||
import { useWeb3 } from '~/composables/useWeb3'
|
||||
import { useWeb3 } from '@kabbouchi/vue-web3'
|
||||
import ToggleButton from '~/components/common/input/ToggleButton.vue'
|
||||
import { useDSA } from '~/composables/useDSA'
|
||||
import ButtonCTA from '~/components/common/input/ButtonCTA.vue'
|
||||
|
|
@ -107,7 +107,7 @@ export default defineComponent({
|
|||
},
|
||||
setup(props) {
|
||||
const { close } = useSidebar()
|
||||
const { networkName, account } = useWeb3()
|
||||
const { account } = useWeb3()
|
||||
const { dsa } = useDSA()
|
||||
const { getTokenByKey, valInt } = useToken()
|
||||
const { getBalanceByKey, getBalanceRawByKey, fetchBalances } = useBalances()
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ import { useValidation } from '~/composables/useValidation'
|
|||
import { useToken } from '~/composables/useToken'
|
||||
import { useParsing } from '~/composables/useParsing'
|
||||
import { useMaxAmountActive } from '~/composables/useMaxAmountActive'
|
||||
import { useWeb3 } from '~/composables/useWeb3'
|
||||
import { useWeb3 } from '@kabbouchi/vue-web3'
|
||||
import ToggleButton from '~/components/common/input/ToggleButton.vue'
|
||||
import { useDSA } from '~/composables/useDSA'
|
||||
import ButtonCTA from '~/components/common/input/ButtonCTA.vue'
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ import { useValidation } from '~/composables/useValidation'
|
|||
import { useToken } from '~/composables/useToken'
|
||||
import { useParsing } from '~/composables/useParsing'
|
||||
import { useMaxAmountActive } from '~/composables/useMaxAmountActive'
|
||||
import { useWeb3 } from '~/composables/useWeb3'
|
||||
import { useWeb3 } from '@kabbouchi/vue-web3'
|
||||
import ToggleButton from '~/components/common/input/ToggleButton.vue'
|
||||
import { useDSA } from '~/composables/useDSA'
|
||||
import ButtonCTA from '~/components/common/input/ButtonCTA.vue'
|
||||
|
|
|
|||
|
|
@ -3,11 +3,11 @@ import { AbiItem } from "web3-utils";
|
|||
import aaveV2ABI from "~/abis/read/aaveV2.json";
|
||||
import { computed, ref, watch } from "@nuxtjs/composition-api";
|
||||
import { useDSA } from "~/composables/useDSA";
|
||||
import { useWeb3 } from "~/composables/useWeb3";
|
||||
import { useWeb3 } from "@kabbouchi/vue-web3";
|
||||
import BigNumber from "bignumber.js";
|
||||
import atokensV2 from "~/constant/atokensV2";
|
||||
import tokens from "~/constant/tokens";
|
||||
import { Network } from "~/composables/useNetwork";
|
||||
import { Network, useNetwork } from "~/composables/useNetwork";
|
||||
import { useBigNumber } from "~/composables/useBigNumber";
|
||||
import { usePosition } from "~/composables/usePosition";
|
||||
import { useToken } from "~/composables/useToken";
|
||||
|
|
@ -65,11 +65,12 @@ export function useAaveV2Position(
|
|||
) {
|
||||
overridePosition = overridePosition || (pos => pos);
|
||||
|
||||
const { web3, chainId, networkName } = useWeb3();
|
||||
const { library, chainId } = useWeb3();
|
||||
const { activeNetworkId } = useNetwork();
|
||||
const { activeAccount } = useDSA();
|
||||
const { getTokenByKey, allATokensV2 } = useToken();
|
||||
const { byMaxSupplyOrBorrowDesc } = useSorting()
|
||||
|
||||
const { byMaxSupplyOrBorrowDesc } = useSorting();
|
||||
|
||||
const resolver = computed(() =>
|
||||
chainId.value === 1
|
||||
? "0xFb3a1D56eD56F046721B9aCa749895100754578b"
|
||||
|
|
@ -77,7 +78,7 @@ export function useAaveV2Position(
|
|||
);
|
||||
|
||||
const fetchPosition = async () => {
|
||||
if (!web3.value) {
|
||||
if (!library.value) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -85,20 +86,20 @@ export function useAaveV2Position(
|
|||
return;
|
||||
}
|
||||
|
||||
const aaveResolverInstance = new web3.value.eth.Contract(
|
||||
const aaveResolverInstance = new library.value.eth.Contract(
|
||||
aaveV2ABI as AbiItem[],
|
||||
resolver.value
|
||||
);
|
||||
|
||||
const aaveTokensArr = atokensV2[networkName.value].allTokens.map(
|
||||
a => tokens[networkName.value].getTokenByKey(a.root).address
|
||||
const aaveTokensArr = atokensV2[activeNetworkId.value].allTokens.map(
|
||||
a => tokens[activeNetworkId.value].getTokenByKey(a.root).address
|
||||
);
|
||||
|
||||
const aaveRawData = await aaveResolverInstance.methods
|
||||
.getPosition(activeAccount.value.address, aaveTokensArr)
|
||||
.call();
|
||||
|
||||
const newPos = calculateAavePosition(aaveRawData, networkName.value);
|
||||
const newPos = calculateAavePosition(aaveRawData, activeNetworkId.value);
|
||||
|
||||
return newPos;
|
||||
};
|
||||
|
|
@ -107,9 +108,8 @@ export function useAaveV2Position(
|
|||
position.value = await fetchPosition();
|
||||
};
|
||||
|
||||
|
||||
watch(
|
||||
web3,
|
||||
library,
|
||||
async val => {
|
||||
if (val) {
|
||||
refreshPosition();
|
||||
|
|
@ -165,7 +165,7 @@ export function useAaveV2Position(
|
|||
);
|
||||
|
||||
const rewardTokenPriceInUsd = computed(() => {
|
||||
if (networkName.value === Network.Polygon) {
|
||||
if (activeNetworkId.value === Network.Polygon) {
|
||||
return ensureValue(
|
||||
position.value.data.find(position => position.key === "matic")
|
||||
?.priceInUsd
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@ import { AbiItem } from "web3-utils";
|
|||
import compoundABI from "~/abis/read/compound.json";
|
||||
import { computed, ref, watch } from "@nuxtjs/composition-api";
|
||||
import { useDSA } from "~/composables/useDSA";
|
||||
import { useWeb3 } from "~/composables/useWeb3";
|
||||
import { useWeb3 } from "@kabbouchi/vue-web3";
|
||||
import BigNumber from "bignumber.js";
|
||||
import tokens from "~/constant/tokens";
|
||||
import { Network } from "~/composables/useNetwork";
|
||||
import { Network, useNetwork } from "~/composables/useNetwork";
|
||||
import { useBigNumber } from "~/composables/useBigNumber";
|
||||
import { usePosition } from "~/composables/usePosition";
|
||||
import { useToken } from "~/composables/useToken";
|
||||
|
|
@ -62,14 +62,15 @@ export function useCompoundPosition(
|
|||
) {
|
||||
overridePosition = overridePosition || (pos => pos);
|
||||
|
||||
const { web3, networkName } = useWeb3();
|
||||
const { library } = useWeb3();
|
||||
const { activeNetworkId } = useNetwork()
|
||||
const { activeAccount } = useDSA();
|
||||
const { getTokenByKey } = useToken();
|
||||
const { byMaxSupplyOrBorrowDesc } = useSorting()
|
||||
const resolver = computed(() => addresses.mainnet.resolver.compound);
|
||||
|
||||
const fetchPosition = async () => {
|
||||
if (!web3.value) {
|
||||
if (!library.value) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -77,12 +78,12 @@ export function useCompoundPosition(
|
|||
return;
|
||||
}
|
||||
|
||||
const resolverInstance = new web3.value.eth.Contract(
|
||||
const resolverInstance = new library.value.eth.Contract(
|
||||
compoundABI as AbiItem[],
|
||||
resolver.value
|
||||
);
|
||||
|
||||
const tokensArr = ctokens[networkName.value].allTokens.map(a => a.address);
|
||||
const tokensArr = ctokens[activeNetworkId.value].allTokens.map(a => a.address);
|
||||
|
||||
const compoundRawData = await resolverInstance.methods
|
||||
.getPosition(activeAccount.value.address, tokensArr)
|
||||
|
|
@ -90,7 +91,7 @@ export function useCompoundPosition(
|
|||
|
||||
const newPos = calculateCompoundPosition(
|
||||
compoundRawData,
|
||||
networkName.value
|
||||
activeNetworkId.value
|
||||
);
|
||||
|
||||
return newPos;
|
||||
|
|
@ -101,7 +102,7 @@ export function useCompoundPosition(
|
|||
};
|
||||
|
||||
watch(
|
||||
web3,
|
||||
library,
|
||||
async val => {
|
||||
if (val) {
|
||||
refreshPosition();
|
||||
|
|
@ -162,7 +163,7 @@ export function useCompoundPosition(
|
|||
return [];
|
||||
}
|
||||
|
||||
return ctokens[networkName.value].allTokens
|
||||
return ctokens[activeNetworkId.value].allTokens
|
||||
.flatMap(ctoken => {
|
||||
const token = getTokenByKey(ctoken.root);
|
||||
if (!token) {
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import { computed, Ref, ref, watch } from "@nuxtjs/composition-api";
|
|||
import { useBalances } from "../useBalances";
|
||||
import { useBigNumber } from "../useBigNumber";
|
||||
import { useToken } from "../useToken";
|
||||
import { useWeb3 } from "~/composables/useWeb3";
|
||||
import { useWeb3 } from "@kabbouchi/vue-web3";
|
||||
import { AbiItem } from "web3-utils";
|
||||
import BigNumber from "bignumber.js";
|
||||
BigNumber.config({ POW_PRECISION: 200 });
|
||||
|
|
@ -49,7 +49,7 @@ export function useLiquityPosition(
|
|||
collateralAmountRef: Ref = null,
|
||||
debtAmountRef: Ref = null
|
||||
) {
|
||||
const { web3 } = useWeb3();
|
||||
const { library } = useWeb3();
|
||||
const { activeAccount } = useDSA();
|
||||
|
||||
const { isZero, times, div, max, minus, plus } = useBigNumber();
|
||||
|
|
@ -137,22 +137,22 @@ export function useLiquityPosition(
|
|||
);
|
||||
|
||||
const fetchPosition = async () => {
|
||||
if (!web3.value) {
|
||||
if (!library.value) {
|
||||
return;
|
||||
}
|
||||
|
||||
troveTypes.value = await getTroveTypes(web3.value);
|
||||
troveTypes.value = await getTroveTypes(library.value);
|
||||
|
||||
if (!activeAccount.value) {
|
||||
return;
|
||||
}
|
||||
|
||||
trove.value = await getTrove(activeAccount.value.address, web3.value);
|
||||
trove.value = await getTrove(activeAccount.value.address, library.value);
|
||||
};
|
||||
|
||||
async function getTrovePositionHints(collateralInWei, debtInWei) {
|
||||
try {
|
||||
const liquityInstance = new web3.value.eth.Contract(
|
||||
const liquityInstance = new library.value.eth.Contract(
|
||||
abis.resolver.liquity as AbiItem[],
|
||||
addresses.mainnet.resolver.liquity
|
||||
);
|
||||
|
|
@ -179,7 +179,7 @@ export function useLiquityPosition(
|
|||
}
|
||||
|
||||
watch(
|
||||
web3,
|
||||
library,
|
||||
async val => {
|
||||
if (val) {
|
||||
fetchPosition();
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import makerVaults from "~/constant/tokens/vaults";
|
|||
import { useBigNumber } from "~/composables/useBigNumber";
|
||||
import { useDSA } from "~/composables/useDSA";
|
||||
import { useToken } from "~/composables/useToken";
|
||||
import { useWeb3 } from "~/composables/useWeb3";
|
||||
import { useWeb3 } from "@kabbouchi/vue-web3";
|
||||
import { AbiItem } from "web3-utils";
|
||||
|
||||
const defaultVault = {
|
||||
|
|
@ -54,7 +54,7 @@ export function useMakerdaoPosition(
|
|||
collateralAmountRef: Ref = null,
|
||||
debtAmountRef: Ref = null
|
||||
) {
|
||||
const { web3, chainId, networkName } = useWeb3();
|
||||
const { library } = useWeb3();
|
||||
const { activeAccount } = useDSA();
|
||||
const { isZero, ensureValue, times, div, max, gt } = useBigNumber();
|
||||
const { getTokenByKey } = useToken();
|
||||
|
|
@ -117,23 +117,23 @@ export function useMakerdaoPosition(
|
|||
);
|
||||
|
||||
const fetchPosition = async () => {
|
||||
if (!web3.value) {
|
||||
if (!library.value) {
|
||||
return;
|
||||
}
|
||||
|
||||
vaultTypes.value = await getVaultTypes(web3.value);
|
||||
vaultTypes.value = await getVaultTypes(library.value);
|
||||
|
||||
if (!activeAccount.value) {
|
||||
return;
|
||||
}
|
||||
vaults.value = await getVaults(activeAccount.value.address, web3.value);
|
||||
vaults.value = await getVaults(activeAccount.value.address, library.value);
|
||||
if (vaults.value.length > 0 && !vaultId.value) {
|
||||
vaultId.value = vaults.value[0].id;
|
||||
}
|
||||
};
|
||||
|
||||
watch(
|
||||
web3,
|
||||
library,
|
||||
async val => {
|
||||
if (val) {
|
||||
fetchPosition();
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@ import addresses from "~/constant/addresses";
|
|||
import tokens from "~/constant/tokens";
|
||||
import uniPoolTokens from "~/constant/uniPoolTokens";
|
||||
import { useDSA } from "./useDSA";
|
||||
import { Network } from "./useNetwork";
|
||||
import { useWeb3 } from "./useWeb3";
|
||||
import { Network, useNetwork } from "./useNetwork";
|
||||
import { useWeb3 } from "@kabbouchi/vue-web3";
|
||||
import Web3 from "web3";
|
||||
import { AbiItem } from "web3-utils";
|
||||
import { useToken } from "./useToken";
|
||||
|
|
@ -32,7 +32,8 @@ const prices = reactive({
|
|||
export function useBalances() {
|
||||
const { $axios } = useContext();
|
||||
const { times, plus, ensureValue } = useBigNumber();
|
||||
const { account, networkName, web3 } = useWeb3();
|
||||
const { account, library } = useWeb3();
|
||||
const { activeNetworkId } = useNetwork()
|
||||
const { activeAccount } = useDSA();
|
||||
const { getTokenByKey } = useToken();
|
||||
const { by } = useSorting();
|
||||
|
|
@ -48,12 +49,12 @@ export function useBalances() {
|
|||
if (!account.value) return;
|
||||
balances.user = {
|
||||
mainnet:
|
||||
networkName.value === Network.Mainnet
|
||||
? await getBalances(account.value, Network.Mainnet, web3.value)
|
||||
activeNetworkId.value === Network.Mainnet
|
||||
? await getBalances(account.value, Network.Mainnet, library.value)
|
||||
: {},
|
||||
polygon:
|
||||
networkName.value === Network.Polygon
|
||||
? await getBalances(account.value, Network.Polygon, web3.value)
|
||||
activeNetworkId.value === Network.Polygon
|
||||
? await getBalances(account.value, Network.Polygon, library.value)
|
||||
: {}
|
||||
};
|
||||
}
|
||||
|
|
@ -63,19 +64,19 @@ export function useBalances() {
|
|||
|
||||
balances.dsa = {
|
||||
mainnet:
|
||||
networkName.value === Network.Mainnet
|
||||
activeNetworkId.value === Network.Mainnet
|
||||
? await getBalances(
|
||||
activeAccount.value.address,
|
||||
Network.Mainnet,
|
||||
web3.value
|
||||
library.value
|
||||
)
|
||||
: {},
|
||||
polygon:
|
||||
networkName.value === Network.Polygon
|
||||
activeNetworkId.value === Network.Polygon
|
||||
? await getBalances(
|
||||
activeAccount.value.address,
|
||||
Network.Polygon,
|
||||
web3.value
|
||||
library.value
|
||||
)
|
||||
: {}
|
||||
};
|
||||
|
|
@ -88,27 +89,27 @@ export function useBalances() {
|
|||
|
||||
const getBalanceByAddress = (address, network = null, type = "dsa") => {
|
||||
return (
|
||||
balances[type]?.[network || networkName.value][address]?.balance || "0"
|
||||
balances[type]?.[network || activeNetworkId.value][address]?.balance || "0"
|
||||
);
|
||||
};
|
||||
|
||||
const getBalanceRawByKey = (tokenKey, network = null, type = "dsa") => {
|
||||
return (
|
||||
balances[type]?.[network || networkName.value][
|
||||
balances[type]?.[network || activeNetworkId.value][
|
||||
getTokenByKey(tokenKey)?.address
|
||||
]?.raw || "0"
|
||||
);
|
||||
};
|
||||
|
||||
const netWorth = (address, type = "dsa") => {
|
||||
const balance = getBalanceByAddress(address, networkName.value, type);
|
||||
const price = ensureValue(prices[networkName.value][address]).toFixed();
|
||||
const balance = getBalanceByAddress(address, activeNetworkId.value, type);
|
||||
const price = ensureValue(prices[activeNetworkId.value][address]).toFixed();
|
||||
|
||||
return times(balance, price).toFixed();
|
||||
};
|
||||
|
||||
const balanceTotal = computed(() =>
|
||||
tokens[networkName.value].allTokens.reduce(
|
||||
tokens[activeNetworkId.value].allTokens.reduce(
|
||||
(totalNetWorth, token) =>
|
||||
plus(totalNetWorth, netWorth(token.address)).toFixed(),
|
||||
"0"
|
||||
|
|
@ -116,16 +117,16 @@ export function useBalances() {
|
|||
);
|
||||
|
||||
const getAssets = (type = "dsa") => {
|
||||
return tokens[networkName.value].allTokens
|
||||
return tokens[activeNetworkId.value].allTokens
|
||||
.map(token => ({
|
||||
...token,
|
||||
balance: getBalanceByAddress(token.address, networkName.value, type),
|
||||
balance: getBalanceByAddress(token.address, activeNetworkId.value, type),
|
||||
netWorth: netWorth(token.address, type)
|
||||
}))
|
||||
.sort(by("-netWorth"));
|
||||
};
|
||||
|
||||
watch(web3, () => {
|
||||
watch(library, () => {
|
||||
fetchBalances(true);
|
||||
});
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
import { computed, readonly, ref, watch } from "@nuxtjs/composition-api";
|
||||
import { useWeb3 } from "./useWeb3";
|
||||
import { useWeb3 } from "@kabbouchi/vue-web3";
|
||||
import DSA from "dsa-connect";
|
||||
import addresses from "~/constant/addresses";
|
||||
import abis from "~/constant/abis";
|
||||
import { AbiItem } from "web3-utils";
|
||||
import { useNotification } from "./useNotification";
|
||||
import { useNetwork } from "./useNetwork";
|
||||
|
||||
const dsa = ref<DSA>();
|
||||
const accounts = ref<any[]>([]);
|
||||
|
|
@ -12,18 +13,28 @@ const activeAccount = ref<any>();
|
|||
const authorities = ref<string[]>();
|
||||
|
||||
export function useDSA() {
|
||||
const { web3, chainId, networkName, account } = useWeb3();
|
||||
const { active, library, chainId, account } = useWeb3();
|
||||
const { activeNetworkId } = useNetwork()
|
||||
const { showWarning } = useNotification();
|
||||
|
||||
watch(web3, () => {
|
||||
if (web3.value) {
|
||||
dsa.value = new DSA(web3.value, chainId.value);
|
||||
watch(library, () => {
|
||||
if (library.value) {
|
||||
dsa.value = new DSA(library.value, chainId.value);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
watch(active, () => {
|
||||
console.log("here");
|
||||
|
||||
if (library.value) {
|
||||
dsa.value = new DSA(library.value, chainId.value);
|
||||
}
|
||||
});
|
||||
|
||||
watch(chainId, () => {
|
||||
if (web3.value) {
|
||||
dsa.value = new DSA(web3.value, chainId.value);
|
||||
if (library.value) {
|
||||
dsa.value = new DSA(library.value, chainId.value);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -82,9 +93,9 @@ export function useDSA() {
|
|||
|
||||
async function fethAuthorities() {
|
||||
try {
|
||||
const accountsResolverInstance = new web3.value.eth.Contract(
|
||||
const accountsResolverInstance = new library.value.eth.Contract(
|
||||
abis.resolver.accounts as AbiItem[],
|
||||
addresses[networkName.value].resolver.accounts
|
||||
addresses[activeNetworkId.value].resolver.accounts
|
||||
);
|
||||
const rawData = await accountsResolverInstance.methods
|
||||
.getAccountAuthorities(activeAccount.value.address)
|
||||
|
|
@ -170,7 +181,7 @@ export function useDSA() {
|
|||
createAccount,
|
||||
creatingAccount,
|
||||
setAccount,
|
||||
web3,
|
||||
library,
|
||||
chainId,
|
||||
authorities,
|
||||
createAuthority,
|
||||
|
|
|
|||
32
composables/useEagerConnect.ts
Normal file
32
composables/useEagerConnect.ts
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
import { useWeb3 } from "@kabbouchi/vue-web3";
|
||||
import { injected } from "../connectors";
|
||||
import { onMounted, ref, watch } from "@nuxtjs/composition-api";
|
||||
|
||||
export function useEagerConnect() {
|
||||
const { activate, active } = useWeb3();
|
||||
|
||||
const tried = ref(false);
|
||||
|
||||
onMounted(() => {
|
||||
injected.isAuthorized().then((isAuthorized: boolean) => {
|
||||
if (isAuthorized) {
|
||||
activate(injected, undefined, true).catch(() => {
|
||||
tried.value = true;
|
||||
});
|
||||
} else {
|
||||
tried.value = true;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// if the connection worked, wait until we get confirmation of that to flip the flag
|
||||
watch([tried, active], () => {
|
||||
if (!tried.value && active.value) {
|
||||
tried.value = true;
|
||||
}
|
||||
});
|
||||
|
||||
return {
|
||||
tried
|
||||
};
|
||||
}
|
||||
|
|
@ -1,22 +1,25 @@
|
|||
import { computed } from '@nuxtjs/composition-api'
|
||||
import { useWeb3 } from './useWeb3'
|
||||
import { computed } from "@nuxtjs/composition-api";
|
||||
import { useNetwork } from "./useNetwork";
|
||||
|
||||
export function useLink() {
|
||||
const { networkName } = useWeb3()
|
||||
const { activeNetworkId } = useNetwork();
|
||||
|
||||
const addressDetailsLink = computed(() => {
|
||||
if (networkName.value === 'polygon') {
|
||||
return 'https://polygonscan.com/address'
|
||||
if (activeNetworkId.value === "polygon") {
|
||||
return "https://polygonscan.com/address";
|
||||
}
|
||||
|
||||
return 'https://etherscan.io/address'
|
||||
})
|
||||
return "https://etherscan.io/address";
|
||||
});
|
||||
|
||||
return { addressDetailsLink }
|
||||
return { addressDetailsLink };
|
||||
}
|
||||
|
||||
export const getEtherscanLink = (transactionHash) => `https://etherscan.io/tx/${transactionHash}`
|
||||
export const getMaticLink = (transactionHash) => `https://polygonscan.com/tx/${transactionHash}`
|
||||
export const getPolygonLink = (transactionHash) => `https://polygonscan.com/tx/${transactionHash}`
|
||||
export const getTenderlyLink = (simulationId) =>
|
||||
`https://dashboard.tenderly.co/public/InstaDApp/dsa-simulations/fork-simulation/${simulationId}?hideSidebar=true`
|
||||
export const getEtherscanLink = transactionHash =>
|
||||
`https://etherscan.io/tx/${transactionHash}`;
|
||||
export const getMaticLink = transactionHash =>
|
||||
`https://polygonscan.com/tx/${transactionHash}`;
|
||||
export const getPolygonLink = transactionHash =>
|
||||
`https://polygonscan.com/tx/${transactionHash}`;
|
||||
export const getTenderlyLink = simulationId =>
|
||||
`https://dashboard.tenderly.co/public/InstaDApp/dsa-simulations/fork-simulation/${simulationId}?hideSidebar=true`;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import MainnetSVG from "~/assets/icons/mainnet.svg?inline";
|
|||
import PolygonSVG from "~/assets/icons/polygon.svg?inline";
|
||||
import { useModal } from "./useModal";
|
||||
import { useNotification } from "./useNotification";
|
||||
import { useWeb3 } from "./useWeb3";
|
||||
import { useWeb3 } from "@kabbouchi/vue-web3";
|
||||
|
||||
export enum Network {
|
||||
Mainnet = "mainnet",
|
||||
|
|
@ -24,11 +24,11 @@ export const activeNetwork = computed(
|
|||
|
||||
export function useNetwork() {
|
||||
const { showWarning } = useNotification();
|
||||
const { account, networkName, refreshWeb3 } = useWeb3();
|
||||
const { account, chainId } = useWeb3();
|
||||
const { showNetworksMismatchDialog } = useModal();
|
||||
|
||||
const networkMismatch = computed(
|
||||
() => networkName.value != activeNetworkId.value
|
||||
() => chainId.value != activeNetwork.value?.chainId
|
||||
);
|
||||
|
||||
const checkForNetworkMismatch = () => {
|
||||
|
|
@ -117,7 +117,7 @@ export function useNetwork() {
|
|||
//@ts-ignore
|
||||
activeNetworkId.value = localStorage.getItem("network") || "mainnet";
|
||||
|
||||
refreshWeb3();
|
||||
// refreshWeb3()
|
||||
});
|
||||
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import {
|
|||
} from "@nuxtjs/composition-api";
|
||||
|
||||
import { useDSA } from "./useDSA";
|
||||
import { useWeb3 } from "./useWeb3";
|
||||
import { useWeb3 } from "@kabbouchi/vue-web3";
|
||||
import SidebarAaveV2Supply from "~/components/sidebar/context/aaveV2/SidebarAaveV2Supply.vue";
|
||||
import SidebarAaveV2Withdraw from '~/components/sidebar/context/aaveV2/SidebarAaveV2Withdraw.vue'
|
||||
import SidebarAaveV2Borrow from '~/components/sidebar/context/aaveV2/SidebarAaveV2Borrow.vue'
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
import { useContext, ref, onMounted, computed } from "@nuxtjs/composition-api";
|
||||
import axios from "axios";
|
||||
import { activeNetwork, useNetwork } from "./useNetwork";
|
||||
import { useWeb3 } from "./useWeb3";
|
||||
import { useWeb3 } from "@kabbouchi/vue-web3";
|
||||
import Web3 from "web3";
|
||||
import { useDSA } from "./useDSA";
|
||||
|
||||
const forkId = ref(null);
|
||||
export function useTenderly() {
|
||||
const { $config } = useContext();
|
||||
const { setWeb3, refreshWeb3 } = useWeb3();
|
||||
const { activate, provider } = useWeb3();
|
||||
const { accounts, refreshAccounts } = useDSA();
|
||||
const canSimulate = computed(
|
||||
() => $config.TENDERLY_FORK_PATH && $config.TENDERLY_KEY
|
||||
|
|
@ -66,7 +66,7 @@ export function useTenderly() {
|
|||
|
||||
forkId.value = null;
|
||||
window.localStorage.removeItem("forkId");
|
||||
await refreshWeb3();
|
||||
// await refreshWeb3();
|
||||
loading.value = false;
|
||||
};
|
||||
|
||||
|
|
@ -77,13 +77,13 @@ export function useTenderly() {
|
|||
}
|
||||
|
||||
forkId.value = fork;
|
||||
setWeb3(
|
||||
new Web3(
|
||||
new Web3.providers.HttpProvider(
|
||||
`https://rpc.tenderly.co/fork/${forkId.value}`
|
||||
)
|
||||
)
|
||||
);
|
||||
// setWeb3(
|
||||
// new Web3(
|
||||
// new Web3.providers.HttpProvider(
|
||||
// `https://rpc.tenderly.co/fork/${forkId.value}`
|
||||
// )
|
||||
// )
|
||||
// );
|
||||
window.localStorage.setItem("forkId", forkId.value);
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -2,18 +2,18 @@ import { computed } from "@nuxtjs/composition-api";
|
|||
import atokensV2 from "~/constant/atokensV2";
|
||||
import tokens from "~/constant/tokens";
|
||||
import { useBigNumber } from "./useBigNumber";
|
||||
import { useWeb3 } from "./useWeb3";
|
||||
import { useNetwork } from "./useNetwork";
|
||||
|
||||
export function useToken() {
|
||||
const { networkName } = useWeb3();
|
||||
const { activeNetworkId } = useNetwork();
|
||||
const { toBN, times, minus, div, pow } = useBigNumber();
|
||||
|
||||
const getTokenByKey = key =>
|
||||
tokens[networkName.value].allTokens.find(
|
||||
tokens[activeNetworkId.value].allTokens.find(
|
||||
token => String(token.key).toLowerCase() === String(key).toLowerCase()
|
||||
);
|
||||
|
||||
const allATokensV2 = computed(() => atokensV2[networkName.value].allTokens);
|
||||
const allATokensV2 = computed(() => atokensV2[activeNetworkId.value].allTokens);
|
||||
|
||||
function valInt(val, decimals) {
|
||||
const num = toBN(val);
|
||||
|
|
|
|||
10
composables/useWeb3Modal.ts
Normal file
10
composables/useWeb3Modal.ts
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
import { useModal } from "./useModal";
|
||||
import Web3Modal from "~/components/modal/web3/Web3Modal.vue";
|
||||
|
||||
export const useWeb3Modal = () => {
|
||||
const { showComponent } = useModal();
|
||||
|
||||
return {
|
||||
open: () => showComponent(Web3Modal)
|
||||
};
|
||||
};
|
||||
19
connectors/index.ts
Normal file
19
connectors/index.ts
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
import { setWeb3LibraryCallback } from "@kabbouchi/vue-web3";
|
||||
import { InjectedConnector } from "@web3-react/injected-connector";
|
||||
import { WalletConnectConnector } from "@web3-react/walletconnect-connector";
|
||||
|
||||
import Web3 from "web3";
|
||||
|
||||
setWeb3LibraryCallback(provider => new Web3(provider));
|
||||
|
||||
export const injected = new InjectedConnector({
|
||||
supportedChainIds: [1, 137]
|
||||
});
|
||||
|
||||
export const walletconnect = new WalletConnectConnector({
|
||||
rpc: {
|
||||
1: `https://mainnet.infura.io/v3/${process.env.INFURA_ID}`,
|
||||
137: "https://rpc-mainnet.maticvigil.com"
|
||||
},
|
||||
supportedChainIds: [1, 137]
|
||||
});
|
||||
|
|
@ -80,12 +80,13 @@ import { defineComponent, nextTick, onErrorCaptured, onMounted, useContext, useR
|
|||
import MakerDAOIcon from '~/assets/icons/makerdao.svg?inline'
|
||||
import CompoundIcon from '~/assets/icons/compound.svg?inline'
|
||||
import AaveIcon from '~/assets/icons/aave.svg?inline'
|
||||
import { useWeb3 } from '~/composables/useWeb3'
|
||||
import { useWeb3 } from '@kabbouchi/vue-web3'
|
||||
import { init as initSidebars, useSidebar } from '~/composables/useSidebar'
|
||||
import { useBackdrop } from '@/composables/useBackdrop'
|
||||
import { useNetwork } from "~/composables/useNetwork";
|
||||
import { useTenderly } from "~/composables/useTenderly";
|
||||
import { useModal } from "~/composables/useModal";
|
||||
import { useEagerConnect } from "~/composables/useEagerConnect";
|
||||
|
||||
export default defineComponent({
|
||||
components: {
|
||||
|
|
@ -100,6 +101,7 @@ export default defineComponent({
|
|||
const { redirect } = useContext()
|
||||
const { showSidebarBalances } = useSidebar()
|
||||
const { showNetworksMismatchDialog } = useModal()
|
||||
useEagerConnect()
|
||||
const route = useRoute()
|
||||
|
||||
watch(isBackdropShown, () => {
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ export default {
|
|||
// Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
|
||||
plugins: [
|
||||
"~/plugins/v-click-outside.js",
|
||||
"~/plugins/web3modal.js",
|
||||
// "~/plugins/web3modal.js",
|
||||
{ src: '~/plugins/v-tooltip', mode: 'client' },
|
||||
{ src: '~/plugins/v-clipboard2', mode: 'client' },
|
||||
],
|
||||
|
|
|
|||
|
|
@ -11,12 +11,15 @@
|
|||
"dependencies": {
|
||||
"@gnosis.pm/safe-apps-sdk": "^4.2.0",
|
||||
"@gnosis.pm/safe-apps-web3modal": "^2.0.0",
|
||||
"@kabbouchi/vue-web3": "^0.2.16",
|
||||
"@nuxtjs/axios": "^5.13.6",
|
||||
"@nuxtjs/composition-api": "^0.24.7",
|
||||
"@nuxtjs/composition-api": "^0.27.0",
|
||||
"@portis/web3": "^4.0.5",
|
||||
"@tailwindcss/forms": "^0.3.3",
|
||||
"@vueuse/core": "^5.1.4",
|
||||
"@walletconnect/web3-provider": "^1.4.1",
|
||||
"@web3-react/injected-connector": "^6.0.7",
|
||||
"@web3-react/walletconnect-connector": "^6.2.4",
|
||||
"bignumber.js": "^9.0.1",
|
||||
"core-js": "^3.15.1",
|
||||
"css-color-function": "^1.3.3",
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ import { useBigNumber } from "~/composables/useBigNumber";
|
|||
import { useNetwork } from "~/composables/useNetwork";
|
||||
import { useDSA } from "~/composables/useDSA";
|
||||
import { use1InchSwap } from "~/composables/swap/use1InchSwap";
|
||||
import { useWeb3 } from "~/composables/useWeb3";
|
||||
import { useWeb3 } from "@kabbouchi/vue-web3";
|
||||
import { useNotification } from "~/composables/useNotification";
|
||||
import { useBalances } from "~/composables/useBalances";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import WalletConnectProvider from "@walletconnect/web3-provider";
|
||||
import { setProviders } from "~/composables/useWeb3"
|
||||
import { setProviders } from "@kabbouchi/vue-web3"
|
||||
import WalletLink from 'walletlink'
|
||||
import Portis from '@portis/web3'
|
||||
import SVGcoinbase from '~/assets/coinbase.svg'
|
||||
|
|
|
|||
272
yarn.lock
272
yarn.lock
|
|
@ -1170,6 +1170,18 @@
|
|||
dependencies:
|
||||
"@json-rpc-tools/types" "^1.6.1"
|
||||
|
||||
"@kabbouchi/vue-web3@^0.2.16":
|
||||
version "0.2.16"
|
||||
resolved "https://registry.yarnpkg.com/@kabbouchi/vue-web3/-/vue-web3-0.2.16.tgz#be6af2c1f83350a4fddc1004455d76cd5fe6a436"
|
||||
integrity sha512-JjZhr8xXj0ugq15ZSDBB29jG+VhOdPlMB+a7szuk6IpU+bdSAK1g02vZir8KP0n5OQuLf3ITxv+bwkClbon/IA==
|
||||
dependencies:
|
||||
"@ethersproject/bytes" "^5.4.0"
|
||||
"@ethersproject/keccak256" "^5.4.0"
|
||||
"@web3-react/abstract-connector" "^6.0.7"
|
||||
"@web3-react/types" "^6.0.7"
|
||||
tiny-invariant "^1.1.0"
|
||||
vue-demi "^0.11.3"
|
||||
|
||||
"@koa/router@^9.0.1":
|
||||
version "9.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@koa/router/-/router-9.4.0.tgz#734b64c0ae566eb5af752df71e4143edc4748e48"
|
||||
|
|
@ -1592,17 +1604,17 @@
|
|||
consola "^2.15.3"
|
||||
defu "^5.0.0"
|
||||
|
||||
"@nuxtjs/composition-api@^0.24.7":
|
||||
version "0.24.7"
|
||||
resolved "https://registry.yarnpkg.com/@nuxtjs/composition-api/-/composition-api-0.24.7.tgz#76ec3660a03cd7bdb8b85fd31e8dc6a2b7194e8f"
|
||||
integrity sha512-q633RvsCi3veuGzTSkP/+a55Fn9EZS1APV2GJrdjajnBKKOMNPIXlAC8xAWGcsHE73/Cgf9DfGURQhcFvERRJA==
|
||||
"@nuxtjs/composition-api@^0.27.0":
|
||||
version "0.27.0"
|
||||
resolved "https://registry.yarnpkg.com/@nuxtjs/composition-api/-/composition-api-0.27.0.tgz#cbe4df6a7306e4a34770fbad5b1ad79717f8fdb7"
|
||||
integrity sha512-YtQ1KX+ls13zbukII8/vhKskoI1FrngDxegGVW31576qlaiEQUQGpOATF0cGrZ1W7Wgmz3rsAz1CNdSd5FFXOA==
|
||||
dependencies:
|
||||
"@vue/composition-api" "1.0.0-rc.14"
|
||||
"@vue/composition-api" "^1.1.1"
|
||||
defu "^5.0.0"
|
||||
estree-walker "^2.0.2"
|
||||
fs-extra "^9.1.0"
|
||||
magic-string "^0.25.7"
|
||||
ufo "^0.7.7"
|
||||
ufo "^0.7.9"
|
||||
upath "^2.0.1"
|
||||
|
||||
"@nuxtjs/google-fonts@^1.3.0":
|
||||
|
|
@ -2213,10 +2225,10 @@
|
|||
optionalDependencies:
|
||||
prettier "^1.18.2"
|
||||
|
||||
"@vue/composition-api@1.0.0-rc.14":
|
||||
version "1.0.0-rc.14"
|
||||
resolved "https://registry.yarnpkg.com/@vue/composition-api/-/composition-api-1.0.0-rc.14.tgz#4803fbccf3f3c770416e69095010c7bc0c4aa1c3"
|
||||
integrity sha512-WKbOiy1zk8loM7ma88fOH0yacOEfMIQb0IZJEq561A+4C8GvLSqVSLT5K1iBVkzzJ07Pha8ntbeWSUQlBhRDKg==
|
||||
"@vue/composition-api@^1.1.1":
|
||||
version "1.1.4"
|
||||
resolved "https://registry.yarnpkg.com/@vue/composition-api/-/composition-api-1.1.4.tgz#b4cd566e575350b86c22fa02632e4a356ac2e26e"
|
||||
integrity sha512-f618a79X0VepQUoZofaAYzaherBuzfIIYah4gQPcwmXgN3oeuGdhO7DY2s3Rjcw7r9yTEh5sQIowbNWy6INGjg==
|
||||
dependencies:
|
||||
tslib "^2.3.0"
|
||||
|
||||
|
|
@ -2251,6 +2263,17 @@
|
|||
window-getters "1.0.0"
|
||||
window-metadata "1.0.0"
|
||||
|
||||
"@walletconnect/browser-utils@^1.6.5":
|
||||
version "1.6.5"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/browser-utils/-/browser-utils-1.6.5.tgz#01180682e90b95384e820191a1c6ad4a78729439"
|
||||
integrity sha512-HLTysmlCkc2HN2OS6ewMG0v8E9oY2h9zNaDHe0BLN3ZxnsoMCVzkJxy7ryaXCemVdapmr6HgHFexGJoMbWaC4w==
|
||||
dependencies:
|
||||
"@walletconnect/safe-json" "1.0.0"
|
||||
"@walletconnect/types" "^1.6.5"
|
||||
"@walletconnect/window-getters" "1.0.0"
|
||||
"@walletconnect/window-metadata" "1.0.0"
|
||||
detect-browser "5.2.0"
|
||||
|
||||
"@walletconnect/client@^1.4.1":
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/client/-/client-1.4.1.tgz#c9c50df5afde23a35e23d96fe6d207c102e53850"
|
||||
|
|
@ -2261,6 +2284,16 @@
|
|||
"@walletconnect/types" "^1.4.1"
|
||||
"@walletconnect/utils" "^1.4.1"
|
||||
|
||||
"@walletconnect/client@^1.6.5":
|
||||
version "1.6.5"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/client/-/client-1.6.5.tgz#6616ae926abc7c87c48a2d3693f2eb697858e685"
|
||||
integrity sha512-dRq1D3NEGwM2I3CpiwFsWy1rrdMKCMSfDUu3rCCXUE4zInx+pyq7IEFjYiSjtOEZzjRlUTqYwhjnYIezQZgh4w==
|
||||
dependencies:
|
||||
"@walletconnect/core" "^1.6.5"
|
||||
"@walletconnect/iso-crypto" "^1.6.5"
|
||||
"@walletconnect/types" "^1.6.5"
|
||||
"@walletconnect/utils" "^1.6.5"
|
||||
|
||||
"@walletconnect/core@^1.4.1":
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-1.4.1.tgz#68310ee7c9737a7a0a7f1308abbfc1c31212b9a6"
|
||||
|
|
@ -2270,6 +2303,39 @@
|
|||
"@walletconnect/types" "^1.4.1"
|
||||
"@walletconnect/utils" "^1.4.1"
|
||||
|
||||
"@walletconnect/core@^1.6.5":
|
||||
version "1.6.5"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-1.6.5.tgz#acb687fc7c2d71ce2adad6a921ec1b343c4b4dd7"
|
||||
integrity sha512-mmMTP8nZunjSCAy0ckafvt/JcdzcuSZPaAybqgKwx2rC9cc/3XWrdNsfiKMt8AFoQF87jGHem3905eFZYTqLXw==
|
||||
dependencies:
|
||||
"@walletconnect/socket-transport" "^1.6.5"
|
||||
"@walletconnect/types" "^1.6.5"
|
||||
"@walletconnect/utils" "^1.6.5"
|
||||
|
||||
"@walletconnect/crypto@^1.0.1":
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/crypto/-/crypto-1.0.1.tgz#d4c1b1cd5dd1be88fe9a82dfc54cadbbb3f9d325"
|
||||
integrity sha512-IgUReNrycIFxkGgq8YT9HsosCkhutakWD9Q411PR0aJfxpEa/VKJeaLRtoz6DvJpztWStwhIHnAbBoOVR72a6g==
|
||||
dependencies:
|
||||
"@walletconnect/encoding" "^1.0.0"
|
||||
"@walletconnect/environment" "^1.0.0"
|
||||
"@walletconnect/randombytes" "^1.0.1"
|
||||
aes-js "^3.1.2"
|
||||
hash.js "^1.1.7"
|
||||
|
||||
"@walletconnect/encoding@^1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/encoding/-/encoding-1.0.0.tgz#e24190cb5e803526f9dfd7191fb0e4dc53c6d864"
|
||||
integrity sha512-4nkJFnS0QF5JdieG/3VPD1/iEWkLSZ14EBInLZ00RWxmC6EMZrzAeHNAWIgm+xP3NK0lqz+7lEsmWGtcl5gYnQ==
|
||||
dependencies:
|
||||
is-typedarray "1.0.0"
|
||||
typedarray-to-buffer "3.1.5"
|
||||
|
||||
"@walletconnect/environment@^1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/environment/-/environment-1.0.0.tgz#c4545869fa9c389ec88c364e1a5f8178e8ab5034"
|
||||
integrity sha512-4BwqyWy6KpSvkocSaV7WR3BlZfrxLbJSLkg+j7Gl6pTDE+U55lLhJvQaMuDVazXYxcjBsG09k7UlH7cGiUI5vQ==
|
||||
|
||||
"@walletconnect/http-connection@^1.4.1":
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/http-connection/-/http-connection-1.4.1.tgz#a36d3645eea2606c876e3824b7d46549bf237833"
|
||||
|
|
@ -2280,6 +2346,16 @@
|
|||
eventemitter3 "4.0.7"
|
||||
xhr2-cookies "1.1.0"
|
||||
|
||||
"@walletconnect/http-connection@^1.6.5":
|
||||
version "1.6.5"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/http-connection/-/http-connection-1.6.5.tgz#18529b7556bc09d7c794f4adc76ef0742cd500aa"
|
||||
integrity sha512-5kr6wZ3DnqaBiwkeA9iKdawvIb3bIJNf8WA8X89YHE5KOzbkAsymjniZWs8asdl9Y9+8ZHJMPXtylyrkpT8wXA==
|
||||
dependencies:
|
||||
"@walletconnect/types" "^1.6.5"
|
||||
"@walletconnect/utils" "^1.6.5"
|
||||
eventemitter3 "4.0.7"
|
||||
xhr2-cookies "1.1.0"
|
||||
|
||||
"@walletconnect/iso-crypto@^1.4.1":
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/iso-crypto/-/iso-crypto-1.4.1.tgz#0d9793c679d6c5443c49cce83f5d8dd476a65df2"
|
||||
|
|
@ -2289,6 +2365,30 @@
|
|||
"@walletconnect/types" "^1.4.1"
|
||||
"@walletconnect/utils" "^1.4.1"
|
||||
|
||||
"@walletconnect/iso-crypto@^1.6.5":
|
||||
version "1.6.5"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/iso-crypto/-/iso-crypto-1.6.5.tgz#1c6471506283817e7e797c5e2e733f6c3d88f8dc"
|
||||
integrity sha512-145VRX1+gudhHrnT2s81lLW/BEu3QgFMMRCrkxx9Tsl5JiLGcGbWkMxAl8zjGTMqnHeuQngyjvY1mO+3z27a7A==
|
||||
dependencies:
|
||||
"@walletconnect/crypto" "^1.0.1"
|
||||
"@walletconnect/types" "^1.6.5"
|
||||
"@walletconnect/utils" "^1.6.5"
|
||||
|
||||
"@walletconnect/jsonrpc-types@^1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.0.tgz#fa75ad5e8f106a2e33287b1e6833e22ed0225055"
|
||||
integrity sha512-11QXNq5H1PKZk7bP8SxgmCw3HRaDuPOVE+wObqEvmhc7OWYUZqfuaaMb+OXGRSOHL3sbC+XHfdeCxFTMXSFyng==
|
||||
dependencies:
|
||||
keyvaluestorage-interface "^1.0.0"
|
||||
|
||||
"@walletconnect/jsonrpc-utils@^1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.0.tgz#1a2f668d606e8f0b6e7d8fdebae86001bd037a3f"
|
||||
integrity sha512-qUHbKUK6sHeHn67qtHZoLoYk5hS6x1arTPjKDRkY93/6Fx+ZmNIpdm1owX3l6aYueyegJ7mz43FpvYHUqJ8xcw==
|
||||
dependencies:
|
||||
"@walletconnect/environment" "^1.0.0"
|
||||
"@walletconnect/jsonrpc-types" "^1.0.0"
|
||||
|
||||
"@walletconnect/mobile-registry@^1.4.0":
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/mobile-registry/-/mobile-registry-1.4.0.tgz#502cf8ab87330841d794819081e748ebdef7aee5"
|
||||
|
|
@ -2305,6 +2405,32 @@
|
|||
preact "10.4.1"
|
||||
qrcode "1.4.4"
|
||||
|
||||
"@walletconnect/qrcode-modal@^1.6.5":
|
||||
version "1.6.5"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/qrcode-modal/-/qrcode-modal-1.6.5.tgz#58974ca8f826bd500121e85694dd342b3535cf2c"
|
||||
integrity sha512-XII/Pm7zS5pRxrakURuhbWO+SfwgOuLuvOBk/hr1ATK/y7R5p19P62mCSUrvSxHXca27IX1tZJRe9D161R0WgQ==
|
||||
dependencies:
|
||||
"@walletconnect/browser-utils" "^1.6.5"
|
||||
"@walletconnect/mobile-registry" "^1.4.0"
|
||||
"@walletconnect/types" "^1.6.5"
|
||||
copy-to-clipboard "^3.3.1"
|
||||
preact "10.4.1"
|
||||
qrcode "1.4.4"
|
||||
|
||||
"@walletconnect/randombytes@^1.0.1":
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/randombytes/-/randombytes-1.0.1.tgz#87f0f02d9206704ce1c9e23f07d3b28898c48385"
|
||||
integrity sha512-YJTyq69i0PtxVg7osEpKfvjTaWuAsR49QEcqGKZRKVQWMbGXBZ65fovemK/SRgtiFRv0V8PwsrlKSheqzfPNcg==
|
||||
dependencies:
|
||||
"@walletconnect/encoding" "^1.0.0"
|
||||
"@walletconnect/environment" "^1.0.0"
|
||||
randombytes "^2.1.0"
|
||||
|
||||
"@walletconnect/safe-json@1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/safe-json/-/safe-json-1.0.0.tgz#12eeb11d43795199c045fafde97e3c91646683b2"
|
||||
integrity sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg==
|
||||
|
||||
"@walletconnect/socket-transport@^1.4.1":
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/socket-transport/-/socket-transport-1.4.1.tgz#d9b7ebb9a2843cc44cf96c880c62be78d4a1625f"
|
||||
|
|
@ -2314,11 +2440,25 @@
|
|||
"@walletconnect/utils" "^1.4.1"
|
||||
ws "7.3.0"
|
||||
|
||||
"@walletconnect/socket-transport@^1.6.5":
|
||||
version "1.6.5"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/socket-transport/-/socket-transport-1.6.5.tgz#f190f2d994021287fdeaf071114a5415096b2535"
|
||||
integrity sha512-FRlgBr3EIxD3du5l/tuK6jdiva85YeRG+iZmo/RPnlVw4opy74WXb5JdCK9jXLcBEoDiY9Hz4j69aqnht6gIDQ==
|
||||
dependencies:
|
||||
"@walletconnect/types" "^1.6.5"
|
||||
"@walletconnect/utils" "^1.6.5"
|
||||
ws "7.5.3"
|
||||
|
||||
"@walletconnect/types@^1.4.1":
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-1.4.1.tgz#48297238b86f846b8c694504ca45f0059a2cca88"
|
||||
integrity sha512-lzS9NbXjVb5N+W/UnCZAflxjLtYepUi4ev1IeFozSvr/cWxAhEe/sjixe7WEIpYklW27kfBhKccMH/KjUoRC7w==
|
||||
|
||||
"@walletconnect/types@^1.6.5":
|
||||
version "1.6.5"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-1.6.5.tgz#31ad1415fc6e1e89e25a10ad5fed6958f56cefa8"
|
||||
integrity sha512-S9DsODI35PbIDuOSkIiF8SzTstqCqX/4+kV7n18vyukEFPlpSSHwZMwJUfzo9yJ0pqsqLNZta+jvb88gJRuAaA==
|
||||
|
||||
"@walletconnect/utils@^1.4.1":
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-1.4.1.tgz#86108470c211a02609274a6c7bbd516c5182a22e"
|
||||
|
|
@ -2332,6 +2472,19 @@
|
|||
js-sha3 "0.8.0"
|
||||
query-string "6.13.5"
|
||||
|
||||
"@walletconnect/utils@^1.6.5":
|
||||
version "1.6.5"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-1.6.5.tgz#6edd749cb52a363feda117121dc865d7cc6169f7"
|
||||
integrity sha512-QB5rn/1s0PKVitAQ2/mgWbay2XfN21y3ob+5g6IhxtJRW31bbMoZw5YfO6s4ixLaZZez5LNQXstvQAclRzB7jQ==
|
||||
dependencies:
|
||||
"@walletconnect/browser-utils" "^1.6.5"
|
||||
"@walletconnect/encoding" "^1.0.0"
|
||||
"@walletconnect/jsonrpc-utils" "^1.0.0"
|
||||
"@walletconnect/types" "^1.6.5"
|
||||
bn.js "4.11.8"
|
||||
js-sha3 "0.8.0"
|
||||
query-string "6.13.5"
|
||||
|
||||
"@walletconnect/web3-provider@^1.4.1":
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/web3-provider/-/web3-provider-1.4.1.tgz#34f6319ab2473ab9ff0fcf1e8bc280c697fa01ff"
|
||||
|
|
@ -2344,6 +2497,61 @@
|
|||
"@walletconnect/utils" "^1.4.1"
|
||||
web3-provider-engine "16.0.1"
|
||||
|
||||
"@walletconnect/web3-provider@^1.5.0":
|
||||
version "1.6.5"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/web3-provider/-/web3-provider-1.6.5.tgz#7c4ac2f89ddda1a4069d500ed29cc4396e7fdade"
|
||||
integrity sha512-SeC7+1saHxvFn2wjt/3F0sTkDemHDNDbMkdZ3jtA7vjEw91Q0CmaYIuZk2UxyVM+tC1jL1l4yci/sgaFeAcXpQ==
|
||||
dependencies:
|
||||
"@walletconnect/client" "^1.6.5"
|
||||
"@walletconnect/http-connection" "^1.6.5"
|
||||
"@walletconnect/qrcode-modal" "^1.6.5"
|
||||
"@walletconnect/types" "^1.6.5"
|
||||
"@walletconnect/utils" "^1.6.5"
|
||||
web3-provider-engine "16.0.1"
|
||||
|
||||
"@walletconnect/window-getters@1.0.0", "@walletconnect/window-getters@^1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/window-getters/-/window-getters-1.0.0.tgz#1053224f77e725dfd611c83931b5f6c98c32bfc8"
|
||||
integrity sha512-xB0SQsLaleIYIkSsl43vm8EwETpBzJ2gnzk7e0wMF3ktqiTGS6TFHxcprMl5R44KKh4tCcHCJwolMCaDSwtAaA==
|
||||
|
||||
"@walletconnect/window-metadata@1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/window-metadata/-/window-metadata-1.0.0.tgz#93b1cc685e6b9b202f29c26be550fde97800c4e5"
|
||||
integrity sha512-9eFvmJxIKCC3YWOL97SgRkKhlyGXkrHwamfechmqszbypFspaSk+t2jQXAEU7YClHF6Qjw5eYOmy1//zFi9/GA==
|
||||
dependencies:
|
||||
"@walletconnect/window-getters" "^1.0.0"
|
||||
|
||||
"@web3-react/abstract-connector@^6.0.7":
|
||||
version "6.0.7"
|
||||
resolved "https://registry.yarnpkg.com/@web3-react/abstract-connector/-/abstract-connector-6.0.7.tgz#401b3c045f1e0fab04256311be49d5144e9badc6"
|
||||
integrity sha512-RhQasA4Ox8CxUC0OENc1AJJm8UTybu/oOCM61Zjg6y0iF7Z0sqv1Ai1VdhC33hrQpA8qSBgoXN9PaP8jKmtdqg==
|
||||
dependencies:
|
||||
"@web3-react/types" "^6.0.7"
|
||||
|
||||
"@web3-react/injected-connector@^6.0.7":
|
||||
version "6.0.7"
|
||||
resolved "https://registry.yarnpkg.com/@web3-react/injected-connector/-/injected-connector-6.0.7.tgz#1e0be23f51fa07fe6547fe986768a46b74c3a426"
|
||||
integrity sha512-Y7aJSz6pg+MWKtvdyuqyy6LWuH+4Tqtph1LWfiyVms9II9ar/9B/de4R8wh4wjg91wmHkU+D75yP09E/Soh2RA==
|
||||
dependencies:
|
||||
"@web3-react/abstract-connector" "^6.0.7"
|
||||
"@web3-react/types" "^6.0.7"
|
||||
tiny-warning "^1.0.3"
|
||||
|
||||
"@web3-react/types@^6.0.7":
|
||||
version "6.0.7"
|
||||
resolved "https://registry.yarnpkg.com/@web3-react/types/-/types-6.0.7.tgz#34a6204224467eedc6123abaf55fbb6baeb2809f"
|
||||
integrity sha512-ofGmfDhxmNT1/P/MgVa8IKSkCStFiyvXe+U5tyZurKdrtTDFU+wJ/LxClPDtFerWpczNFPUSrKcuhfPX1sI6+A==
|
||||
|
||||
"@web3-react/walletconnect-connector@^6.2.4":
|
||||
version "6.2.4"
|
||||
resolved "https://registry.yarnpkg.com/@web3-react/walletconnect-connector/-/walletconnect-connector-6.2.4.tgz#0a128699fc93ddac885935f4aeca32925f6285f0"
|
||||
integrity sha512-IEVjCXrlcfVa6ggUBEyKtLRaLQuZGtT2lGuzOFtdbJJkN84u1++pzzeDrcsVhKAoS5wq33zyJT9baEbG1Aed8g==
|
||||
dependencies:
|
||||
"@walletconnect/web3-provider" "^1.5.0"
|
||||
"@web3-react/abstract-connector" "^6.0.7"
|
||||
"@web3-react/types" "^6.0.7"
|
||||
tiny-invariant "^1.0.6"
|
||||
|
||||
"@webassemblyjs/ast@1.9.0":
|
||||
version "1.9.0"
|
||||
resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964"
|
||||
|
|
@ -3949,6 +4157,13 @@ copy-descriptor@^0.1.0:
|
|||
resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
|
||||
integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
|
||||
|
||||
copy-to-clipboard@^3.3.1:
|
||||
version "3.3.1"
|
||||
resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz#115aa1a9998ffab6196f93076ad6da3b913662ae"
|
||||
integrity sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==
|
||||
dependencies:
|
||||
toggle-selection "^1.0.6"
|
||||
|
||||
core-js-compat@^3.12.1, core-js-compat@^3.14.0, core-js-compat@^3.15.0:
|
||||
version "3.15.2"
|
||||
resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.15.2.tgz#47272fbb479880de14b4e6081f71f3492f5bd3cb"
|
||||
|
|
@ -11050,6 +11265,16 @@ tiny-emitter@^2.0.0:
|
|||
resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
|
||||
integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==
|
||||
|
||||
tiny-invariant@^1.0.6, tiny-invariant@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875"
|
||||
integrity sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==
|
||||
|
||||
tiny-warning@^1.0.3:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754"
|
||||
integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==
|
||||
|
||||
tmp@^0.0.33:
|
||||
version "0.0.33"
|
||||
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
|
||||
|
|
@ -11111,6 +11336,11 @@ to-regex@^3.0.1, to-regex@^3.0.2:
|
|||
regex-not "^1.0.2"
|
||||
safe-regex "^1.1.0"
|
||||
|
||||
toggle-selection@^1.0.6:
|
||||
version "1.0.6"
|
||||
resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32"
|
||||
integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI=
|
||||
|
||||
toidentifier@1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
|
||||
|
|
@ -11227,11 +11457,16 @@ ua-parser-js@^0.7.28:
|
|||
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.28.tgz#8ba04e653f35ce210239c64661685bf9121dec31"
|
||||
integrity sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==
|
||||
|
||||
ufo@^0.7.4, ufo@^0.7.5, ufo@^0.7.7:
|
||||
ufo@^0.7.4, ufo@^0.7.5:
|
||||
version "0.7.7"
|
||||
resolved "https://registry.yarnpkg.com/ufo/-/ufo-0.7.7.tgz#0062f9e5e790819b0fb23ca24d7c63a4011c036a"
|
||||
integrity sha512-N25aY3HBkJBnahm+2l4JRBBrX5I+JPakF/tDHYDTjd3wUR7iFLdyiPhj8mBwBz21v728BKwM9L9tgBfCntgdlw==
|
||||
|
||||
ufo@^0.7.9:
|
||||
version "0.7.9"
|
||||
resolved "https://registry.yarnpkg.com/ufo/-/ufo-0.7.9.tgz#0268e3734b413c9ed6f3510201f42372821b875c"
|
||||
integrity sha512-6t9LrLk3FhqTS+GW3IqlITtfRB5JAVr5MMNjpBECfK827W+Vh5Ilw/LhTcHWrt6b3hkeBvcbjx4Ti7QVFzmcww==
|
||||
|
||||
uglify-js@^3.5.1:
|
||||
version "3.13.10"
|
||||
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.13.10.tgz#a6bd0d28d38f592c3adb6b180ea6e07e1e540a8d"
|
||||
|
|
@ -11569,6 +11804,11 @@ vue-demi@*:
|
|||
resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.11.2.tgz#faa06da53887c493a695b997f4fcb4784a667990"
|
||||
integrity sha512-J+X8Au6BhQdcej6LY4O986634hZLu55L0ewU2j8my7WIKlu8cK0dqmdUxqVHHMd/cMrKKZ9SywB/id6aLhwCtA==
|
||||
|
||||
vue-demi@^0.11.3:
|
||||
version "0.11.3"
|
||||
resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.11.3.tgz#dd7495b92b495ecfa35675bf024b1358a7add150"
|
||||
integrity sha512-DpM0TTMpclRZDV6AIacgg837zrim/C9Zn+2ztXBs9hsESJN9vC83ztjTe4KC4HgJuVle8YUjPp7HTwWtwOHfmg==
|
||||
|
||||
vue-hot-reload-api@^2.3.0:
|
||||
version "2.3.4"
|
||||
resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2"
|
||||
|
|
@ -12217,6 +12457,11 @@ ws@7.3.0:
|
|||
resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.0.tgz#4b2f7f219b3d3737bc1a2fbf145d825b94d38ffd"
|
||||
integrity sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w==
|
||||
|
||||
ws@7.5.3, ws@^7.3.1:
|
||||
version "7.5.3"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.3.tgz#160835b63c7d97bfab418fc1b8a9fced2ac01a74"
|
||||
integrity sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==
|
||||
|
||||
ws@^3.0.0:
|
||||
version "3.3.3"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2"
|
||||
|
|
@ -12233,11 +12478,6 @@ ws@^5.1.1:
|
|||
dependencies:
|
||||
async-limiter "~1.0.0"
|
||||
|
||||
ws@^7.3.1:
|
||||
version "7.5.3"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.3.tgz#160835b63c7d97bfab418fc1b8a9fced2ac01a74"
|
||||
integrity sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==
|
||||
|
||||
xhr-request-promise@^0.1.2:
|
||||
version "0.1.3"
|
||||
resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz#2d5f4b16d8c6c893be97f1a62b0ed4cf3ca5f96c"
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user