{"id":18484334,"url":"https://github.com/giveth/giveth-bridge","last_synced_at":"2025-04-08T18:33:16.168Z","repository":{"id":31898906,"uuid":"128096168","full_name":"Giveth/giveth-bridge","owner":"Giveth","description":"Giveth bridge","archived":true,"fork":false,"pushed_at":"2024-06-06T00:14:13.000Z","size":1720,"stargazers_count":12,"open_issues_count":17,"forks_count":6,"subscribers_count":10,"default_branch":"develop","last_synced_at":"2025-04-01T17:56:00.341Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Giveth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2018-04-04T17:22:38.000Z","updated_at":"2024-12-31T09:52:09.000Z","dependencies_parsed_at":"2024-06-21T02:12:33.393Z","dependency_job_id":"7f9469f9-8c1a-4029-b44a-bd85ff719a42","html_url":"https://github.com/Giveth/giveth-bridge","commit_stats":{"total_commits":139,"total_committers":5,"mean_commits":27.8,"dds":0.3597122302158273,"last_synced_commit":"c139d454cee012492fca6e15699a7e4383eb24b8"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Giveth%2Fgiveth-bridge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Giveth%2Fgiveth-bridge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Giveth%2Fgiveth-bridge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Giveth%2Fgiveth-bridge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Giveth","download_url":"https://codeload.github.com/Giveth/giveth-bridge/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247902797,"owners_count":21015519,"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-06T12:39:25.225Z","updated_at":"2025-04-08T18:33:12.470Z","avatar_url":"https://github.com/Giveth.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Giveth Bridge\n\nGiveth specific bridge between 2 ethereum based blockchains\n\n## General idea\n\nhome chain -\u003e foreign chain:\n\n`GivethBridge` contract will be deployed on the home chain. When one `donate` functions are called, the sent value is locked in the bridge and an event is emitted. A node app will be watching for events and relay to the foreignChain, calling the `deposit` function. This will mint tokens and forward the donation to the liquidPledging contract.\n\nforeign chain -\u003e home chain:\n\n`ForeignGivethBridge` contract will be deployed on the foreign chain. When a user wants to move tokens to the home chain they will call the `withdraw` function. The tokens will then be burnt and an event is emitted. A node app will be watching for events and relay to the homeChain, calling the `authorizePayment` function.\nOnce the payment is approved, the sender will be able to collect their funds from the `GivethBridge` contract.\n\nThe `GivethBridge` contract is an extension of the vault, which provides a safe and secure way to store funds. Vist [the vault repo](https://github.com/giveth/vaultcontract#readme) to lean more about the vault.\n\nCurrently these contracts are a temporary solution until, a more robust bridging system is ready. Both contracts are pausable which will allow use to migrate to a new bridge at a future date.\n\n# Config\n\nSee `config/default.json` for example. This will be loaded and extended by additional configuration if found. You can specify the `ENVIRONMENT` env variable to load the file `config/${ENVIRONMENT}.json` if found. `ENVIRONMENT` defaults to `local`.\n\n`dataDir`: directory to store bridge db\n`homeNodeUrl`: ethereum node connection url for homeBridge\n`homeBridge`: address of the home bridge\n`homeGasPrice`: price in wei to use for gas (can be set to 'ethGasStation` to fetch current price)\n`homeConfirmations`: # of confirmations required before relaying tx to foreignBridge\n`homeBridgeDeployBlock`: (optional) block to start looking for events from\n`foreignNodeUrl`: ethereum node connection url for foreignBridge\n`foreignBridge`: address of the foreign bridge\n`foreignGasPrice`: price in wei to use for gas (can be set to 'ethGasStation` to fetch current price)\n`foreignConfirmations`: # of confirmations required before relaying tx to homeBridge\n`foreignBridgeDeployBlock`: (optional) block to start looking for events from\n`pollTime`: how often in miliseconds to check for txs to relay\n`liquidPledging`: address of liquidPledging contract on foreign network\n`pk`: pk of the account to send txs from\n\nIf you would like to receive an email on any errors, the following are required:\n\n    `mailApiKey`: mailgun api key\n    `mailDomain`: mailgun domain\n    `mailFrom`: address to send mail from\n    `mailTo`: address sto send mail to\n\n## Upgrading\n\nsee [Upgrade doc](docs/upgrade.md)\n\n## Help\nReach out to us on [join](http://join.giveth.io) for any help or to share ideas.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiveth%2Fgiveth-bridge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgiveth%2Fgiveth-bridge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiveth%2Fgiveth-bridge/lists"}