diff --git a/ethtx_ce/frontend/templates/index.html b/ethtx_ce/frontend/templates/index.html index efde376..10a70ba 100644 --- a/ethtx_ce/frontend/templates/index.html +++ b/ethtx_ce/frontend/templates/index.html @@ -216,6 +216,8 @@ + +
diff --git a/ethtx_ce/frontend/templates/semantics.html b/ethtx_ce/frontend/templates/semantics.html index 3f4be38..fd2a5c4 100644 --- a/ethtx_ce/frontend/templates/semantics.html +++ b/ethtx_ce/frontend/templates/semantics.html @@ -182,6 +182,8 @@

Semantics for: {{address}} / {{ metadata.chain }}

+ + diff --git a/ethtx_ce/frontend/templates/transaction.html b/ethtx_ce/frontend/templates/transaction.html index 935ad7b..0720ddd 100644 --- a/ethtx_ce/frontend/templates/transaction.html +++ b/ethtx_ce/frontend/templates/transaction.html @@ -12,9 +12,17 @@ ~ limitations under the License. --> +{% macro block_explorer_link(chain_id) %} + {%- if chain_id.startswith("fantom") -%} + https://{%- if chain_id == 'fantom_testnet' -%}testnet.{% endif %}ftmscan.io/ + {% else %} + https://{%- if chain_id != 'mainnet' -%}{{ chain_id }}.{% endif %}etherscan.io/ + {% endif %} +{% endmacro %} + {% macro address_link(address, label, badge="") %} {%- if address and address != '0x0000000000000000000000000000000000000000' -%} - + {%- if badge -%} [{{ badge }}] {%- endif -%} @@ -27,7 +35,7 @@ {% macro nft_link(address, label) %} {%- if address and address != '0x0000000000000000000000000000000000000000' -%} - + {{- label -}} {%- else -%} diff --git a/wsgi.py b/wsgi.py index 1a79854..c5a70af 100644 --- a/wsgi.py +++ b/wsgi.py @@ -28,12 +28,16 @@ "mainnet": dict(hook=os.getenv("MAINNET_NODE_URL", ""), poa=False), "goerli": dict(hook=os.getenv("GOERLI_NODE_URL", ""), poa=True), "rinkeby": dict(hook=os.getenv("RINKEBY_NODE_URL", ""), poa=True), + "fantom": dict(hook=os.getenv("FANTOM_NODE_URL", ""), poa=True), + "fantom_testnet": dict(hook=os.getenv("FANTOM_TESTNET_NODE_URL", ""), poa=True), }, default_chain="mainnet", etherscan_urls={ "mainnet": "https://api.etherscan.io/api", "goerli": "https://api-goerli.etherscan.io/api", "rinkeby": "https://api-rinkeby.etherscan.io/api", + "fantom": "https://api.fmtscan.com/api", + "fantom_testnet": "https://api-testnet.ftmscan.com/api", }, )