{"id":19460177,"url":"https://github.com/offchainlabs/retryables_tracker","last_synced_at":"2025-06-17T01:06:11.853Z","repository":{"id":49980120,"uuid":"517799792","full_name":"OffchainLabs/retryables_tracker","owner":"OffchainLabs","description":null,"archived":false,"fork":false,"pushed_at":"2024-05-27T09:37:11.000Z","size":183,"stargazers_count":2,"open_issues_count":4,"forks_count":3,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-04-25T07:35:44.704Z","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/OffchainLabs.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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-07-25T19:45:52.000Z","updated_at":"2024-05-27T09:37:15.000Z","dependencies_parsed_at":"2024-11-10T17:49:27.672Z","dependency_job_id":null,"html_url":"https://github.com/OffchainLabs/retryables_tracker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/OffchainLabs/retryables_tracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OffchainLabs%2Fretryables_tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OffchainLabs%2Fretryables_tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OffchainLabs%2Fretryables_tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OffchainLabs%2Fretryables_tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OffchainLabs","download_url":"https://codeload.github.com/OffchainLabs/retryables_tracker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OffchainLabs%2Fretryables_tracker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260269429,"owners_count":22983645,"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-11-10T17:35:51.107Z","updated_at":"2025-06-17T01:06:11.817Z","avatar_url":"https://github.com/OffchainLabs.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Retryables Tracker\n\n### Set up\n\n1. Install psql and create db\n1. `yarn install`\n1. Set env variables (see .env.sample)\n1. Init / seed db:\n   - See `db/initChains.ts`; add or remove chains as needed\n   - `yarn init_db`\n\n## Processes\n\n1. **Sync**: continuously sync target chain ID to tip, saving failed/redeemable retryables in db: e.g.\n\n   - `yarn sync --chainid 42161`\n   - run `yarn sync --help` to view all optional / default params\n\n2. **Update**: check if redeemable retryables are stored in db, and check/update their status if so, e.g.\n\n   - `yarn update --chainid 42161`\n   - run `yarn update --help` to view all optional / default params\n\n3. **Report** Periodically report unredeemed retryables to slack for target chain ids, e.g.,\n\n   - yarn report --chainids 42161 42170\n     - run `yarn report --help` to view all optional / default params\n\n4. **Server** Start server for `/unredeemed/mainnet` endpoint (PORT specified in ENV Var).\n   - `yarn start_server`\n\n### Exclude Target Retryable From Reporting\n\nIf a retryable ticket is, e.g., diagnosed as expected to fail and shouldn't be reported, you can flag it as such, and `report` will ignore it.\n\n- `yarn set_dont_report --help` for details\n\n### run with docker\n\nTo run this docker, we should run a postgresql database docker first:\n\n```\ndocker run --name postgresql -e POSTGRES_USER=SuperCoder -e POSTGRES_PASSWORD=mypassword -p 5432:5432 -v /data:/var/lib/postgresql/data -d postgres\n```\n\nThen we can build the docker image:\n\n```\ndocker build -t retryables-v2 .\n```\n\nWhen finish building, we shoud run set our env file(noted: change the env according to your db):\n\n```\nmv .env.sample env_docker\n```\n\nThen start init db:\n\n```\ndocker run --name=init_db --network host --env-file=./env_docker -d retryables-v2 --action init_db\n```\n\ncheck db init:\n\n```\ndocker logs init_db\n```\n\nonce we see `Done in xx s`, then we can keep on starting others containers\n\n```\ndocker run --name=retryable-v2-sync-networkId --network host --env-file=./env_docker -d retryables-v2 --action sync --chainid 42161\n```\n\nand so others process.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foffchainlabs%2Fretryables_tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foffchainlabs%2Fretryables_tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foffchainlabs%2Fretryables_tracker/lists"}