From 7f7d45b49ef210ecc1fa20206237b7c8700d1b97 Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Thu, 7 Sep 2023 10:14:41 +0200 Subject: [PATCH 01/10] fix typo --- ip-nfts/how-to-mint-an-ip-nft.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ip-nfts/how-to-mint-an-ip-nft.md b/ip-nfts/how-to-mint-an-ip-nft.md index 8212295..8f70aa2 100644 --- a/ip-nfts/how-to-mint-an-ip-nft.md +++ b/ip-nfts/how-to-mint-an-ip-nft.md @@ -20,7 +20,7 @@ Minting an IP-NFT on testnet. * **Reserve an IP-NFT:** The process starts by reserving a TokenID on the IP-NFT contract. This TokenID will be used to let our access control infrastructure know that only the owner of the TokenID should have access to the data behind the NFT. * **Project Details:** Add information about your IP-NFT. All information in this step will be saved in the metadata of the IP-NFT and will be publicly available. Importantly, all information specified is immutable after an IP-NFT has been minted, so make sure that the information you provide is correct. * **Research Agreement:** Upload the Research Agreement mentioned in Step 1, and add Contract Title, Signature Date, Contract Owner (Assignor), and Contract Type. It is important that these data elements match what is represented in the Research Agreement, and are referenced in the Assignment Agreement in the next step. The Research Agreement will be encrypted, so don't worry if it has confidential information. -* **Assignment Agreement:** This agreement assigns the rights of the Research Agreement (Step 6) to the holder of the IP-NFT. Sign your legal name, specify the organization you are assigning the rights to (DAO name), and specify the target wallet address (default is the connected wallet). If you are minting the IP-NFT to a different wallet, make sure to change that wallet address here. **PLEASE DOUBLE CHECK THE WALLET ADRESS**. After minting, this target address will be the IP-NFT holder, and is the legal assignee of the Research Agreement. The Assignment Agreement will be publicly viewable to ensure rights are properly assigned. +* **Assignment Agreement:** This agreement assigns the rights of the Research Agreement (Step 6) to the holder of the IP-NFT. Sign your legal name, specify the organization you are assigning the rights to (DAO name), and specify the target wallet address (default is the connected wallet). If you are minting the IP-NFT to a different wallet, make sure to change that wallet address here. **PLEASE DOUBLE CHECK THE WALLET ADDRESS**. After minting, this target address will be the IP-NFT holder, and is the legal assignee of the Research Agreement. The Assignment Agreement will be publicly viewable to ensure rights are properly assigned. * **Artwork:** Upload an image to commemorate the research. This image will be public, so please follow the content guidelines and upload appropriate images. * **Review your IP-NFT data:** Review the data submitted for the IP-NFT. Once ready, continue the process. After submitting your data in this step, the Research Agreement will be encrypted and uploaded to the decentralized data storage. The decryption key will be stored with Lit Protocol to manage access control based on the NFT ownership. You will be able to download this key at any time to access your files as long as you control the IP-NFT. * **Sign IP-NFT minting transaction:** Your wallet will pop-up and ask you to sign your agreement to the minting terms and to sign the minting transaction that creates the IP-NFT. A symbolic minting fee (0.001 ETH / \~2 USD) required to counter spam attacks on the protocol. From a2e04631f4e262135244152803fba7393c8e4e3f Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Thu, 7 Sep 2023 10:18:06 +0200 Subject: [PATCH 02/10] fix typos --- .../technical-details-for-developers.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ip-nfts/technical-components-of-ip-nfts/technical-details-for-developers.md b/ip-nfts/technical-components-of-ip-nfts/technical-details-for-developers.md index 84f7a4f..cf652c8 100644 --- a/ip-nfts/technical-components-of-ip-nfts/technical-details-for-developers.md +++ b/ip-nfts/technical-components-of-ip-nfts/technical-details-for-developers.md @@ -109,7 +109,7 @@ The JSON metadata documents behind IP-NFTs are required to strictly validate aga ### Validate Metadata Correctness -To validate IP-NFT metatadata documents against that schema, you can use arbitrary JSON schema tools. [Ajv](https://ajv.js.org/guide/getting-started.html) is one of the most powerful ones in Javascript. We're omitting [the code](https://github.com/moleculeprotocol/ipnft-samples/blob/main/verifyMetadata.mts) to retrieve schema or documents for brevity's sake but in a nutshell validation boils down to: +To validate IP-NFT metadata documents against that schema, you can use arbitrary JSON schema tools. [Ajv](https://ajv.js.org/guide/getting-started.html) is one of the most powerful ones in Javascript. We're omitting [the code](https://github.com/moleculeprotocol/ipnft-samples/blob/main/verifyMetadata.mts) to retrieve schema or documents for brevity's sake but in a nutshell validation boils down to: ```typescript import Ajv from "ajv"; @@ -268,7 +268,7 @@ An IP-NFT metadata's `agreements` item can store the encrypted symmetric key and Due to the high value nature of IP-NFTs you might feel tempted to use a multisig wallet for the minting process, maybe because you'd like to prove that the IP-NFT has been created by a dedicated group of individuals. This works fine for all contract function invocations but is not supported by Lit protocol. Multisig wallets (or contract wallets to be precise) cannot sign messages in the way it's required to authenticate against Lit nodes because they're not based on a private key. This might once be possible by utilizing [EIP-1271](https://eips.ethereum.org/EIPS/eip-1271) compatible wallet signatures but [was not supported](https://discord.com/channels/896185694857343026/916383445784096839/1058018912010248232) earlier. We're going to add [support for it](https://developer.litprotocol.com/SDK/Explanation/WalletSigs/authSig#how-to-structure-the-authsig) soon. -The recommended workaround is to denote a dedicated trusted member of the multisig that's supposed to intially own the minted IP-NFT. This could be the researcher, a core contributor or maintainer of the project. The IP-NFT contract's `mintReservation` function takes a recipient parameter (`to`) that defines the NFT's initial owner. Note, that the account that _invokes_ the mint function is required to hold a mint pass, not the receiver. +The recommended workaround is to denote a dedicated trusted member of the multisig that's supposed to initially own the minted IP-NFT. This could be the researcher, a core contributor or maintainer of the project. The IP-NFT contract's `mintReservation` function takes a recipient parameter (`to`) that defines the NFT's initial owner. Note, that the account that _invokes_ the mint function is required to hold a mint pass, not the receiver. ### Granting Read Access to Third Parties @@ -384,7 +384,7 @@ I accept the IP-NFT minting terms I have read and agreed to the terms of the IP-NFT Assignment Agreement I understand that the IP-NFT represents legal rights to IP and data of the project in my Research Agreement -I understand that this in an irreversible and publicly traceable transaction on the Ethereum Blockchain +I understand that this is an irreversible and publicly traceable transaction on the Ethereum Blockchain I understand this is beta software and agree to the Terms of Service and assume all risks of minting this IP-NFT Sponsored Research Agreement Hash: bagaaiera7ftqs3jmnoph3zgq67bgjrszlqtxkk5ygadgjvnihukrqioipndq @@ -469,7 +469,7 @@ with the parameters: * `_symbol` a short symbol that identifies the IP-NFT and its derivatives * `authorization` a bytes encoded signature by the validation service -and a `value` of `0.001 ether`that deals as symbolic minting fee. +and a `value` of `0.001 ether` that deals as symbolic minting fee. ## Putting it all together: The IP-NFT Minting Flow From 5967395c6825f02fe3504cad915c282ec158b30d Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Thu, 7 Sep 2023 10:19:34 +0200 Subject: [PATCH 03/10] fix typo --- ip-nfts/why-mint-an-ip-nft.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ip-nfts/why-mint-an-ip-nft.md b/ip-nfts/why-mint-an-ip-nft.md index d7d74bf..d9c8c71 100644 --- a/ip-nfts/why-mint-an-ip-nft.md +++ b/ip-nfts/why-mint-an-ip-nft.md @@ -16,7 +16,7 @@ No more waiting for months to hear back from bureaucratic organizations who only ### **Streamlining Collaboration** -Utilizing IP-NFTs introduces a well-coordinated method for the supervision and transference of both IP and R\&D data rights, fostering a platform for productive scientific collaboration. IP-NFTs intrinsically carry legal rights, and ensure those rights are seamlessly linked with the tokens throughout any exchanges. This consolidation of data rights generates aligned incentives and trustless collaboration between among scientific communities. With faster exchange of incentives, scientific collaboration can move at the speed of information. +Utilizing IP-NFTs introduces a well-coordinated method for the supervision and transference of both IP and R\&D data rights, fostering a platform for productive scientific collaboration. IP-NFTs intrinsically carry legal rights, and ensure those rights are seamlessly linked with the tokens throughout any exchanges. This consolidation of data rights generates aligned incentives and trustless collaboration among scientific communities. With faster exchange of incentives, scientific collaboration can move at the speed of information. With an on-chain record of ownership and management details, IP-NFTs can significantly streamline due diligence in IP licensing. The transparency and immutability of blockchain records can drive down the costs and complexities of confirming patent holders, tracking licensees, and researching prior valuations, bypassing the need for intermediaries. No more fear over another scientist stealing your ideas, just building on top of others' ideas with a ledger of record of attribution and value. From d04efd8c65f58ed269dddb96021edce0386410d6 Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Thu, 7 Sep 2023 10:20:18 +0200 Subject: [PATCH 04/10] fix typos --- ip-tokenization-guide/ip-tokenization-guide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ip-tokenization-guide/ip-tokenization-guide.md b/ip-tokenization-guide/ip-tokenization-guide.md index c811da0..704912d 100644 --- a/ip-tokenization-guide/ip-tokenization-guide.md +++ b/ip-tokenization-guide/ip-tokenization-guide.md @@ -16,7 +16,7 @@ Below is a guide on how to tokenize an IP-NFT as a researcher or university. If 4. **Lab Tour:** Though not required, a [lab tour](https://moleculecloud.app.box.com/v/vitafastdataroom/file/1233367577070) is an effective way to bring the community closer to your lab and research. We suggest highlighting the work and team that will be funded, as well as the instruments that will be used to conduct experiments. 5. **Press Release:** For maximum reach, we recommend a press release in collaboration between the DAO, the university technology transfer office, and the researcher. Examples are [here](https://www.lifespan.io/news/vitadao-launches-vita-fast-tokens/) and [here](https://longevity.technology/news/vitadao-launches-vita-fast-tokens-building-on-2000-initial-oversubscription/). 6. **Create a wallet:** If the researcher will be receiving IP Tokens, those tokens will need to be held in a wallet connected to the Ethereum blockchain. We suggest holding them in a [non-custodial wallet](https://www.gemini.com/cryptopedia/crypto-wallets-custodial-vs-noncustodial#section-custodial-crypto-wallets-pro-and-cons) such as [Metamask](https://metamask.io/download/) or [Rabby](https://rabby.io/). You will have to share your wallet address (0x...) with the DAO so they can send the IP tokens to the correct wallet. -7. **Participate in Governance:** In order to use your tokens for governance, you will need to connect with the DAO to find the proper [Snapshot](https://snapshot.org/#/) space, where governance will take place. [Here](https://docs.snapshot.org/user-guides/voting/vote) is specific guide on how to participate in voting with Snapshot. +7. **Participate in Governance:** In order to use your tokens for governance, you will need to connect with the DAO to find the proper [Snapshot](https://snapshot.org/#/) space, where governance will take place. [Here](https://docs.snapshot.org/user-guides/voting/vote) is a specific guide on how to participate in voting with Snapshot. ### Research Organization Checklist @@ -29,7 +29,7 @@ Below is a guide on how to tokenize an IP-NFT as a researcher or university. If 6. [VitaDAO launches VITA-FAST tokens building on 2000% initial oversubscription](https://longevity.technology/news/vitadao-launches-vita-fast-tokens-building-on-2000-initial-oversubscription/) 2. **Create a wallet:** If the research agreement between the DAO and the research organization states that the research organization has an ownership stake in any IP that comes from the research, then the research organization should expect to receive IP tokens. The IP tokens will need to be held in a wallet connected to the Ethereum blockchain. We suggest holding them in a [multi-signature wallet](https://www.coindesk.com/learn/what-is-a-multisig-wallet/) such as [SAFE](https://safe.global/). You will have to share your wallet address (0x...) with the DAO so they can send the IP tokens to the correct wallet. 3. **Press Release:** For maximum reach, we recommend a press release in collaboration between the DAO, the university technology transfer office, and the researcher. Examples are [here](https://www.lifespan.io/news/vitadao-launches-vita-fast-tokens/) and [here](https://longevity.technology/news/vitadao-launches-vita-fast-tokens-building-on-2000-initial-oversubscription/). -4. **Participate in Governance:** In order to use your tokens for governance, you will need to connect with the DAO to find the proper [Snapshot](https://snapshot.org/#/) space, where governance will take place. [Here](https://docs.snapshot.org/user-guides/voting/vote) is specific guide on how to participate in voting with Snapshot. +4. **Participate in Governance:** In order to use your tokens for governance, you will need to connect with the DAO to find the proper [Snapshot](https://snapshot.org/#/) space, where governance will take place. [Here](https://docs.snapshot.org/user-guides/voting/vote) is a specific guide on how to participate in voting with Snapshot. ### FAQs From 7cbb69d9a4837d2138ba4e60c98a22c57f13b8a4 Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Thu, 7 Sep 2023 10:21:33 +0200 Subject: [PATCH 05/10] fix typos --- ip-tokens/how-to-fractionalize-an-ip-nft.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ip-tokens/how-to-fractionalize-an-ip-nft.md b/ip-tokens/how-to-fractionalize-an-ip-nft.md index ac8acd7..dc69dfe 100644 --- a/ip-tokens/how-to-fractionalize-an-ip-nft.md +++ b/ip-tokens/how-to-fractionalize-an-ip-nft.md @@ -16,9 +16,9 @@ IPTs have various functional groups; they can effectuate distributed governance, By executing the `synthesizeIpnft(uint256 ipnftId, uint256 moleculesAmount, string calldata agreementCid)` function, an IP-NFT owner initializes the creation of a new IPT supply. This is akin to sparking a digital forge, producing a minimal clone of the current IPT implementation and appointing the Synthesizer contract as its owner. It's the conductor leading the symphony of code. -The original IP-NFT owner has the authority to instruct the`Synthesizer` to mint an arbitrary quantity of IPTs via the issue function. However, token holders need to be aware of possible dilution at the discretion of the IP-NFT holder - it's a little like adding water to a concentrated solution. New emissions are managed by the governance layer overseeing the multisignature wallet retaining the IP-NFT. +The original IP-NFT owner has the authority to instruct the `Synthesizer` to mint an arbitrary quantity of IPTs via the issue function. However, token holders need to be aware of possible dilution at the discretion of the IP-NFT holder - it's a little like adding water to a concentrated solution. New emissions are managed by the governance layer overseeing the multisignature wallet retaining the IP-NFT. -An original owner can designate a IPTs contract as capped, effectively setting a supply limit. This condition is often a requirement for a SalesShareDistributor of that token. +An original owner can designate an IPTs contract as capped, effectively setting a supply limit. This condition is often a requirement for a SalesShareDistributor of that token. While the initial distribution of IPTs to other accounts falls outside the `Synthesizer`'s remit, IPTs holders retain the freedom to transfer their tokens at will. From 8e5ad5b247cdd1d3d1985e0bbac6dbd29bf186c5 Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Thu, 7 Sep 2023 10:22:25 +0200 Subject: [PATCH 06/10] fix typo --- ip-tokens/what-are-ipts.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ip-tokens/what-are-ipts.md b/ip-tokens/what-are-ipts.md index dee9733..7e45f5a 100644 --- a/ip-tokens/what-are-ipts.md +++ b/ip-tokens/what-are-ipts.md @@ -24,7 +24,7 @@ IPT holders exert control over the IP licensing process, which includes determin Contrary to the holders of fractional NFTs, holders of IPTs using our standard Membership Agreement are not inherently entitled to economic benefits. This means they do not have a predetermined, contractual right to receive any proceeds following the sale of an IP-NFT. Instead, holders of these IPTs are endowed with governance rights. They must actively participate in voting to decide on the allocation of proceeds derived from IP licenses, sales, and other activities related to both the IP and the data within their IP pool. -It is essential to thoroughly consider the implications before initiating or approving a vote to enable economic rights, as this action could potentially alter the regulatory status of the IPTs. For instance, suppose the holders of specific IPTs category decide to grant themselves royalty rights or adopt an alternative Membership Agreement permitting them to profit from the licensing of a drug contained in their IP pool. In those casees, the tokens associated with these contractual rights would most likely be classified as asset tokens or securities, among other possible classifications, contingent on the jurisdiction of the token holders. This change in classification could bring new regulatory responsibilities and consequences that need to be understood and adhered to. +It is essential to thoroughly consider the implications before initiating or approving a vote to enable economic rights, as this action could potentially alter the regulatory status of the IPTs. For instance, suppose the holders of specific IPTs category decide to grant themselves royalty rights or adopt an alternative Membership Agreement permitting them to profit from the licensing of a drug contained in their IP pool. In those cases, the tokens associated with these contractual rights would most likely be classified as asset tokens or securities, among other possible classifications, contingent on the jurisdiction of the token holders. This change in classification could bring new regulatory responsibilities and consequences that need to be understood and adhered to. ### IP licenses From c657a3cf413457687459bd40591e54592748b85b Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Thu, 7 Sep 2023 10:23:22 +0200 Subject: [PATCH 07/10] fix typo --- ip-tokens/what-are-risks-of-ip-nfts.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ip-tokens/what-are-risks-of-ip-nfts.md b/ip-tokens/what-are-risks-of-ip-nfts.md index bc498d1..4ce8c7f 100644 --- a/ip-tokens/what-are-risks-of-ip-nfts.md +++ b/ip-tokens/what-are-risks-of-ip-nfts.md @@ -25,7 +25,7 @@ These risks can be mitigated by using liability-limitation devices called DAO wr There is a risk that IP-NFTs or their IPTs, if sold in a certain way, could be considered securities. -An excellent analysis of securities laws as they apply to tokens can be found here, in [The Ineleuctable Modality of Securities Law: Why Fungible Crypto Assets are Not Securities](https://papers.ssrn.com/sol3/papers.cfm?abstract\_id=4282385), by DLx Law. A major takeaway from it is this: there is a difference between the asset itself, e.g. a fungible crypto token or an orange grove and the offering or sale of that asset. The asset, whether a token or an orange grove, may not be a security, but the offering, whether an initial coin offering (ICO) or an advertisement for shares of future profits from the orange grove, likely is a security. +An excellent analysis of securities laws as they apply to tokens can be found here, in [The Ineluctable Modality of Securities Law: Why Fungible Crypto Assets are Not Securities](https://papers.ssrn.com/sol3/papers.cfm?abstract\_id=4282385), by DLx Law. A major takeaway from it is this: there is a difference between the asset itself, e.g. a fungible crypto token or an orange grove and the offering or sale of that asset. The asset, whether a token or an orange grove, may not be a security, but the offering, whether an initial coin offering (ICO) or an advertisement for shares of future profits from the orange grove, likely is a security. In the USA and EU, securities offerings are subject to disclosure rules and procedural requirements depending on the size of the offerings and the kinds of people who can participate in them. These rules are not hard to follow, so you should learn about them and follow them when and where needed in order to mitigate risk. From 36287d34ad9f7c10ac65a05a7c8f6b1ce4724cc5 Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Thu, 7 Sep 2023 10:24:10 +0200 Subject: [PATCH 08/10] fix typo --- molecule-discovery/accounts-on-molecule.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/molecule-discovery/accounts-on-molecule.md b/molecule-discovery/accounts-on-molecule.md index 35e4ce6..3d957e5 100644 --- a/molecule-discovery/accounts-on-molecule.md +++ b/molecule-discovery/accounts-on-molecule.md @@ -3,7 +3,7 @@ Accounts enable users on Molecule Discovery to interact around certain research projects. Researchers can create their own research projects via their accounts. Investors get to inquire about certain projects and whitelist to fund researchers. There are two ways of creating accounts on Molecule Discovery: * **Email Account Creation:** Accounts are being created with an email and password login. The email needs to be verified in a separate step. You can create account via the following link. -* **Metamask Account Creation:** Accounts are being created via web3 enabled wallets. No password is needed, as the signature from the wallet acts as a password. It enalbes account creation and login in one step. To learn more about web3 wallets visit the link below +* **Metamask Account Creation:** Accounts are being created via web3 enabled wallets. No password is needed, as the signature from the wallet acts as a password. It enables account creation and login in one step. To learn more about web3 wallets visit the link below {% embed url="https://discover.molecule.to/index" %} Standard email account creation From 1de9d7c516289b4a39fcb1e3c03c8ebb7a1e092e Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Thu, 7 Sep 2023 10:24:50 +0200 Subject: [PATCH 09/10] fix typo --- molecule-discovery/molecule-discovery.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/molecule-discovery/molecule-discovery.md b/molecule-discovery/molecule-discovery.md index 2c48c93..2c28bcc 100644 --- a/molecule-discovery/molecule-discovery.md +++ b/molecule-discovery/molecule-discovery.md @@ -1,6 +1,6 @@ # 🔎 Molecule Discovery -Molecule Discovery hosts different biopharma reseach projects from all around the world. Researchers present their research projects from the different therapeutic areas. The site enables you to sort projects by clinical stages and opportunity types, and gives you a free text search option. +Molecule Discovery hosts different biopharma research projects from all around the world. Researchers present their research projects from the different therapeutic areas. The site enables you to sort projects by clinical stages and opportunity types, and gives you a free text search option. From fdd98a37f442d050607e793dc6535a5bbe9d76c1 Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Thu, 7 Sep 2023 10:26:18 +0200 Subject: [PATCH 10/10] fix typo --- molecules/what-is-ip-nft-fractionalization.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/molecules/what-is-ip-nft-fractionalization.md b/molecules/what-is-ip-nft-fractionalization.md index 47d95ca..9b0327f 100644 --- a/molecules/what-is-ip-nft-fractionalization.md +++ b/molecules/what-is-ip-nft-fractionalization.md @@ -8,7 +8,7 @@ But these Molecules aren't just digital tokens; they're memberships, invitations ### Free Association of Molecules (FAM) Membership Agreement -The first legal contract for Molecules is an adhesion contract called the the Free Association of Molecules (FAM) Membership Agreement. We tailored this agreement for DeSci to enable novel ways of organizing around IP development through IP commons. IP commons memberships are represented as Molecules and governed by the FAM agreement. Read our [model FAM agreement here](https://docs.google.com/document/d/18mWC\_8Q0pfKP0zSjvG09JFbI0W5DHLDqySmjNz2lURY/edit?usp=sharing). +The first legal contract for Molecules is an adhesion contract called the Free Association of Molecules (FAM) Membership Agreement. We tailored this agreement for DeSci to enable novel ways of organizing around IP development through IP commons. IP commons memberships are represented as Molecules and governed by the FAM agreement. Read our [model FAM agreement here](https://docs.google.com/document/d/18mWC\_8Q0pfKP0zSjvG09JFbI0W5DHLDqySmjNz2lURY/edit?usp=sharing). ## Smart Contracts