{"id":28380676,"url":"https://github.com/0xsequence/signals-implicit-mode","last_synced_at":"2025-10-29T09:16:20.273Z","repository":{"id":294976828,"uuid":"954221511","full_name":"0xsequence/signals-implicit-mode","owner":"0xsequence","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-10T02:24:32.000Z","size":66,"stargazers_count":5,"open_issues_count":2,"forks_count":0,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-06-10T03:28:11.915Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Solidity","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/0xsequence.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":"2025-03-24T18:40:48.000Z","updated_at":"2025-06-10T02:24:35.000Z","dependencies_parsed_at":"2025-05-23T00:41:07.620Z","dependency_job_id":"86f78498-0172-42a2-9334-4671ac4547f6","html_url":"https://github.com/0xsequence/signals-implicit-mode","commit_stats":null,"previous_names":["0xsequence/signals-implicit-mode"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/0xsequence/signals-implicit-mode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xsequence%2Fsignals-implicit-mode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xsequence%2Fsignals-implicit-mode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xsequence%2Fsignals-implicit-mode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xsequence%2Fsignals-implicit-mode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0xsequence","download_url":"https://codeload.github.com/0xsequence/signals-implicit-mode/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xsequence%2Fsignals-implicit-mode/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261759087,"owners_count":23205494,"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.398Z","updated_at":"2025-10-29T09:16:15.117Z","avatar_url":"https://github.com/0xsequence.png","language":"Solidity","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Signals Implicit Mode\n\nLibraries for managing support for [Sequence Ecosystem Wallet](https://github.com/0xsequence/sequence-v3)'s [implicit sessions](https://github.com/0xsequence/sequence-v3/blob/master/docs/SESSIONS.md).\n\n## Implicit Registry\n\nThe `ImplicitProjectRegistry` is an ownerless, singleton contract that allows a single contract to define the accepted `redirectUrl`s for their project. Using the registry gives a single point for management of accepted `redirectUrl`s. \n\nUsing the registry is also a quick way to authorize implicit access to contracts from other projects. \n\nSee below *Support Implicit Sessions* for information on how to integrate with the registry. \n\n### Register Your Project URLs\n\nSelect your `Project ID`. The project ID is composed of two parts:\n- A 12-byte (24 hex characters) upper portion that you choose\n- Your address as the lower 20 bytes\n\nTo claim your project ID, call the `claimProject(bytes12 projectIdUpper)` function. The contract will automatically combine your chosen upper portion with your address to create the full project ID.\n\n\u003e [!TIP]\n\u003e Consider claiming your project ID on every chain you wish to support. Claiming a project ID does not imply you must use it.\n\nAs the project owner, you can:\n- Add supported redirect URLs by calling `addProjectUrl(bytes32 projectId, string memory projectUrl)`\n- Remove URLs using `removeProjectUrl(bytes32 projectId, string memory projectUrl)`\n- Transfer project ownership using `transferProject(bytes32 projectId, address newOwner)`\n\nAnyone can list all project URLs using `listProjectUrls(bytes32 projectId)`.\n\nIntegrate your contracts with the registry using your project ID as described in the next section.\n\n## Support Implicit Sessions\n\nImport this library into your project using forge.\n\n```sh\ncd \u003cyour-project\u003e\nforge install https://github.com/0xsequence/signals-implicit-mode\n```\n\nExtend the provided abstract contract implementation.\n\n```solidity\n// SPDX-License-Identifier: Apache-2.0\npragma solidity ^0.8.13;\n\nimport {SignalsImplicitMode} from \"signals-implicit-mode/helper/SignalsImplicitMode.sol\";\n\ncontract ImplicitSupportedContract is SignalsImplicitMode {\n    constructor(address registry, bytes32 projectId) {\n        _initializeSignalsImplicitMode(registry, projectId);\n    }\n}\n```\n\nOptionally, extend the validation by implementing the `_validateImplicitRequest` hook.\n\n## Run Tests\n\n```sh\nforge test\n```\n\n## Deploy Contracts\n\n\u003e [!NOTE]\n\u003e This will deploy the `ImplicitProjectRegistry`. Deployments use ERC-2470 for counter factual deployments and will deploy to `0x1dbaE3Df2A510768a36cE998396210Be12508d50`.\n\n\u003e [!TIP]\n\u003e The `ImplicitProjectRegistry` is ownerless and so you are free to use an implementation and claim any `projectId`. You do not need to deploy your own instance.\n\nCopy the `env.sample` file to `.env` and set the environment variables.\n\n```sh\ncp .env.sample .env\n# Edit .env\n```\n\n```sh\nforge script Deploy --rpc-url \u003cxxx\u003e --broadcast\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xsequence%2Fsignals-implicit-mode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0xsequence%2Fsignals-implicit-mode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xsequence%2Fsignals-implicit-mode/lists"}