diff --git a/.env.example b/.env.example index 9cbebef..3a48c6c 100644 --- a/.env.example +++ b/.env.example @@ -1,5 +1,8 @@ VITE_ENVIRONMENT=development VITE_PORT=8095 -VITE_API_URL='http://localhost:1337' VITE_APP_NAME='Morpheus Dashboard' -VITE_APP_IS_TESTNET='true' +VITE_APP_ERC1967_PROXY_CONTRACT_ADDRESS='0x0ad2fa5d8f420ff6d87192b32d89faf70466b30b' +VITE_APP_STETH_CONTRACT_ADDRESS='0x84BE06be19F956dEe06d4870CdDa76AF2e0385f5' +VITE_APP_MOR_CONTRACT_ADDRESS='0xe6D01D086a844a61641C75f1BCA572e7aa70e154' +#VITE_APP_IS_MAINNET='true' +#VITE_APP_BUILD_VERSION='1.0.0' diff --git a/index.html b/index.html index d69c501..093795a 100644 --- a/index.html +++ b/index.html @@ -41,7 +41,9 @@
- vue-vite-template +
diff --git a/package.json b/package.json index eecc95e..258414a 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,8 @@ "lint:styles": "stylelint \"src/**/*.{vue,scss,css}\" --max-warnings=0", "lint:scripts": "eslint \"{src,config}/**/*.{vue,js,ts}\" --cache --fix --max-warnings=0", "preview": "vite preview", - "rsc": "node scripts/release-sanity-check.mjs" + "rsc": "node scripts/release-sanity-check.mjs", + "generate-ether-types": "typechain --target=ethers-v5 'src/abi/**/*.json' --out-dir src/types/contracts" }, "dependencies": { "@distributedlab/tools": "^0.2.0", @@ -40,6 +41,7 @@ "@esbuild-plugins/node-modules-polyfill": "^0.2.2", "@originjs/vite-plugin-commonjs": "^1.0.3", "@rushstack/eslint-patch": "^1.1.3", + "@typechain/ethers-v5": "^11.1.2", "@types/lodash": "^4.14.194", "@types/node": "^20.1.3", "@types/uuid": "^9.0.2", @@ -67,6 +69,7 @@ "stylelint-config-standard-scss": "^9.0.0", "stylelint-declaration-strict-value": "^1.8.0", "stylelint-scss": "^5.0.0", + "typechain": "^8.3.2", "typescript": "^5.0.4", "vite": "^4.0.3", "vite-plugin-checker": "^0.6.0", diff --git a/src/App.vue b/src/App.vue index c6f3c55..286a970 100644 --- a/src/App.vue +++ b/src/App.vue @@ -9,10 +9,7 @@ - + @@ -60,7 +57,7 @@ const initNotifications = () => { const init = async () => { try { - document.title = config.APP_NAME + document.title = config.NAME initNotifications() await web3ProvidersStore.init() diff --git a/src/abi/ERC1967Proxy.json b/src/abi/ERC1967Proxy.json new file mode 100644 index 0000000..7cbdb1a --- /dev/null +++ b/src/abi/ERC1967Proxy.json @@ -0,0 +1,977 @@ +[ + { + "anonymous":false, + "inputs":[ + { + "indexed":false, + "internalType":"address", + "name":"previousAdmin", + "type":"address" + }, + { + "indexed":false, + "internalType":"address", + "name":"newAdmin", + "type":"address" + } + ], + "name":"AdminChanged", + "type":"event" + }, + { + "anonymous":false, + "inputs":[ + { + "indexed":true, + "internalType":"address", + "name":"beacon", + "type":"address" + } + ], + "name":"BeaconUpgraded", + "type":"event" + }, + { + "anonymous":false, + "inputs":[ + { + "indexed":false, + "internalType":"uint8", + "name":"version", + "type":"uint8" + } + ], + "name":"Initialized", + "type":"event" + }, + { + "anonymous":false, + "inputs":[ + { + "indexed":false, + "internalType":"uint256", + "name":"amount", + "type":"uint256" + }, + { + "indexed":false, + "internalType":"bytes", + "name":"uniqueId", + "type":"bytes" + } + ], + "name":"OverplusBridged", + "type":"event" + }, + { + "anonymous":false, + "inputs":[ + { + "indexed":true, + "internalType":"address", + "name":"previousOwner", + "type":"address" + }, + { + "indexed":true, + "internalType":"address", + "name":"newOwner", + "type":"address" + } + ], + "name":"OwnershipTransferred", + "type":"event" + }, + { + "anonymous":false, + "inputs":[ + { + "indexed":true, + "internalType":"uint256", + "name":"poolId", + "type":"uint256" + }, + { + "components":[ + { + "internalType":"uint128", + "name":"payoutStart", + "type":"uint128" + }, + { + "internalType":"uint128", + "name":"decreaseInterval", + "type":"uint128" + }, + { + "internalType":"uint128", + "name":"withdrawLockPeriod", + "type":"uint128" + }, + { + "internalType":"uint128", + "name":"claimLockPeriod", + "type":"uint128" + }, + { + "internalType":"uint128", + "name":"withdrawLockPeriodAfterStake", + "type":"uint128" + }, + { + "internalType":"uint256", + "name":"initialReward", + "type":"uint256" + }, + { + "internalType":"uint256", + "name":"rewardDecrease", + "type":"uint256" + }, + { + "internalType":"uint256", + "name":"minimalStake", + "type":"uint256" + }, + { + "internalType":"bool", + "name":"isPublic", + "type":"bool" + } + ], + "indexed":false, + "internalType":"struct IDistribution.Pool", + "name":"pool", + "type":"tuple" + } + ], + "name":"PoolCreated", + "type":"event" + }, + { + "anonymous":false, + "inputs":[ + { + "indexed":true, + "internalType":"uint256", + "name":"poolId", + "type":"uint256" + }, + { + "components":[ + { + "internalType":"uint128", + "name":"payoutStart", + "type":"uint128" + }, + { + "internalType":"uint128", + "name":"decreaseInterval", + "type":"uint128" + }, + { + "internalType":"uint128", + "name":"withdrawLockPeriod", + "type":"uint128" + }, + { + "internalType":"uint128", + "name":"claimLockPeriod", + "type":"uint128" + }, + { + "internalType":"uint128", + "name":"withdrawLockPeriodAfterStake", + "type":"uint128" + }, + { + "internalType":"uint256", + "name":"initialReward", + "type":"uint256" + }, + { + "internalType":"uint256", + "name":"rewardDecrease", + "type":"uint256" + }, + { + "internalType":"uint256", + "name":"minimalStake", + "type":"uint256" + }, + { + "internalType":"bool", + "name":"isPublic", + "type":"bool" + } + ], + "indexed":false, + "internalType":"struct IDistribution.Pool", + "name":"pool", + "type":"tuple" + } + ], + "name":"PoolEdited", + "type":"event" + }, + { + "anonymous":false, + "inputs":[ + { + "indexed":true, + "internalType":"address", + "name":"implementation", + "type":"address" + } + ], + "name":"Upgraded", + "type":"event" + }, + { + "anonymous":false, + "inputs":[ + { + "indexed":true, + "internalType":"uint256", + "name":"poolId", + "type":"uint256" + }, + { + "indexed":true, + "internalType":"address", + "name":"user", + "type":"address" + }, + { + "indexed":false, + "internalType":"uint256", + "name":"amount", + "type":"uint256" + } + ], + "name":"UserClaimed", + "type":"event" + }, + { + "anonymous":false, + "inputs":[ + { + "indexed":true, + "internalType":"uint256", + "name":"poolId", + "type":"uint256" + }, + { + "indexed":true, + "internalType":"address", + "name":"user", + "type":"address" + }, + { + "indexed":false, + "internalType":"uint256", + "name":"amount", + "type":"uint256" + } + ], + "name":"UserStaked", + "type":"event" + }, + { + "anonymous":false, + "inputs":[ + { + "indexed":true, + "internalType":"uint256", + "name":"poolId", + "type":"uint256" + }, + { + "indexed":true, + "internalType":"address", + "name":"user", + "type":"address" + }, + { + "indexed":false, + "internalType":"uint256", + "name":"amount", + "type":"uint256" + } + ], + "name":"UserWithdrawn", + "type":"event" + }, + { + "inputs":[ + { + "internalType":"address", + "name":"depositToken_", + "type":"address" + }, + { + "internalType":"address", + "name":"l1Sender_", + "type":"address" + }, + { + "components":[ + { + "internalType":"uint128", + "name":"payoutStart", + "type":"uint128" + }, + { + "internalType":"uint128", + "name":"decreaseInterval", + "type":"uint128" + }, + { + "internalType":"uint128", + "name":"withdrawLockPeriod", + "type":"uint128" + }, + { + "internalType":"uint128", + "name":"claimLockPeriod", + "type":"uint128" + }, + { + "internalType":"uint128", + "name":"withdrawLockPeriodAfterStake", + "type":"uint128" + }, + { + "internalType":"uint256", + "name":"initialReward", + "type":"uint256" + }, + { + "internalType":"uint256", + "name":"rewardDecrease", + "type":"uint256" + }, + { + "internalType":"uint256", + "name":"minimalStake", + "type":"uint256" + }, + { + "internalType":"bool", + "name":"isPublic", + "type":"bool" + } + ], + "internalType":"struct IDistribution.Pool[]", + "name":"poolsInfo_", + "type":"tuple[]" + } + ], + "name":"Distribution_init", + "outputs":[ + + ], + "stateMutability":"nonpayable", + "type":"function" + }, + { + "inputs":[ + { + "internalType":"uint256", + "name":"gasLimit_", + "type":"uint256" + }, + { + "internalType":"uint256", + "name":"maxFeePerGas_", + "type":"uint256" + }, + { + "internalType":"uint256", + "name":"maxSubmissionCost_", + "type":"uint256" + } + ], + "name":"bridgeOverplus", + "outputs":[ + { + "internalType":"bytes", + "name":"", + "type":"bytes" + } + ], + "stateMutability":"payable", + "type":"function" + }, + { + "inputs":[ + { + "internalType":"uint256", + "name":"poolId_", + "type":"uint256" + }, + { + "internalType":"address", + "name":"user_", + "type":"address" + } + ], + "name":"claim", + "outputs":[ + + ], + "stateMutability":"payable", + "type":"function" + }, + { + "inputs":[ + { + "components":[ + { + "internalType":"uint128", + "name":"payoutStart", + "type":"uint128" + }, + { + "internalType":"uint128", + "name":"decreaseInterval", + "type":"uint128" + }, + { + "internalType":"uint128", + "name":"withdrawLockPeriod", + "type":"uint128" + }, + { + "internalType":"uint128", + "name":"claimLockPeriod", + "type":"uint128" + }, + { + "internalType":"uint128", + "name":"withdrawLockPeriodAfterStake", + "type":"uint128" + }, + { + "internalType":"uint256", + "name":"initialReward", + "type":"uint256" + }, + { + "internalType":"uint256", + "name":"rewardDecrease", + "type":"uint256" + }, + { + "internalType":"uint256", + "name":"minimalStake", + "type":"uint256" + }, + { + "internalType":"bool", + "name":"isPublic", + "type":"bool" + } + ], + "internalType":"struct IDistribution.Pool", + "name":"pool_", + "type":"tuple" + } + ], + "name":"createPool", + "outputs":[ + + ], + "stateMutability":"nonpayable", + "type":"function" + }, + { + "inputs":[ + + ], + "name":"depositToken", + "outputs":[ + { + "internalType":"address", + "name":"", + "type":"address" + } + ], + "stateMutability":"view", + "type":"function" + }, + { + "inputs":[ + { + "internalType":"uint256", + "name":"poolId_", + "type":"uint256" + }, + { + "components":[ + { + "internalType":"uint128", + "name":"payoutStart", + "type":"uint128" + }, + { + "internalType":"uint128", + "name":"decreaseInterval", + "type":"uint128" + }, + { + "internalType":"uint128", + "name":"withdrawLockPeriod", + "type":"uint128" + }, + { + "internalType":"uint128", + "name":"claimLockPeriod", + "type":"uint128" + }, + { + "internalType":"uint128", + "name":"withdrawLockPeriodAfterStake", + "type":"uint128" + }, + { + "internalType":"uint256", + "name":"initialReward", + "type":"uint256" + }, + { + "internalType":"uint256", + "name":"rewardDecrease", + "type":"uint256" + }, + { + "internalType":"uint256", + "name":"minimalStake", + "type":"uint256" + }, + { + "internalType":"bool", + "name":"isPublic", + "type":"bool" + } + ], + "internalType":"struct IDistribution.Pool", + "name":"pool_", + "type":"tuple" + } + ], + "name":"editPool", + "outputs":[ + + ], + "stateMutability":"nonpayable", + "type":"function" + }, + { + "inputs":[ + { + "internalType":"uint256", + "name":"poolId_", + "type":"uint256" + }, + { + "internalType":"address", + "name":"user_", + "type":"address" + } + ], + "name":"getCurrentUserReward", + "outputs":[ + { + "internalType":"uint256", + "name":"", + "type":"uint256" + } + ], + "stateMutability":"view", + "type":"function" + }, + { + "inputs":[ + { + "internalType":"uint256", + "name":"poolId_", + "type":"uint256" + }, + { + "internalType":"uint128", + "name":"startTime_", + "type":"uint128" + }, + { + "internalType":"uint128", + "name":"endTime_", + "type":"uint128" + } + ], + "name":"getPeriodReward", + "outputs":[ + { + "internalType":"uint256", + "name":"", + "type":"uint256" + } + ], + "stateMutability":"view", + "type":"function" + }, + { + "inputs":[ + + ], + "name":"isNotUpgradeable", + "outputs":[ + { + "internalType":"bool", + "name":"", + "type":"bool" + } + ], + "stateMutability":"view", + "type":"function" + }, + { + "inputs":[ + + ], + "name":"l1Sender", + "outputs":[ + { + "internalType":"address", + "name":"", + "type":"address" + } + ], + "stateMutability":"view", + "type":"function" + }, + { + "inputs":[ + { + "internalType":"uint256", + "name":"poolId_", + "type":"uint256" + }, + { + "internalType":"address[]", + "name":"users_", + "type":"address[]" + }, + { + "internalType":"uint256[]", + "name":"amounts_", + "type":"uint256[]" + } + ], + "name":"manageUsersInPrivatePool", + "outputs":[ + + ], + "stateMutability":"nonpayable", + "type":"function" + }, + { + "inputs":[ + + ], + "name":"overplus", + "outputs":[ + { + "internalType":"uint256", + "name":"", + "type":"uint256" + } + ], + "stateMutability":"view", + "type":"function" + }, + { + "inputs":[ + + ], + "name":"owner", + "outputs":[ + { + "internalType":"address", + "name":"", + "type":"address" + } + ], + "stateMutability":"view", + "type":"function" + }, + { + "inputs":[ + { + "internalType":"uint256", + "name":"", + "type":"uint256" + } + ], + "name":"pools", + "outputs":[ + { + "internalType":"uint128", + "name":"payoutStart", + "type":"uint128" + }, + { + "internalType":"uint128", + "name":"decreaseInterval", + "type":"uint128" + }, + { + "internalType":"uint128", + "name":"withdrawLockPeriod", + "type":"uint128" + }, + { + "internalType":"uint128", + "name":"claimLockPeriod", + "type":"uint128" + }, + { + "internalType":"uint128", + "name":"withdrawLockPeriodAfterStake", + "type":"uint128" + }, + { + "internalType":"uint256", + "name":"initialReward", + "type":"uint256" + }, + { + "internalType":"uint256", + "name":"rewardDecrease", + "type":"uint256" + }, + { + "internalType":"uint256", + "name":"minimalStake", + "type":"uint256" + }, + { + "internalType":"bool", + "name":"isPublic", + "type":"bool" + } + ], + "stateMutability":"view", + "type":"function" + }, + { + "inputs":[ + { + "internalType":"uint256", + "name":"", + "type":"uint256" + } + ], + "name":"poolsData", + "outputs":[ + { + "internalType":"uint128", + "name":"lastUpdate", + "type":"uint128" + }, + { + "internalType":"uint256", + "name":"rate", + "type":"uint256" + }, + { + "internalType":"uint256", + "name":"totalDeposited", + "type":"uint256" + } + ], + "stateMutability":"view", + "type":"function" + }, + { + "inputs":[ + + ], + "name":"proxiableUUID", + "outputs":[ + { + "internalType":"bytes32", + "name":"", + "type":"bytes32" + } + ], + "stateMutability":"view", + "type":"function" + }, + { + "inputs":[ + + ], + "name":"removeUpgradeability", + "outputs":[ + + ], + "stateMutability":"nonpayable", + "type":"function" + }, + { + "inputs":[ + + ], + "name":"renounceOwnership", + "outputs":[ + + ], + "stateMutability":"nonpayable", + "type":"function" + }, + { + "inputs":[ + { + "internalType":"uint256", + "name":"poolId_", + "type":"uint256" + }, + { + "internalType":"uint256", + "name":"amount_", + "type":"uint256" + } + ], + "name":"stake", + "outputs":[ + + ], + "stateMutability":"nonpayable", + "type":"function" + }, + { + "inputs":[ + + ], + "name":"totalDepositedInPublicPools", + "outputs":[ + { + "internalType":"uint256", + "name":"", + "type":"uint256" + } + ], + "stateMutability":"view", + "type":"function" + }, + { + "inputs":[ + { + "internalType":"address", + "name":"newOwner", + "type":"address" + } + ], + "name":"transferOwnership", + "outputs":[ + + ], + "stateMutability":"nonpayable", + "type":"function" + }, + { + "inputs":[ + { + "internalType":"address", + "name":"newImplementation", + "type":"address" + } + ], + "name":"upgradeTo", + "outputs":[ + + ], + "stateMutability":"nonpayable", + "type":"function" + }, + { + "inputs":[ + { + "internalType":"address", + "name":"newImplementation", + "type":"address" + }, + { + "internalType":"bytes", + "name":"data", + "type":"bytes" + } + ], + "name":"upgradeToAndCall", + "outputs":[ + + ], + "stateMutability":"payable", + "type":"function" + }, + { + "inputs":[ + { + "internalType":"address", + "name":"", + "type":"address" + }, + { + "internalType":"uint256", + "name":"", + "type":"uint256" + } + ], + "name":"usersData", + "outputs":[ + { + "internalType":"uint128", + "name":"lastStake", + "type":"uint128" + }, + { + "internalType":"uint256", + "name":"deposited", + "type":"uint256" + }, + { + "internalType":"uint256", + "name":"rate", + "type":"uint256" + }, + { + "internalType":"uint256", + "name":"pendingRewards", + "type":"uint256" + } + ], + "stateMutability":"view", + "type":"function" + }, + { + "inputs":[ + { + "internalType":"uint256", + "name":"poolId_", + "type":"uint256" + }, + { + "internalType":"uint256", + "name":"amount_", + "type":"uint256" + } + ], + "name":"withdraw", + "outputs":[ + + ], + "stateMutability":"nonpayable", + "type":"function" + } +] diff --git a/src/abi/ERC20.json b/src/abi/ERC20.json new file mode 100644 index 0000000..2afb96f --- /dev/null +++ b/src/abi/ERC20.json @@ -0,0 +1,397 @@ +[ + { + "inputs":[ + + ], + "stateMutability":"nonpayable", + "type":"constructor" + }, + { + "anonymous":false, + "inputs":[ + { + "indexed":true, + "internalType":"address", + "name":"owner", + "type":"address" + }, + { + "indexed":true, + "internalType":"address", + "name":"spender", + "type":"address" + }, + { + "indexed":false, + "internalType":"uint256", + "name":"value", + "type":"uint256" + } + ], + "name":"Approval", + "type":"event" + }, + { + "anonymous":false, + "inputs":[ + { + "indexed":true, + "internalType":"address", + "name":"previousOwner", + "type":"address" + }, + { + "indexed":true, + "internalType":"address", + "name":"newOwner", + "type":"address" + } + ], + "name":"OwnershipTransferred", + "type":"event" + }, + { + "anonymous":false, + "inputs":[ + { + "indexed":true, + "internalType":"address", + "name":"from", + "type":"address" + }, + { + "indexed":true, + "internalType":"address", + "name":"to", + "type":"address" + }, + { + "indexed":false, + "internalType":"uint256", + "name":"value", + "type":"uint256" + } + ], + "name":"Transfer", + "type":"event" + }, + { + "inputs":[ + { + "internalType":"address", + "name":"owner", + "type":"address" + }, + { + "internalType":"address", + "name":"spender", + "type":"address" + } + ], + "name":"allowance", + "outputs":[ + { + "internalType":"uint256", + "name":"", + "type":"uint256" + } + ], + "stateMutability":"view", + "type":"function" + }, + { + "inputs":[ + { + "internalType":"address", + "name":"spender", + "type":"address" + }, + { + "internalType":"uint256", + "name":"amount", + "type":"uint256" + } + ], + "name":"approve", + "outputs":[ + { + "internalType":"bool", + "name":"", + "type":"bool" + } + ], + "stateMutability":"nonpayable", + "type":"function" + }, + { + "inputs":[ + + ], + "name":"balanceMultiplicator", + "outputs":[ + { + "internalType":"uint256", + "name":"", + "type":"uint256" + } + ], + "stateMutability":"view", + "type":"function" + }, + { + "inputs":[ + { + "internalType":"address", + "name":"account_", + "type":"address" + } + ], + "name":"balanceOf", + "outputs":[ + { + "internalType":"uint256", + "name":"", + "type":"uint256" + } + ], + "stateMutability":"view", + "type":"function" + }, + { + "inputs":[ + + ], + "name":"decimals", + "outputs":[ + { + "internalType":"uint8", + "name":"", + "type":"uint8" + } + ], + "stateMutability":"view", + "type":"function" + }, + { + "inputs":[ + { + "internalType":"address", + "name":"spender", + "type":"address" + }, + { + "internalType":"uint256", + "name":"subtractedValue", + "type":"uint256" + } + ], + "name":"decreaseAllowance", + "outputs":[ + { + "internalType":"bool", + "name":"", + "type":"bool" + } + ], + "stateMutability":"nonpayable", + "type":"function" + }, + { + "inputs":[ + { + "internalType":"address", + "name":"spender", + "type":"address" + }, + { + "internalType":"uint256", + "name":"addedValue", + "type":"uint256" + } + ], + "name":"increaseAllowance", + "outputs":[ + { + "internalType":"bool", + "name":"", + "type":"bool" + } + ], + "stateMutability":"nonpayable", + "type":"function" + }, + { + "inputs":[ + { + "internalType":"address", + "name":"account_", + "type":"address" + }, + { + "internalType":"uint256", + "name":"amount_", + "type":"uint256" + } + ], + "name":"mint", + "outputs":[ + + ], + "stateMutability":"nonpayable", + "type":"function" + }, + { + "inputs":[ + + ], + "name":"name", + "outputs":[ + { + "internalType":"string", + "name":"", + "type":"string" + } + ], + "stateMutability":"view", + "type":"function" + }, + { + "inputs":[ + + ], + "name":"owner", + "outputs":[ + { + "internalType":"address", + "name":"", + "type":"address" + } + ], + "stateMutability":"view", + "type":"function" + }, + { + "inputs":[ + + ], + "name":"renounceOwnership", + "outputs":[ + + ], + "stateMutability":"nonpayable", + "type":"function" + }, + { + "inputs":[ + { + "internalType":"uint256", + "name":"balanceMultiplicator_", + "type":"uint256" + } + ], + "name":"setBalanceMultiplicator", + "outputs":[ + + ], + "stateMutability":"nonpayable", + "type":"function" + }, + { + "inputs":[ + + ], + "name":"symbol", + "outputs":[ + { + "internalType":"string", + "name":"", + "type":"string" + } + ], + "stateMutability":"view", + "type":"function" + }, + { + "inputs":[ + + ], + "name":"totalSupply", + "outputs":[ + { + "internalType":"uint256", + "name":"", + "type":"uint256" + } + ], + "stateMutability":"view", + "type":"function" + }, + { + "inputs":[ + { + "internalType":"address", + "name":"to", + "type":"address" + }, + { + "internalType":"uint256", + "name":"amount", + "type":"uint256" + } + ], + "name":"transfer", + "outputs":[ + { + "internalType":"bool", + "name":"", + "type":"bool" + } + ], + "stateMutability":"nonpayable", + "type":"function" + }, + { + "inputs":[ + { + "internalType":"address", + "name":"from", + "type":"address" + }, + { + "internalType":"address", + "name":"to", + "type":"address" + }, + { + "internalType":"uint256", + "name":"amount", + "type":"uint256" + } + ], + "name":"transferFrom", + "outputs":[ + { + "internalType":"bool", + "name":"", + "type":"bool" + } + ], + "stateMutability":"nonpayable", + "type":"function" + }, + { + "inputs":[ + { + "internalType":"address", + "name":"newOwner", + "type":"address" + } + ], + "name":"transferOwnership", + "outputs":[ + + ], + "stateMutability":"nonpayable", + "type":"function" + } +] diff --git a/src/assets/icons/check-circle-icon.svg b/src/assets/icons/check-circle-icon.svg index 22eb155..af52d98 100644 --- a/src/assets/icons/check-circle-icon.svg +++ b/src/assets/icons/check-circle-icon.svg @@ -1,3 +1,8 @@ -
+

{{ subtitle }} @@ -30,7 +30,7 @@ />

- {{ indicator.value }} + {{ indicator.value || '-' }}

@@ -44,13 +44,17 @@ import { Icon } from '@/common' import { type InfoBarType } from '@/types' -defineProps<{ - subtitle: string - status: 'public' | 'private' - title: string - description: string - indicators: InfoBarType.Indicator[] -}>() +withDefaults( + defineProps<{ + subtitle: string + status: 'public' | 'private' + title: string + description: string + indicators: InfoBarType.Indicator[] + isLoading?: boolean + }>(), + { isLoading: false }, +) diff --git a/src/common/WalletBalances.vue b/src/common/WalletBalances.vue index af96a43..73c3ee9 100644 --- a/src/common/WalletBalances.vue +++ b/src/common/WalletBalances.vue @@ -1,25 +1,29 @@