{"id":22886610,"url":"https://github.com/zenodeapp/zenode-contracts","last_synced_at":"2025-06-26T19:34:04.003Z","repository":{"id":62398317,"uuid":"553981283","full_name":"zenodeapp/zenode-contracts","owner":"zenodeapp","description":"A lightweight repository that aims to bundle commonly used Solidity contracts, libraries and helper functions together.","archived":false,"fork":false,"pushed_at":"2022-11-01T05:55:01.000Z","size":36,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-06T23:19:15.348Z","etag":null,"topics":["access-control","contracts","git-submodule","hardhat","helper-functions","libraries","lightweight","ownership","solidity","solidity-contracts"],"latest_commit_sha":null,"homepage":"","language":"Solidity","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zenodeapp.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-10-19T04:05:06.000Z","updated_at":"2022-10-25T01:19:24.000Z","dependencies_parsed_at":"2022-11-01T06:45:32.682Z","dependency_job_id":null,"html_url":"https://github.com/zenodeapp/zenode-contracts","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenodeapp%2Fzenode-contracts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenodeapp%2Fzenode-contracts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenodeapp%2Fzenode-contracts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenodeapp%2Fzenode-contracts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zenodeapp","download_url":"https://codeload.github.com/zenodeapp/zenode-contracts/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246523089,"owners_count":20791431,"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":["access-control","contracts","git-submodule","hardhat","helper-functions","libraries","lightweight","ownership","solidity","solidity-contracts"],"created_at":"2024-12-13T20:19:29.870Z","updated_at":"2025-03-31T18:45:29.720Z","avatar_url":"https://github.com/zenodeapp.png","language":"Solidity","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ZENODE Contracts\n\nA lightweight repository that aims to bundle commonly used Solidity contracts, libraries and helper functions together.\n\nThis has been built by ZENODE and is licensed under the MIT-license (see [LICENSE.md](./LICENSE.md)).\n\n## Overview\n\n### Contracts\n\n- [Ownable.sol](contracts/base/Ownable.sol)\n  - Create ownable contracts\n  - Adding and removing of administrators\n  - Limiting read/write access\n  - Ownership transference\n\n### Libraries\n\n\\-\n\n### Helpers\n\n- [hardhat.js](helpers/hardhat.js) helper functions.\n\n## Getting Started\n\nIncluding this repository in your projects can be done in multiple ways:\n\n- Adding it as a Git submodule to your project (recommended)\n- Adding it as an npm module\n- Git cloning (or downloading as a .zip)\n\n### Add as a Git submodule\n\nThis is the approach I personally recommend for it clearly shows that this repository is a subset of your project. It could also give insight to which commit we're currently on and whether there have been changes to the \u003ci\u003esub-repository\u003c/i\u003e.\n\n1. **Clone and stage the submodule**\n\n   ```\n   git submodule add -b main https://github.com/zenodeapp/zenode-contracts.git \u003cdestination_folder\u003e\n   ```\n\n   \u003e \u003ci\u003e\\\u003cdestination_folder\\\u003e\u003c/i\u003e can be omitted, this will clone the repo in the current directory inside a folder named `zenode-contracts`.\n\n2. **Commit and push**\n\n   ```\n   git commit -a -m \"Added submodule zenode-contracts.git\"\n   git push\n   ```\n\n**Updating submodules (for in the future)**\n\nTo pull and incorporate the most recent changes, run this command inside the root of your main repository:\n\n```\ngit submodule update --remote --recursive \u003cpath_to_submodule\u003e\n```\n\n\u003e Omit \u003ci\u003e\\\u003cpath_to_submodule\\\u003e\u003c/i\u003e to update every submodule.\n\n\u003cbr\u003e\n  \n**Cloning repositories with submodules (for in the future)**\n\nBy default, cloning a repository with submodules won't include the files for every submodule. This may be considered a drawback as it requires extra knowledge and experience from your targeted audience.\n\nCloning the repo now requires an extra flag: `--recursive`.\n\n```\ngit clone --recursive \u003curl_to_repo_with_submodules\u003e \u003cdestination_folder\u003e\n```\n\nIf you forgot to include the `--recursive` flag, you could always run the following git command to fetch all submodules:\n\n```\ngit submodule update --init --recursive\n```\n\n\u003e Here the `--recursive` flag is optional and only necessary if you have nested submodules (submodules containing submodules).\n\n\u003cbr\u003e\n\n**Useful tip!**\n\nThe `git submodule foreach '[git action]'`-command is very useful when it comes to performing git actions on multiple submodules at once.\n\n```\ngit submodule foreach 'git fetch'\ngit submodule foreach 'git diff ...origin'\n```\n\n\u003e This example fetches all changes for every submodule and displays them in your terminal.\n\nYou can read more about Submodules in the [Git Documentation](https://git-scm.com/book/en/v2/Git-Tools-Submodules).\n\n### Add as an npm module\n\nThis repository hasn't been registered as an npm module, but can be added as a dependency using a package manager of your choosing.\n\n```\nnpm install zenodeapp/zenode-contracts\n```\n\n```\nyarn add zenodeapp/zenode-contracts\n```\n\n\u003e The syntax is \u003ci\u003e\\\u003cUser name\\\u003e\u003c/i\u003e/\u003ci\u003e\\\u003cRepository name\\\u003e\u003c/i\u003e, which might be different for other package manager tools.\n\nIf you're interested in a specific branch, commit or tag, run the following command instead:\n\n```\nnpm install zenodeapp/zenode-contracts#\u003cbranch/commit/tag\u003e\n```\n\n```\nyarn add zenodeapp/zenode-contracts#\u003cbranch/commit/tag\u003e\n```\n\nDo have in mind that the usual approach to updating modules with your package manager will probably not work with git packages; re-install the package instead if you wish to pull the most recent changes to your project.\n\n### Add by downloading or cloning\n\n- Download .zip file on Github (top-right):\n\n  ![download-zip](https://user-images.githubusercontent.com/108588903/197372280-df92e403-0805-4095-86b5-433f88773b52.png)\n\n- Or, clone the repository using the command line:\n\n  ```\n  git clone https://github.com/zenodeapp/zenode-contracts.git \u003cdestination_folder\u003e\n  ```\n\n  \u003e Cloning creates a directory with the same name as the repo in the specified folder.\n  \u003e\n  \u003e \u003e If you want to clone into the folder you're currently in, use '.' instead:\n  \u003e \u003e\n  \u003e \u003e ```\n  \u003e \u003e git clone https://github.com/zenodeapp/zenode-contracts.git .\n  \u003e \u003e ```\n\n\u003cbr\u003e\n\n\u003cp align=\"right\"\u003e— ZEN\u003c/p\u003e\n\u003cp align=\"right\"\u003eCopyright (c) 2022 ZENODE\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzenodeapp%2Fzenode-contracts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzenodeapp%2Fzenode-contracts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzenodeapp%2Fzenode-contracts/lists"}