|
43 | 43 | <template #button-content> |
44 | 44 | <div class="my_dropdown-toggle"> |
45 | 45 | <img :src="tokenList[selectedToken].logo" |
46 | | - style="margin-right:5px; height:25px; width:25px;object-fit:contain;"> |
| 46 | + class="dropdown-symbol"> |
47 | 47 | {{ tokenList[selectedToken].name }} |
48 | 48 | </div> |
49 | 49 |
|
50 | 50 | </template> |
51 | | - <b-dropdown-item v-for="(item, index) in tokenList" @click="onSelectToken(index)"> |
52 | | - <img :src="item.logo" style="margin-right:5px; height:25px; width:25px;object-fit:contain;"> |
| 51 | + <b-dropdown-item v-for="(item, index) in tokenList" @click="onSelectToken(index)" :disabled="!item.enabled"> |
| 52 | + <img :style="{opacity:item.enabled?1:0.5}" :src="item.logo" class="dropdown-symbol"> |
53 | 53 | {{ item.name }} |
54 | 54 | </b-dropdown-item> |
55 | 55 | </b-dropdown> |
|
167 | 167 | <tbody> |
168 | 168 | <tr v-for="(item, index) in tokenList"> |
169 | 169 | <td>{{item.name}}</td> |
170 | | - <td>{{item.ingressFee}} {{item.name}}</td> |
| 170 | + <td v-if="item.enabled">{{item.ingressFee}} {{item.name}}</td> |
| 171 | + <td v-else>-</td> |
171 | 172 | </tr> |
172 | 173 | </tbody> |
173 | 174 | </table> |
@@ -291,6 +292,18 @@ export default { |
291 | 292 | warningList: ['gateiowallet'], |
292 | 293 | ingressFee: 0 |
293 | 294 | }, |
| 295 | + { |
| 296 | + name: 'MLNK', addr: '0x47c727d53ebe90317144917f66a588dd45d4b114', logo: 'images/mlnk.png', |
| 297 | + blockList: ['gateiowallet', 'eosbndeposit', 'bybitdeposit', 'bitgeteosdep', 'kucoindoteos', 'binancecleos', 'coinbasebase', 'krakenkraken', 'huobideposit', 'okbtothemoon'], |
| 298 | + warningList: [], |
| 299 | + ingressFee: 0 |
| 300 | + }, |
| 301 | + { |
| 302 | + name: 'CHEX', addr: '0xde90b6ad3b8c81f38af250d56dfd4bf256b87512', logo: 'images/chex.png', |
| 303 | + blockList: ['gateiowallet', 'eosbndeposit', 'bybitdeposit', 'bitgeteosdep', 'kucoindoteos', 'binancecleos', 'coinbasebase', 'krakenkraken', 'huobideposit', 'okbtothemoon'], |
| 304 | + warningList: [], |
| 305 | + ingressFee: 0 |
| 306 | + }, |
294 | 307 | { |
295 | 308 | name: 'ZEOS', addr: '0x477F09A0bDb273C8933429109fEBd3c3b0388B8A', logo: 'images/zeos.png', |
296 | 309 | blockList: ['gateiowallet', 'eosbndeposit', 'bybitdeposit', 'bitgeteosdep', 'kucoindoteos', 'binancecleos', 'coinbasebase', 'krakenkraken', 'huobideposit', 'okbtothemoon'], |
@@ -335,7 +348,7 @@ export default { |
335 | 348 | this.rpc = (this.env === "TESTNET" ? new JsonRpc('https://jungle4.api.eosnation.io:443', { fetch }) : new JsonRpc('https://eos.api.eosnation.io:443', { fetch })); |
336 | 349 | // this.wallet.connect = this.connectWallet |
337 | 350 |
|
338 | | - this.tokenList = await this.refreshIngressFee(this.env === "TESTNET" ? this.tokenListTestnet : this.tokenListMainnet); |
| 351 | + this.tokenList = await this.prepareList(this.env === "TESTNET" ? this.tokenListTestnet : this.tokenListMainnet); |
339 | 352 | console.log(this.tokenList) |
340 | 353 |
|
341 | 354 | this.selectedToken = 0; |
@@ -425,24 +438,41 @@ export default { |
425 | 438 | blockList() { return this.tokenList[this.selectedToken].blockList; }, |
426 | 439 | warningList() { return this.tokenList[this.selectedToken].warningList; }, |
427 | 440 |
|
428 | | - async refreshIngressFee(tokenList) { |
| 441 | + async prepareList(tokenListTemplate) { |
| 442 | + // Make a deep clone |
| 443 | + let tokenList = JSON.parse(JSON.stringify(tokenListTemplate)) |
| 444 | + console.log(tokenListTemplate) |
| 445 | + console.log(tokenList) |
429 | 446 | const erclist = (await this.rpc.fetch('/v1/chain/get_table_rows', { "table": "tokens", "scope": "eosio.erc2o", "code": "eosio.erc2o", "json": true })).rows |
| 447 | + for(let erc of erclist) { |
| 448 | + let fee = erc.ingress_fee.split(' ') |
| 449 | +
|
| 450 | + erc.ingressFee = Number(fee[0]) |
| 451 | + erc.symbol = fee[1] |
| 452 | + erc.checksumAddr = Web3.utils.toChecksumAddress("0x"+erc.address.toLowerCase()) |
| 453 | + } |
430 | 454 |
|
431 | | - await tokenList.forEach(async e=>{ |
| 455 | + for (let index = 0; index < tokenList.length; index++) { |
| 456 | + let e = tokenList[index] |
432 | 457 | if (e.name === "EOS") { |
433 | 458 | const r = await this.rpc.fetch('/v1/chain/get_table_rows', { "table": "config", "scope": "eosio.evm", "code": "eosio.evm", "json": true }) |
434 | 459 | e.ingressFee = Number(r.rows[0].ingress_bridge_fee.split(' ')[0]) |
| 460 | + e.enabled = true |
435 | 461 | } |
436 | 462 | else { |
437 | | - const addr = e.addr.substr(2).toLowerCase() |
| 463 | + e.enabled = false |
438 | 464 | for(const erc of erclist) { |
439 | | - if (erc.address.toLowerCase() === addr) { |
440 | | - e.ingressFee = Number(erc.ingress_fee.split(' ')[0]) |
| 465 | + if (erc.symbol.toLowerCase() === e.name.toLowerCase()) { |
| 466 | + e.ingressFee = erc.ingressFee |
| 467 | + e.addr = erc.checksumAddr |
| 468 | + e.enabled = true |
441 | 469 | break |
442 | 470 | } |
443 | 471 | } |
444 | 472 | } |
445 | | - }) |
| 473 | + } |
| 474 | + |
| 475 | + tokenList.sort((a,b)=> b.enabled - a.enabled) |
446 | 476 | return tokenList |
447 | 477 | }, |
448 | 478 |
|
@@ -772,6 +802,14 @@ export default { |
772 | 802 | </script> |
773 | 803 |
|
774 | 804 | <style scoped lang="scss"> |
| 805 | +
|
| 806 | +.dropdown-symbol { |
| 807 | + margin-right:5px; |
| 808 | + height:25px; |
| 809 | + width:25px; |
| 810 | + object-fit:contain; |
| 811 | +} |
| 812 | +
|
775 | 813 | .transfer-btn { |
776 | 814 | margin: auto; |
777 | 815 | width: 170px; |
|
0 commit comments