{"id":31619363,"url":"https://github.com/multiversx/sc-axelar-cgp-rs","last_synced_at":"2025-10-06T14:05:32.130Z","repository":{"id":187270004,"uuid":"672903015","full_name":"multiversx/sc-axelar-cgp-rs","owner":"multiversx","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-02T08:42:01.000Z","size":1230,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-05-02T09:45:41.504Z","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/multiversx.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":"governance/Cargo.toml","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-07-31T12:30:59.000Z","updated_at":"2025-04-25T13:42:58.000Z","dependencies_parsed_at":"2023-12-20T14:18:06.178Z","dependency_job_id":"3ad254b2-5be3-4fbd-a987-609941fd35e0","html_url":"https://github.com/multiversx/sc-axelar-cgp-rs","commit_stats":null,"previous_names":["buidly/sc-axelar-cgp-rs"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/multiversx/sc-axelar-cgp-rs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multiversx%2Fsc-axelar-cgp-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multiversx%2Fsc-axelar-cgp-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multiversx%2Fsc-axelar-cgp-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multiversx%2Fsc-axelar-cgp-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/multiversx","download_url":"https://codeload.github.com/multiversx/sc-axelar-cgp-rs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multiversx%2Fsc-axelar-cgp-rs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278621844,"owners_count":26017253,"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","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":"2025-10-06T14:05:28.650Z","updated_at":"2025-10-06T14:05:32.120Z","avatar_url":"https://github.com/multiversx.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Axelar Contracts MultiversX\n\nBefore diving into these contracts, it is important to have a basic high level understanding of how the Axelar protocol works by first checking the below resources:\n- https://docs.axelar.dev/learn\n- https://docs.axelar.dev/learn/network/flow\n\n## CGP (Cross-chain Gateway Protocol) Contracts\n\nThe MultiversX CGP contracts are based on the Axelar CGP (Cross-Chain Gateway Protocol) spec:\n- https://github.com/axelarnetwork/cgp-spec\n\nThe following contracts were written starting from the referance Solidity implementation:\n- [Gateway Contract](/gateway) - main GMP contract which handles inbound execution of cross-chain commands from Axelar Network Validators and outbound cross-chain transactions\n- [Gas Service Contract](/gas-service) - handles cross-chain gas payments\n\nAlso take a look at the full [Axelar Cross-Chain Gateway Protocol Specification MultiversX](https://docs.google.com/document/d/1hrMicw1I4tFHHAITNtmuxlyfqTkC--Pq7XmXBCRPAxU/edit?usp=sharing) if interested,\nalthough the README files in this project should contain most of the information from there.\n\n## Interchain Governance Contract\n\nThe [Governance](/governance) contract enables cross-chain governance proposals on top of the CGP protocol.\n\nThis contract will be used instead of a multisig to manage the other contracts, so they can remain upgradable but will be managed only by cross-chain governance proposals.\n\n## Interchain Token Service (ITS) Contracts\n\nITS is a comprised of a set of contracts which enable token transfers on top of the CGP protocol.\n\nIt is based on the Axelar ITS Solidity implementation available at the time of writing: (v1.2.4)\n- https://github.com/axelarnetwork/interchain-token-service/blob/v1.2.4/DESIGN.md\n\nIt consists of the following contracts:\n- [Interchain Token Service](/interchain-token-service) - main contract which handles transferring of tokens, registering \u0026 deploying of token managers\n- [Token Manager](/token-manager) - Token Manager implementation which either locks/unlocks tokens from the contract or mints/burns them directly\n\nThere is also a module used by the Token Manager \u0026 Interchain Token Service contracts:\n- [Operatable module](/modules/operatable) - holds details regarding the operator (pseudo owner) of a contract as well as roles management\n\nFor testing there is also the [Ping Pong Interchain](/ping-pong-interchain) contract, which is an implementation of the Ping Pong contract compatible with ITS.\n\nAditionally, the Axelar ITS contract only allows calling contracts from the same shard!\nTo aid with this, there is also a provided ITS [Proxy Contract](/interchain-token-service-proxy) contract, which is a reference implementation of a contract which needs to reside\non the same Shard as the Axelar ITS contract, and will forward the call to a contract on a different Shard.\n\n# Axelar Amplifier\n\nThese contracts work together with the [Axelar Amplifier](https://docs.axelar.dev/dev/amplifier/introduction) in order to facilitate\nGMP (General Message Passing) calls between MultiversX and other chains.\n\nThe Axelar Amplifier require multiple CosmWASM contracts to be deployed on Axelar network:\n- **Voting Verifier contract**\n- **Gateway contract**\n- **Multisig Prover contract**\n\n### Testing\n\n**Avalanche Fuji HelloWorld contract:** - `0xC993dBcdC94E2115C7C1526D2Dec78B384Bb826D` ([code](https://github.com/axelarnetwork/axelar-examples/blob/main/examples/multiversx/call-contract/contracts/HelloWorld.sol))\n\n`npm run interact:devnet helloWorldSetRemoteValue avalanche-fuji 0xC993dBcdC94E2115C7C1526D2Dec78B384Bb826D \"Hello world!\"`\n`npm run interact:devnet helloWorldReceivedValue`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmultiversx%2Fsc-axelar-cgp-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmultiversx%2Fsc-axelar-cgp-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmultiversx%2Fsc-axelar-cgp-rs/lists"}