Endaoment Contracts – 终止合同区块链毕设代写

区块链毕设代写本文提供国外最新区块链项目源码下载,包括solidity,eth,fabric等blockchain区块链,Endaoment Contracts – 终止合同区块链毕设代写 是一篇很好的国外资料

Endaoment Contracts

Endaoment is a public, tax-exempt 501(c)(3) charity providing smart contract powered Donor-Advised Funds.

The solidity contracts in this repository govern the creation, operation and flow-of-funds of Endaoment’s Donor-Advised Funds and Nonprofit Organization Escrow Contracts.


Table of Contents

  • Usage
  • Installation
  • Contracts
  • Testing
  • Additional Documentation
  • License
  • Responsible Disclosure

Usage

These contracts should be used exclusively in conjunction with the Endaoment Client (repo) and Endaoment API (repo), in order to replicate proper behavior.

Installation

To install, clone this repository using:

git clone https://github.com/endaoment/endaoment-contracts.git 

Then run:

npm install 

Once installed, in the project directory run:

npm run build    

Builds all contracts in /contracts directory using oz compile.

Outputs: /artifcts, /build and /cache to root directory.

Testing

After installation, run:

npm run test 

Launches the test runner and runs the associated test suite.

Contracts

The Endaoment ecosystem uses serveral contracts to govern the movement of finances between DAFs and organizations:

EndaomentAdmin.sol

In order to comply with US nonprofit regulations and increase system security, Endaoment uses several different Admin accounts to manage actions throughout the gifting and grantmaking processes.

The EndaomentAdmin contract creates the Roles necessary to execute the oversight of the Endaoment ecosystem, as well as providing for the ability to change or pause the current holder of a given role.

Several “getter” functions are also available to allow for querying of current role status or holder.

EndaomentAdminStorage.sol

To prevent an attacker from deploying their own EndaomentAdmin contract and representing themselves as the EndaomentAdmin, both FundFactory and OrgFactory use EndaomentAdminStorage to allow Fund and Org contracts to keep a record of the current and correct EndaomentAdmin contract for overseeing actions.

Administratable.sol

Provides an interface containing key modifiers for administering the FundFactory and OrgFactory that reference the EndaomentAdmin contract.

FundFactory.sol

Provides method for creating/deploying a new Fund contract. Methods are also available for retrieving the total number of Funds deployed by the factory and the address of any given Fund at a specific Index position in the list of created Funds[].

Fund.sol

Provides all methods for the administration of any specific Fund in the Endaoment ecosystem.

Includes a Grants mapping that allows for the manager to create a new Grant recommendation data struct whereby they provide a recipeint organization address to send funds from their DAF. Any new Grant must have a recipient that was created by decalred OrgFactory role in the enumerated EndaomentAdmin. If approved, the amount of tokens prescribed in the Grant struct is transferred to the desired recipient.

OrgFactory.sol

Provides method for creating/deploying a new Org contract. Methods are also available for retrieving the total number of Orgs deployed by the factory and the address of any given Org at a specific Index position in the list of created Orgs[].

Org.sol

Provides all methods for the administration of any specific Org in the Endaoment ecosystem.

Includes a Claims mapping that allows for any address to create a new Claim data struct whereby they provide a orgWallet address and contact info. If a Claim is approved, a subset of Admin accounts can release granted funds from the Org contract to the desired wallet via the cashOutOrg() method.


Additional Documentation

Full technical documentation of our contracts can be found in our doucmentation repository:

Full Docs: endaoment-docs/developers

Other Resources:

  • Website: endaoment.org
  • Twitter: @endaomentdotorg
  • Discord: Join Server

License

BSD 3-Clause

Responsible Disclosue

If you discover a vulnerability, we would like to know about it so we can take steps to address it as quickly as possible.

Please do the following:

  • E-mail your findings to admin@endaoment.org. Encrypt your findings using our PGP key to prevent this critical information from falling into the wrong hands,
  • Do not take advantage of the vulnerability or problem you have discovered, for example by downloading more data than necessary to demonstrate the vulnerability or deleting or modifying other people’s data,
  • Do not reveal the problem to others until it has been resolved,
  • Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties, and
  • Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Usually, the IP address or the URL of the affected system and a description of the vulnerability will be sufficient, but complex vulnerabilities may require further explanation.

What we promise:

  • We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date,
  • If you have followed the instructions above, we will not take any legal action against you in regard to the report,
  • We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission,
  • We will keep you informed of the progress towards resolving the problem,
  • In the public information concerning the problem reported, we will give your name as the discoverer of the problem (unless you desire otherwise), and
  • As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak and the quality of the report.
  • We strive to resolve all problems as quickly as possible, and we would like to play an active role in the ultimate publication on the problem after it is resolved.

终止合同

Endaoment是一个公共的,免税的501(c)(3)慈善机构,提供智能合约驱动的捐赠者咨询基金。

本存储库中的可靠合同管理Endaoment的捐赠者建议基金和非盈利组织托管合同的资金创建、运营和资金流动。


目录

  • 使用情况
  • 安装
  • 合同
  • 测试
  • 附加文档
  • 许可证
  • 责任披露

使用

这些合同应专门与Endaoment客户端(repo)和Endaoment API(repo)一起使用,以便复制正确的行为。

安装

若要安装,请使用:

git clone https://github.com/endaoment/endaoment-contracts.git 

克隆此存储库,然后运行:

npm install 

安装后,在项目目录中运行:

npm run build    

使用oz compile在/contracts目录中生成所有合同。

输出:/articts、/build和/cache到根目录。

测试

安装后,运行:

npm run test 

启动测试运行程序并运行关联的测试套件。

合同

Endaoment生态系统使用多种合同来管理DAF和组织之间的资金流动:

端部管理.sol

为了遵守美国非营利组织的规定并提高系统安全性,Endaoment使用几个不同的管理帐户来管理整个赠予和赠款过程中的活动。

EndaomentAdmin合同创建执行Endaoment生态系统监督所需的角色,并提供更改或暂停给定角色当前持有者的能力。

还有几个“getter”函数可用于查询当前角色状态或持有者。

EndaomentAdminStorage.sol

为了防止攻击者部署自己的EndaomentAdmin合同并将自己表示为EndaomentAdmin,FundFactory和OrgFactory都使用EndaomentAdminStorage来允许基金和组织合同记录当前正确的EndaomentAdmin合同,以便监督操作。

可管理.sol

提供了一个包含键修饰符的接口,用于管理引用EndaomentAdmin合同的FundFactory和OrgFactory。

基金工厂.sol

提供创建/部署新基金合同的方法。方法还可用于检索工厂部署的基金总数以及任何给定基金在已创建基金列表[]中特定索引位置的地址。

基金.sol

提供了管理终端生态系统中任何特定基金的所有方法。

包括一个授权映射,允许经理创建一个新的授权推荐数据结构,在这个结构中,他们提供一个接收者组织地址,以便从他们的DAF发送资金。任何新的授予都必须有一个收件人,该收件人是由enumerated EndaomentAdmin中贴有标记的OrgFactory角色创建的。如果获得批准,则将Grant结构中指定的令牌量传输给所需的接收方。

OrgFactory.sol

提供创建/部署新组织合同的方法。方法还可用于检索工厂部署的Org的总数以及任何给定组织在已创建的Orgs[]列表中特定索引位置的地址。

组织溶胶

提供管理终端生态系统中任何特定组织的所有方法。

包括一个索赔映射,允许任何地址创建一个新的索赔数据结构,从而提供orgWallet地址和联系信息。如果索赔被批准,管理帐户的一个子集可以通过cashOutOrg()方法将组织合同中授予的资金释放到所需的钱包中。


附加文档

我们合同的完整技术文档可以在我们的文档库中找到:

完整文档:结束文档/开发者

其他资源:

  • 网址:endaoment.org网站
  • Twitter:@endaomentdoorg
  • 不和谐:加入服务器admin@endaoment.org。使用我们的PGP密钥加密您的发现,以防止这些关键信息落入坏人之手,

许可证

BSD 3-Clause

责任披露

如果您发现漏洞,我们希望了解该漏洞,以便我们能够尽快采取措施解决它。

请执行以下操作:

  • 不要利用您发现的漏洞或问题,例如下载超过证明该漏洞所需的数据,或删除或修改他人的数据,
  • 请勿利用向他人透露问题,直到问题得到解决,
  • 不要对物理安全、社会工程、分布式拒绝服务、垃圾邮件或第三方应用程序进行攻击,
  • 请提供足够的信息来重现问题,以便我们能够尽快解决问题。通常,受影响系统的IP地址或URL以及对漏洞的描述就足够了,但复杂的漏洞可能需要进一步解释。
  • 我们将在3个工作日内回复您的报告,并附上我们对报告的评估和预期的解决日期,

我们承诺:

  • 如果您遵守了上述说明,我们不会就报告对您采取任何法律行动,
  • 我们将严格保密处理您的报告,不会将您的未经您的许可向第三方提供个人信息,
  • 我们将随时向您通报解决问题的进展情况,
  • 在有关所报告问题的公开信息中,我们将提供您作为问题发现者的姓名(除非您另有要求),为了表示我们对您的帮助表示感谢,我们对每一份我们还不知道的安全问题报告都会给予奖励。奖励金额将根据泄漏的严重程度和报告的质量来确定。
  • 我们致力于尽快解决所有问题,并希望在问题解决后的最终出版中发挥积极作用。在
  • As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak and the quality of the report.
  • We strive to resolve all problems as quickly as possible, and we would like to play an active role in the ultimate publication on the problem after it is resolved.

部分转自网络,侵权联系删除区块链源码网

www.interchains.cc

https://www.interchains.cc/16555.html

区块链毕设网(www.interchains.cc)全网最靠谱的原创区块链毕设代做网站 部分资料来自网络,侵权联系删除! 最全最大的区块链源码站 !
区块链知识分享网, 以太坊dapp资源网, 区块链教程, fabric教程下载, 区块链书籍下载, 区块链资料下载, 区块链视频教程下载, 区块链基础教程, 区块链入门教程, 区块链资源 » Endaoment Contracts – 终止合同区块链毕设代写

提供最优质的资源集合

立即查看 了解详情