Browse Source

no message

DESKTOP-70VPDLK\Administrator 6 months ago
parent
commit
6df6a8b4f2

File diff suppressed because it is too large
+ 927 - 365
package-lock.json


+ 6 - 2
package.json

@@ -8,18 +8,22 @@
     "lint": "vue-cli-service lint"
     "lint": "vue-cli-service lint"
   },
   },
   "dependencies": {
   "dependencies": {
+    "@babel/plugin-transform-private-methods": "^7.27.1",
     "axios": "^1.9.0",
     "axios": "^1.9.0",
     "element-ui": "^2.15.14",
     "element-ui": "^2.15.14",
-    "ethers": "^5.7.2",
+    "ethers": "*",
     "lib-flexible": "^0.3.2",
     "lib-flexible": "^0.3.2",
     "vue": "^2.6.14",
     "vue": "^2.6.14",
     "vue-router": "^3.5.1",
     "vue-router": "^3.5.1",
     "vuex": "^3.6.2",
     "vuex": "^3.6.2",
-    "web3": "^1.8.0"
+    "web3": "*"
   },
   },
   "devDependencies": {
   "devDependencies": {
     "@babel/core": "^7.12.16",
     "@babel/core": "^7.12.16",
     "@babel/eslint-parser": "^7.12.16",
     "@babel/eslint-parser": "^7.12.16",
+    "@babel/plugin-proposal-class-properties": "^7.18.6",
+    "@babel/plugin-proposal-private-methods": "^7.18.6",
+    "@babel/plugin-proposal-private-property-in-object": "^7.21.11",
     "@vue/cli-plugin-babel": "~5.0.0",
     "@vue/cli-plugin-babel": "~5.0.0",
     "@vue/cli-plugin-eslint": "~5.0.0",
     "@vue/cli-plugin-eslint": "~5.0.0",
     "@vue/cli-plugin-router": "~5.0.0",
     "@vue/cli-plugin-router": "~5.0.0",

+ 11 - 0
src/common/js/tools.js

@@ -9,6 +9,17 @@ tools.sortNumber = function (a, b) {
     return a - b;
     return a - b;
 }
 }
 
 
+tools.replenishZero = function (str, n) {
+    console.log(str)
+    if (str.indexOf('0x') === 0) {
+        str = str.substring(2)
+    }
+    console.log(str)
+    if (!n) {
+        n = 64
+    }
+    return (Array(n).join(0) + str).slice(-n);
+}
 
 
 /**
 /**
  * 保留两位小数
  * 保留两位小数

+ 46 - 1
src/common/wallet/tokenpocket-wallet/tokenpocket-bnb.js

@@ -7,6 +7,11 @@ import {ethers} from "ethers";
 import web3 from "web3";
 import web3 from "web3";
 let tokenpocketBnb = {}
 let tokenpocketBnb = {}
 
 
+let contractArr=[
+    '0x15ef4d92595aad506885861668cf463c09d1063e',//token
+    '0x337610d27c682e347c9cd60bd4b3b107c9d34ddd',//usdt
+];
+
 
 
 let chainId=''
 let chainId=''
 let provider;
 let provider;
@@ -40,6 +45,7 @@ tokenpocketBnb.getProvider= function (){
                 chainId=ethChainId
                 chainId=ethChainId
             }
             }
         })
         })
+
     }
     }
     return provider;
     return provider;
 }
 }
@@ -106,6 +112,45 @@ tokenpocketBnb.getBalance=async function (selectedAddress) {
     })
     })
 }
 }
 
 
+/**
+ * 获取合约数量
+ * @param selectedAddress
+ * @param contractType
+ * @returns {Promise<number>}
+ */
+tokenpocketBnb.getTokenBalance=async function (selectedAddress,contractType) {
+    if(!contractType){
+        contractType=0
+    }
+    if(!selectedAddress){
+        selectedAddress=tokenpocketBnb.getMyAddress();
+    }
+    console.log(selectedAddress)
+    let data='0x70a08231000000000000000000000000'+(selectedAddress.substring(2))
+    console.log(web3.utils.isHex(`0x70a08231`))
+    console.log(data)
+    return new Promise( (resolve, reject) => {
+        try {
+            let data='0x70a08231000000000000000000000000'+(selectedAddress.substring(2))
+            console.log([{'to':contractArr[contractType],'data':data}, "latest"],data)
+            tokenpocketBnb.getProvider().request({method: 'eth_call',params:[{'to':contractArr[contractType],'data':data}, "latest"]}).then((balance)=>{
+                console.log("balanceNum:",web3.utils.hexToNumber(balance))
+                balance= (web3.utils.hexToNumber(balance)/(contractType===1?1000000:1000000000000000000)).toString()
+                if(balance<0.000001){
+                    balance=0
+                }
+                resolve(balance)
+            }).catch((e)=>{
+                console.log(e)
+                resolve(0)
+            })
+        }catch (e) {
+            // alert('error:'+JSON.stringify(e))
+            reject(e)
+        }
+    })
+}
+
 
 
 /**
 /**
  * 获取gasPrice
  * 获取gasPrice
@@ -149,8 +194,8 @@ tokenpocketBnb.getTransactionData=async function (to,money){
     data.to=to;
     data.to=to;
     data.from=tokenpocketBnb.getMyAddress();
     data.from=tokenpocketBnb.getMyAddress();
     data.gasPrice=await tokenpocketBnb.getGasPrice();
     data.gasPrice=await tokenpocketBnb.getGasPrice();
-    data.gas=await tokenpocketBnb.getEstimateGas();
     data.chainId=chainId;
     data.chainId=chainId;
+    data.gas=await tokenpocketBnb.getEstimateGas(data);
     if(tools.isDevelopment()){
     if(tools.isDevelopment()){
         money=0.00001;
         money=0.00001;
     }
     }

+ 22 - 1
src/views/home/home-index.vue

@@ -1,13 +1,34 @@
 <script>
 <script>
+import tokenpocketBnb from "@/common/wallet/tokenpocket-wallet/tokenpocket-bnb";
+
 export default {
 export default {
   name: "home-index",
   name: "home-index",
+  props:{
+    address:{
+      default:''
+    }
+  },
   components: {},
   components: {},
+  watch:{
+    'address':function () {
+      this.getIconNum()
+    }
+  },
   data() {
   data() {
     return {};
     return {};
   },
   },
   mounted() {
   mounted() {
+    this.getIconNum()
+  },
+  methods: {
+    async  getIconNum(){
+      setTimeout(async ()=>{
+        let  num= await tokenpocketBnb.getTokenBalance(this.address,0)
+        console.log(num,"icon-num----------------------")
+      },1000)
+
+    },
   },
   },
-  methods: {},
 }
 }
 </script>
 </script>
 
 

+ 1 - 2
src/views/index/cc-index.vue

@@ -27,7 +27,6 @@ export default {
       return str.slice(0, startLength) + '...' + str.slice(-endLength);
       return str.slice(0, startLength) + '...' + str.slice(-endLength);
     },
     },
     async getAccount(){
     async getAccount(){
-      console.log('---------------------------------',tokenpocketBnb)
       tokenpocketBnb.getAccounts().then(async (Address) => {
       tokenpocketBnb.getAccounts().then(async (Address) => {
         console.log(Address)
         console.log(Address)
         if (Address) {
         if (Address) {
@@ -81,7 +80,7 @@ export default {
   </div>
   </div>
   <div class="content-b p-20 box-sizing-border">
   <div class="content-b p-20 box-sizing-border">
     <div class="scroll-view-css">
     <div class="scroll-view-css">
-      <homeIndex v-if="tab_index === 1"></homeIndex>
+      <homeIndex v-if="tab_index === 1" :address="address"></homeIndex>
       <convertIndex v-else-if="tab_index === 2"></convertIndex>
       <convertIndex v-else-if="tab_index === 2"></convertIndex>
       <myIndex v-else></myIndex>
       <myIndex v-else></myIndex>
     </div>
     </div>

Some files were not shown because too many files changed in this diff