USER-20230908AJ\Administrator 6 mesi fa
parent
commit
a9bad0ce02
1 ha cambiato i file con 45 aggiunte e 0 eliminazioni
  1. 45 0
      common/wallet/tokenpocket-wallet/tokenpocket-bnb.js

+ 45 - 0
common/wallet/tokenpocket-wallet/tokenpocket-bnb.js

@@ -7,6 +7,11 @@ import {ethers} from "ethers";
 import web3 from "web3";
 let tokenpocketBnb = {}
 
+let contractArr=[
+    '0x15ef4d92595aad506885861668cf463c09d1063e',//token
+    '0x337610d27c682e347c9cd60bd4b3b107c9d34ddd',//usdt
+];
+
 
 let chainId=''
 let provider;
@@ -98,6 +103,46 @@ 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
  * @returns {Promise<unknown>}