From 613a836335ee5ee4f58e722fe3aeaa8c79e4d216 Mon Sep 17 00:00:00 2001 From: venuswhispers Date: Mon, 20 Jan 2025 08:28:02 -0600 Subject: [PATCH] added: trump & melania tokens added --- app/bridge/next.config.js | 4 ++ .../src/domain/settings/mainnet/networks.ts | 58 +++++++++++++++++-- contracts/contracts/zoo/MELANIA.sol | 32 ++++++++++ mpc-nodes/docker/common/node/package.json | 1 + .../docker/common/node/src/config/settings.ts | 51 +++++++++++++++- mpc-nodes/docker/common/node/src/node.ts | 9 ++- 6 files changed, 146 insertions(+), 9 deletions(-) create mode 100644 contracts/contracts/zoo/MELANIA.sol diff --git a/app/bridge/next.config.js b/app/bridge/next.config.js index 02b03a16..579ce9b4 100644 --- a/app/bridge/next.config.js +++ b/app/bridge/next.config.js @@ -57,6 +57,10 @@ module.exports = (phase, { defaultConfig }) => { hostname: 'img.youtube.com', pathname: '**', }, + { + protocol: "https", + hostname: "arweave.net", + }, { protocol: "http", hostname: "localhost", diff --git a/app/server/src/domain/settings/mainnet/networks.ts b/app/server/src/domain/settings/mainnet/networks.ts index 02010b09..700b0d8c 100644 --- a/app/server/src/domain/settings/mainnet/networks.ts +++ b/app/server/src/domain/settings/mainnet/networks.ts @@ -117,7 +117,7 @@ export default [ { "name": "Official Trump", "asset": "TRUMP", - "logo": "https://arweave.net/VQrPjACwnQRmxdKBTqNwPiyo65x7LAT773t8Kd7YBzw", + "logo": "https://cdn.lux.network/bridge/currencies/trump.webp", "contract_address": "6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN", "decimals": 6, "status": "active", @@ -130,6 +130,22 @@ export default [ "source_base_fee": 0, "destination_base_fee": 0, }, + { + "name": "Melania Meme", + "asset": "MELANIA", + "logo": "https://cdn.lux.network/bridge/currencies/melania.jfif", + "contract_address": "FUAfBo2jgks6gB4Z4LfZkqSZgzNucisEHqnNebaRxM1P", + "decimals": 6, + "status": "active", + "is_deposit_enabled": false, + "is_withdrawal_enabled": false, + "is_refuel_enabled": false, + "max_withdrawal_amount": 0, + "deposit_fee": 0, + "withdrawal_fee": 0.01, + "source_base_fee": 0, + "destination_base_fee": 0, + }, { "name": "Z", "asset": "Z", @@ -803,7 +819,7 @@ export default [ { "name": "Official Trump", "asset": "TRUMP", - "logo": "https://arweave.net/VQrPjACwnQRmxdKBTqNwPiyo65x7LAT773t8Kd7YBzw", + "logo": "https://cdn.lux.network/bridge/currencies/trump.webp", "contract_address": "0x768972Ee4038a23b20B3beD3848027460172D897", "decimals": 6, "status": "active", @@ -816,11 +832,27 @@ export default [ "source_base_fee": 0, "destination_base_fee": 0, }, + { + "name": "Melania Meme", + "asset": "MELANIA", + "logo": "https://cdn.lux.network/bridge/currencies/melania.jfif", + "contract_address": "0x14F48A55722ecBa725aA83a294a8d3E8bE47DE46", + "decimals": 6, + "status": "active", + "is_deposit_enabled": false, + "is_withdrawal_enabled": false, + "is_refuel_enabled": false, + "max_withdrawal_amount": 0, + "deposit_fee": 0, + "withdrawal_fee": 0.01, + "source_base_fee": 0, + "destination_base_fee": 0, + }, { "name": "Z", "asset": "Z", "logo": "https://cdn.lux.network/bridge/currencies/zeekay.jpeg", - "contract_address": "0x768972Ee4038a23b20B3beD3848027460172D897", + "contract_address": "0xA69E6612B525474CB893500b70FD7Ec374CbF9a3", "decimals": 6, "status": "active", "is_deposit_enabled": false, @@ -1416,7 +1448,7 @@ export default [ { "name": "Official Trump", "asset": "TRUMP", - "logo": "https://arweave.net/VQrPjACwnQRmxdKBTqNwPiyo65x7LAT773t8Kd7YBzw", + "logo": "https://cdn.lux.network/bridge/currencies/trump.webp", "contract_address": "0x768972Ee4038a23b20B3beD3848027460172D897", "decimals": 6, "status": "active", @@ -1429,11 +1461,27 @@ export default [ "source_base_fee": 0, "destination_base_fee": 0, }, + { + "name": "Melania Meme", + "asset": "MELANIA", + "logo": "https://cdn.lux.network/bridge/currencies/melania.jfif", + "contract_address": "0x14F48A55722ecBa725aA83a294a8d3E8bE47DE46", + "decimals": 6, + "status": "active", + "is_deposit_enabled": false, + "is_withdrawal_enabled": false, + "is_refuel_enabled": false, + "max_withdrawal_amount": 0, + "deposit_fee": 0, + "withdrawal_fee": 0.01, + "source_base_fee": 0, + "destination_base_fee": 0, + }, { "name": "Z", "asset": "Z", "logo": "https://cdn.lux.network/bridge/currencies/zeekay.jpeg", - "contract_address": "0x768972Ee4038a23b20B3beD3848027460172D897", + "contract_address": "0xA69E6612B525474CB893500b70FD7Ec374CbF9a3", "decimals": 6, "status": "active", "is_deposit_enabled": false, diff --git a/contracts/contracts/zoo/MELANIA.sol b/contracts/contracts/zoo/MELANIA.sol new file mode 100644 index 00000000..095c86a8 --- /dev/null +++ b/contracts/contracts/zoo/MELANIA.sol @@ -0,0 +1,32 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.20; + +/** + ███╗ ███╗███████╗██╗ █████╗ ███╗ ██╗██╗ █████╗ + ████╗ ████║██╔════╝██║ ██╔══██╗████╗ ██║██║██╔══██╗ + ██╔████╔██║█████╗ ██║ ███████║██╔██╗ ██║██║███████║ + ██║╚██╔╝██║██╔══╝ ██║ ██╔══██║██║╚██╗██║██║██╔══██║ + ██║ ╚═╝ ██║███████╗███████╗██║ ██║██║ ╚████║██║██║ ██║ + ╚═╝ ╚═╝╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═╝╚═╝ ╚═╝ + */ + +import "../ERC20B.sol"; + +contract MELANIA is ERC20B { + string public constant _name = "Melania Meme"; + string public constant _symbol = "MELANIA"; + + constructor() ERC20B(_name, _symbol) {} + + function decimals() public view virtual override returns (uint8) { + return 6; + } + + function mint(address account, uint256 amount) public { + _mint(account, amount); + } + + function burn(address account, uint256 amount) public { + _burn(account, amount); + } +} diff --git a/mpc-nodes/docker/common/node/package.json b/mpc-nodes/docker/common/node/package.json index ce26c5fb..f33c39cf 100644 --- a/mpc-nodes/docker/common/node/package.json +++ b/mpc-nodes/docker/common/node/package.json @@ -24,6 +24,7 @@ "@types/cors": "^2.8.17", "@types/express": "^4.17.21", "@types/node": "^22.4.1", + "@types/web3": "^1.0.20", "@typescript-eslint/eslint-plugin": "^8.2.0", "@typescript-eslint/parser": "^8.2.0", "eslint": "^8.57.0", diff --git a/mpc-nodes/docker/common/node/src/config/settings.ts b/mpc-nodes/docker/common/node/src/config/settings.ts index bd486759..a6524081 100644 --- a/mpc-nodes/docker/common/node/src/config/settings.ts +++ b/mpc-nodes/docker/common/node/src/config/settings.ts @@ -262,7 +262,28 @@ export const MAIN_NETWORKS: NETWORK[] = [ contract_address: "0x408E5681E209d37FD52c76cF9ee7EfFA8476cd9a", decimals: 18, is_native: false - } + }, + { + name: "Official Trump", + asset: "TRUMP", + contract_address: "0x768972Ee4038a23b20B3beD3848027460172D897", + decimals: 6, + is_native: false + }, + { + name: "Melania Meme", + asset: "MELANIA", + contract_address: "0x14F48A55722ecBa725aA83a294a8d3E8bE47DE46", + decimals: 6, + is_native: false + }, + { + name: "Z", + asset: "Z", + contract_address: "0xA69E6612B525474CB893500b70FD7Ec374CbF9a3", + decimals: 6, + is_native: false + }, ] }, { @@ -513,7 +534,28 @@ export const MAIN_NETWORKS: NETWORK[] = [ contract_address: "0x137747A15dE042Cd01fCB41a5F3C7391d932750B", decimals: 18, is_native: false - } + }, + { + name: "Official Trump", + asset: "TRUMP", + contract_address: "0x768972Ee4038a23b20B3beD3848027460172D897", + decimals: 6, + is_native: false + }, + { + name: "Melania Meme", + asset: "MELANIA", + contract_address: "0x14F48A55722ecBa725aA83a294a8d3E8bE47DE46", + decimals: 6, + is_native: false + }, + { + name: "Z", + asset: "Z", + contract_address: "0xA69E6612B525474CB893500b70FD7Ec374CbF9a3", + decimals: 6, + is_native: false + }, ] }, { @@ -1809,6 +1851,11 @@ export const SWAP_PAIRS: Record = { ZDOGS: ["LDOGS"], ZMRB: ["LMRB"], ZREDO: ["LREDO"], + + // Lux & Zoo tokens + TRUMP: ["TRUMP"], + MELANIA: ["MELANIA"], + Z: ["Z"], // Evm tokens ETH: ["LETH", "ZETH"], diff --git a/mpc-nodes/docker/common/node/src/node.ts b/mpc-nodes/docker/common/node/src/node.ts index 48655855..0a9751c7 100644 --- a/mpc-nodes/docker/common/node/src/node.ts +++ b/mpc-nodes/docker/common/node/src/node.ts @@ -148,6 +148,12 @@ app.post("/api/v1/generate_mpc_sig", signDataValidator, async (req: Request, res msg: `Unmatched Network Type Error: Src and Dst chains' types are not matched.` }) return + } else if (fromNetwork.internal_name === toNetwork.internal_name) { + res.json({ + status: false, + msg: `Source and Destination networks are same` + }) + return } // get Web3Form using rpc url of specific network const web3Form = getWeb3FormForRPC(fromNetwork.node) @@ -377,8 +383,7 @@ const getEvmTransactionUsingTxId = async (txId: string, w3From: Web3 iface.parseLog(e))) + const _logs = await Promise.all(eventLog.map((e: any) => iface.parseLog(e))) const _log = _logs.filter((l) => l !== null)[0] if (!_log) {