{"id":13632880,"url":"https://github.com/threshold-network/token-dashboard","last_synced_at":"2025-04-18T05:33:30.722Z","repository":{"id":37079580,"uuid":"406056103","full_name":"threshold-network/token-dashboard","owner":"threshold-network","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-11T02:40:13.000Z","size":29040,"stargazers_count":30,"open_issues_count":97,"forks_count":27,"subscribers_count":15,"default_branch":"main","last_synced_at":"2025-04-11T03:34:18.254Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/threshold-network.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2021-09-13T16:53:30.000Z","updated_at":"2025-03-31T03:27:27.000Z","dependencies_parsed_at":"2023-09-23T08:20:01.103Z","dependency_job_id":"7c2d0400-50e4-47fe-a4e9-aecc803193aa","html_url":"https://github.com/threshold-network/token-dashboard","commit_stats":null,"previous_names":[],"tags_count":71,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threshold-network%2Ftoken-dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threshold-network%2Ftoken-dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threshold-network%2Ftoken-dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threshold-network%2Ftoken-dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/threshold-network","download_url":"https://codeload.github.com/threshold-network/token-dashboard/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249437021,"owners_count":21271991,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T22:03:21.575Z","updated_at":"2025-04-18T05:33:30.709Z","avatar_url":"https://github.com/threshold-network.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# Threshold Token Dashboard\n\n[![Token Dashboard / CI](https://github.com/threshold-network/token-dashboard/actions/workflows/dashboard-ci.yml/badge.svg?branch=main\u0026event=push)](https://github.com/threshold-network/token-dashboard/actions/workflows/dashboard-ci.yml)\n[![Docs](https://img.shields.io/badge/docs-website-green)](https://docs.threshold.network)\n[![Chat with us on Discord](https://img.shields.io/badge/chat-Discord-5865f2.svg)](https://discord.threshold.network/)\n\nThis project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).\n\n# Run T dapp against the Sepolia network\n\n## Update the `.env` file:\n\n```\nREACT_APP_DEFAULT_PROVIDER_CHAIN_ID=11155111\nREACT_APP_ALCHEMY_API_KEY=\u003cyour Alchemy API key\u003e\n// We can skip this env variable- the dapp uses the correct address\n// of Multicall contract for Sepolia under the hood.\nREACT_APP_MULTICALL_ADDRESS=$MULTICALL_ADDRESS\n```\n\n## Setup\n\n`yarn`\n\n## Install Sepolia contracts\n\n```\nyarn upgrade @keep-network/keep-core@sepolia \\\n  @keep-network/keep-ecdsa@sepolia \\\n  @keep-network/random-beacon@sepolia \\\n  @keep-network/tbtc@sepolia \\\n  @threshold-network/solidity-contracts@sepolia\n```\n\n**NOTE 1:** If you encounter an `expected manifest` error while executing this,\nthen try providing an explicit version of the `keep-core` package:\n`@keep-network/keep-core@1.8.1-sepolia.0`\nThe error is probably caused by a bug in Yarn:\nhttps://github.com/yarnpkg/yarn/issues/4731.\n\n**NOTE 2:** The `token-dashboard` package contains an indirect dependency to\n`@summa-tx/relay-sol@2.0.2` package, which downloads one of its sub-dependencies\nvia unathenticated `git://` protocol. That protocol is no longer supported by\nGitHub. This means that in certain situations installation of the package or\nupdate of its dependencies using Yarn may result in `The unauthenticated git protocol on port 9418 is no longer supported` error.\n\nAs a workaround, we advise changing Git configuration to use `https://` protocol\ninstead of `git://` by executing:\n\n```\ngit config --global url.\"https://\".insteadOf git://\n```\n\n**Sepolia-dev contracts**\n\nRef: https://github.com/keep-network/tbtc-v2/pull/403\n\nInstead of the `sepolia` contracts above you can also use `dapp-development-sepolia` contracts. They offer shorter durations for some specific elements in the contracts in comparison to `sepolia`/`mainnet` and also allow to manually control mint and unmint process of `tbtc-v2` (for more information see please see https://github.com/keep-network/tbtc-v2/pull/403). To install sepolia-dev contracts run:\n\n```\nyarn @keep-network/keep-core@sepolia \\\n  @keep-network/keep-ecdsa@sepolia \\\n  @keep-network/random-beacon@dapp-development-sepolia \\\n  @keep-network/tbtc@sepolia \\\n  @threshold-network/solidity-contracts@dapp-development-sepolia\n```\n\nand set the `REACT_APP_DAPP_DEVELOPMENT_TESTNET_CONTRACTS` variable in `.env` file to true:\n\n```\n(...)\nREACT_APP_DAPP_DEVELOPMENT_TESTNET_CONTRACTS=true\n(...)\n```\n\n## Run T dapp\n\n`yarn start`\n\nOpen [http://localhost:3000](http://localhost:3000) to view it in the browser.\n\n# Production deployment\n\nThe following procedure allows to deploy T token dashboard to production:\n\n1. Developer with write access to the repository creates a release branch:\n   `releases/mainnet/\u003cversion\u003e`. Release branch should never be merged to `main`\n   and creating a PR with a release branch is not required.\n   Dependencies and project version needs to be updated on the release branch.\n   All `-dev`, `-sepolia` dependencies need to be updated to mainnet versions.\n   See [this commit](https://github.com/threshold-network/token-dashboard/commit/5452b68886ebc514d941a087973dfa9ac3802a7e)\n   for `v1.0.0` release as a good example.\n2. Preview of the release branch will be uploaded to `preview.dashboard.threshold.network`\n   under the directory named after the release branch. For example:\n   `https://preview.dashboard.threshold.network/releases/mainnet/v1.0.0/index.html`.\n   A new version will be uploaded after each push to the release branch.\n3. After reviewing the mainnet dashboard preview, any developer with write\n   access to the repository can tag the commit on the release branch and create\n   a new release on GitHub.\n4. Once a new release is created, GitHub Action for mainnet T dashboard\n   deployment will get automatically invoked. This action requires the manual\n   approval of someone else from the development team.\n5. Once the release action is approved, the new version is automatically\n   deployed to `dashboard.threshold.network`.\n\n## Local Development\n\nUpdate `.env` to contain:\n\n```\nREACT_APP_DEFAULT_PROVIDER_CHAIN_ID=11155111\nREACT_APP_ALCHEMY_API_KEY=\u003cyour Alchemy API key here\u003e\nREACT_APP_MULTICALL_ADDRESS=$MULTICALL_ADDRESS\n\nREACT_APP_FEATURE_FLAG_TBTC_V2=true\nREACT_APP_FEATURE_FLAG_TBTC_V2_REDEMPTION=true\nREACT_APP_FEATURE_FLAG_MULTI_APP_STAKING=true\nREACT_APP_FEATURE_FLAG_FEEDBACK_MODULE=false\nREACT_APP_FEATURE_FLAG_LEDGER_LIVE=true\n\nREACT_APP_FEATURE_FLAG_GOOGLE_TAG_MANAGER=false\nREACT_APP_GOOGLE_TAG_MANAGER_ID=$GOOGLE_TAG_MANAGER_ID\n\nREACT_APP_FEATURE_FLAG_POSTHOG=false\n\nREACT_APP_FEATURE_FLAG_SENTRY=false\nREACT_APP_SENTRY_DSN=$SENTRY_DSN\nREACT_APP_FEATURE_FLAG_TRM=false\n\nREACT_APP_ELECTRUM_PROTOCOL=wss\nREACT_APP_ELECTRUM_HOST=electrumx-server.test.tbtc.network\nREACT_APP_ELECTRUM_PORT=8443\nREACT_APP_MOCK_BITCOIN_CLIENT=false\n\nREACT_APP_WALLET_CONNECT_PROJECT_ID=$WALLET_CONNECT_PROJECT_ID\n\nREACT_APP_TBTC_SUBGRAPH_API_KEY=$TBTC_SUBGRAPH_API_KEY\n\nREACT_APP_TACO_DOMAIN=dashboard\n```\n\nThen build the docker container and run the dashboard:\n\n```bash\ndocker-compose up --build\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthreshold-network%2Ftoken-dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthreshold-network%2Ftoken-dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthreshold-network%2Ftoken-dashboard/lists"}