{"id":28380667,"url":"https://github.com/0xsequence/live-contracts","last_synced_at":"2025-06-24T21:31:28.271Z","repository":{"id":182203707,"uuid":"667697870","full_name":"0xsequence/live-contracts","owner":"0xsequence","description":"Deployed contracts directory","archived":false,"fork":false,"pushed_at":"2025-06-04T23:12:57.000Z","size":1771,"stargazers_count":6,"open_issues_count":0,"forks_count":3,"subscribers_count":16,"default_branch":"main","last_synced_at":"2025-06-05T04:37:35.326Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/0xsequence.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":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-07-18T05:36:29.000Z","updated_at":"2025-06-04T23:12:56.000Z","dependencies_parsed_at":"2023-10-13T10:33:57.000Z","dependency_job_id":"32580bc0-195f-4dc0-b11f-13604c73fb46","html_url":"https://github.com/0xsequence/live-contracts","commit_stats":null,"previous_names":["0xsequence/live-contracts"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/0xsequence/live-contracts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xsequence%2Flive-contracts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xsequence%2Flive-contracts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xsequence%2Flive-contracts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xsequence%2Flive-contracts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0xsequence","download_url":"https://codeload.github.com/0xsequence/live-contracts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xsequence%2Flive-contracts/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261759108,"owners_count":23205497,"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":"2025-05-30T03:09:03.059Z","updated_at":"2025-06-24T21:31:28.257Z","avatar_url":"https://github.com/0xsequence.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sequence Live Contracts\n\nThis repository keeps a running record of deployed Sequence contracts and contains scripts to redeploy them.\n\nThis can be used to deploy the Sequence stack on a new chain.\n\nOur CI checks that all contracts are correctly deployed on [Sequence's supported chains](https://status.sequence.info).\n\n[![Deploy CI](https://github.com/0xsequence/live-contracts/actions/workflows/deploy.yml/badge.svg)](https://github.com/0xsequence/live-contracts/actions/workflows/deploy.yml)\n\n## Usage\n\n### Set Up\n\nClone the repo.\n\n```sh\ngit clone https://github.com/0xsequence/live-contracts.git\ncd live-contracts\n```\n\nInstall dependencies.\n\n```sh\nyarn\n```\n\nUpdate the configuration variables.\n\n```sh\ncp config.sample.json config.json\n# Then manually add your settings\n```\n\n### Deployment\n\nRun the deployment script.\n\n```sh\nyarn deploy\n```\n\nTo deploy on a single chain, run the deployment script with the network name as a parameter.\n\n```sh\nyarn deploy \u003cnetwork_name\u003e\n```\n\nNote `\u003cnetwork_name\u003e` can also be a regex to deploy to multiple related chains. e.g. `yarn deploy \"polygon.*\"`.\n\n#### Gotcha: EIP-155\n\nThe deployment flow relies on pre-[EIP-155](https://eips.ethereum.org/EIPS/eip-155) transactions.\nIf your selected RPC node enforces EIP-155, deployments will fail.\n\n#### Gotcha: Gas Costs\n\nDeployments of the [Universal Deployer](https://gist.github.com/Agusx1211/de05dabf918d448d315aa018e2572031) and [Singleton Factory](https://eips.ethereum.org/EIPS/eip-2470) use a generated deployer address.\nThis address is funded with a fixed amount of ETH as per their EIP definition.\n\nSome chains calculate gas differently and may require additional funds to be sent to the deployer address for deployment to continue.\nThis has been noticed in Optimistic roll up chains such as [Base](https://base.org).\n\nThe Universal Deployer and Singleton Factory contracts are deploying using a gas price of `100 gwei`. We unable to deploy to networks with a gas price higher than this.\n\n### Checking Deployment\n\nTo check if the Sequence contracts have been deployed on a given network, run the deployment script connected to a wallet without any funds.\nA successful run indicates the contracts are already deployer on the network, as the script will fail if a deployment is required.\n\n## Development\n\nRun a local chain with [Anvil](https://github.com/foundry-rs/foundry/tree/master/crates/anvil).\n\n```sh\nanvil\n```\n\nConfigure your environment variables for your local chain settings.\n\n### Adding a New Contract\n\nTo add a new contract, create a new contract factory in the `scripts/factories` directory.\nInclude the contract's ABI, bytecode and deployment source in the factory.\n\nAdd the contract name to the `ContractName` type in `scripts/types.ts`.\n\nUpdate `scripts/deploy-contracts.ts` to:\n\n- Deploy the contract using the factory\n- Add the contract address to the `Output addresses` and this README\n- Add contract source verification add the end of the script\n\n**Make sure to include logging in each step!**\n\nYou can include configuration / initialization steps in the `scripts/deploy-contracts.ts` script if required.\n\nNote: Using the `SingletonDeployer` is the preferred method for deploying contracts.\n\n### Retrieve Source Code\n\nIf you have already deployed the contract with another script and want to migrate here, you can retrieve the source code from the Etherscan (or other compatible APIs).\n\nWithin `scripts/download-source-code.ts` replace the `addr` variable value with the address of the contract you want to retrieve, and the `etherscanApiUrl` and `etherscanApiKey` variables for the already verified source location.\n\nThen run the following command:\n\n```sh\nyarn source\n```\n\nThe source code will be downloaded to a file called `output.json`.\n\n### Check Deployment\n\nTo check if a given contract address has been deployed all configured networks, run the check script with the expected deployment address.\n\n```sh\nyarn run check \u003ccontract_address\u003e\n```\n\n## Addresses\n\nThe following is a list of contracts that are deployed by this script.\n\n| Name                           | Address                                    |\n| ------------------------------ | ------------------------------------------ |\n| WalletFactoryV2                | 0xFaA5c0b14d1bED5C888Ca655B9a8A5911F78eF4A |\n| MainModuleV2                   | 0xfBf8f1A5E00034762D928f46d438B947f5d4065d |\n| MainModuleUpgradableV2         | 0x4222dcA3974E39A8b41c411FeDDE9b09Ae14b911 |\n| GuestModuleV2                  | 0xfea230Ee243f88BC698dD8f1aE93F8301B6cdfaE |\n| SequenceUtilsV2                | 0xdbbFa3cB3B087B64F4ef5E3D20Dda2488AA244e6 |\n| TrustFactory                   | 0x4483FaA9dEEDd6D6FaCFee9c686f1E394A1280f9 |\n| WalletProxyHook                | 0x1f56dbAD5e8319F0DE9a323E24A31b5077dEB1a4 |\n| WalletFactoryV1                | 0xf9D09D634Fb818b05149329C1dcCFAeA53639d96 |\n| MainModuleV1                   | 0xd01F11855bCcb95f88D7A48492F66410d4637313 |\n| MainModuleUpgradableV1         | 0x7EFE6cE415956c5f80C6530cC6cc81b4808F6118 |\n| GuestModuleV1                  | 0x02390F3E6E5FD1C6786CB78FD3027C117a9955A7 |\n| SequenceUtilsV1                | 0xd130B43062D875a4B7aF3f8fc036Bc6e9D3E1B3E |\n| RequireFreshSignerLibV1        | 0xE6B9B21C077F382333220a072e4c44280b873907 |\n| ProdGuardV2                    | 0x761f5e29944D79d76656323F106CF2efBF5F09e9 |\n| DevGuardV2                     | 0x1d76D1D72EC65A9B933745bd0a87cAA0FAc75Af0 |\n| ProdGuardV1                    | 0x596aF90CecdBF9A768886E771178fd5561dD27Ab |\n| DevGuardV1                     | 0x2ca2380dA88528C6061ACb70aD5222fe455F25DF |\n| DeveloperMultisig              | 0x007a47e6BF40C1e0ed5c01aE42fDC75879140bc4 |\n| NiftyswapFactory20             | 0x9196b852437D9Ed92d95715dCbdA4533ffC479E0 |\n| NiftyswapExchange20Wrapper     | 0x2c944F28965F9A2cd5E69bA7e7520CbbD928258a |\n| SequenceMarketFactoryV2        | 0xBDC76d15eA28beB6AF2Cc69b4EFBb4Aa4FB77689 |\n| SequenceMarketV2               | 0xfdb42A198a932C8D3B506Ffa5e855bC4b348a712 |\n| SequenceMarketV1               | 0xB537a160472183f2150d42EB1c3DD6684A55f74c |\n| BatchPayableHelper             | 0x6166c1952c54dEd6b070B4616797E61b6c48A117 |\n| ERC20ItemsFactory              | 0x1063cBEe6b3Cd69B49f1B922A0D402f484b39855 |\n| ERC721ItemsFactory             | 0x29BCF1043Ca4B2c95aB28082143587896D39D22D |\n| ERC1155ItemsFactory            | 0x7364fDEFe24385B2b3869504383c94cF083AcbD6 |\n| ERC721SaleFactory              | 0xc412172a99e657609f5f7D4b9Bea37684B8eEE4E |\n| ERC1155SaleFactory             | 0x52A6E7236A01B72eeb262d58F7270cb9AeD8Db4B |\n| ERC721SoulboundFactory         | 0x2fBFF6fd3C978ab1bBd21b878262c5289a14b6c1 |\n| ERC1155SoulboundFactory        | 0xaB069C041FaCAB8f4D747D91EEda5705b5caAB76 |\n| ERC1155PackFactory             | 0x305197A57961CB16Df8D7F829Baf6aaF4bfD0d48 |\n| ERC721OperatorEnforcedFactory  | 0x5fD880b092bD285873b16335a454D11c062a4689 |\n| ERC1155OperatorEnforcedFactory | 0xc89f63389ef3B53D07649D52D47F9E4afcAbb1fB |\n| Clawback                       | 0x6F9a2c3E11011b894fae691d5338748f8048467d |\n| ClawbackMetadata               | 0x335411eAA9D63251f8c0867600Be4d0C190a3b1f |\n| PaymentCombiner                | 0xfe0a269E288051B0815E05Fe192FC888118CB8a2 |\n| PaymentsFactory                | 0xdC8dC7d7F0AAfbc5901DA779Ed5aab779F3E7c14 |\n| SequencePaymentsSigner-dev     | 0x498399DD85CAa29A42Af499f82b271f1629ba0D7 |\n| SequencePayments-dev           | 0xDE280948Af8A9762B6984995C8c3c7F5AEB921Bf |\n| SequencePaymentsSigner-next    | 0x51805F2d8719a833C28EAc68aE881B2Eb70c0330 |\n| SequencePayments-next          | 0x7AaC049C94E60a71E1aeDA4E1390F6812685eA4f |\n| SequencePaymentsSigner-prod    | 0x9061a36CDBD17fFe8115aD34c85F94b624f0Dc0F |\n| SequencePayments-prod          | 0x5afd8f6a09FfaD13c914b5977aF48b244279BFc7 |\n\n\u003e [!NOTE] \u003e `ERC721OperatorEnforcedFactory`, `ERC1155OperatorEnforcedFactory` and `WalletProxyHook` are only deployed to Immutable's chains.\n\n## Chains\n\nFor a full list of supported chains, see the [Sequence Status Dashboard](https://status.sequence.info/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xsequence%2Flive-contracts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0xsequence%2Flive-contracts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xsequence%2Flive-contracts/lists"}