diff --git a/src/storage/extensions/TokenWarrantExtension.sol b/src/storage/extensions/TokenWarrantExtension.sol index e94aadd6..f742f37a 100644 --- a/src/storage/extensions/TokenWarrantExtension.sol +++ b/src/storage/extensions/TokenWarrantExtension.sol @@ -59,6 +59,7 @@ struct TokenWarrantData { TokenCalculationMethod tokenCalculationMethod; //equityProRataToTokenSupply or equityProRataToCompanyReserve uint256 minCompanyReserve; //minimum company reserve within an equityProRataToCompanyReserve method--set to 0 if there is no minimum uint256 tokenPremiumMultiplier; //multiplier of network valuation over company equity valuation, to be used within equityProRataToTokenSupply method (set to 0 if no premium) + string customProvisions; // an arbitrary string intended to insert any custom provision the parties agree upon } contract TokenWarrantExtension is UUPSUpgradeable, ICertificateExtension, BorgAuthACL { @@ -102,6 +103,7 @@ contract TokenWarrantExtension is UUPSUpgradeable, ICertificateExtension, BorgAu '", "tokenCalculationMethod": "', conversionTypeToString(decoded.tokenCalculationMethod), '", "minCompanyReserve": "', uint256ToString(decoded.minCompanyReserve), '", "tokenPremiumMultiplier": "', uint256ToString(decoded.tokenPremiumMultiplier), + '", "customProvisions": "', decoded.customProvisions, '"}' )); @@ -163,4 +165,4 @@ contract TokenWarrantExtension is UUPSUpgradeable, ICertificateExtension, BorgAu function _authorizeUpgrade( address newImplementation ) internal virtual override onlyOwner {} -} \ No newline at end of file +} diff --git a/templates/MetaLeX cyberTokenWarrant a16z-jx-neutral-style-issuer Reg S raise v 1.0.md b/templates/MetaLeX cyberTokenWarrant a16z-jx-neutral-style-issuer Reg S raise v 1.2.md similarity index 89% rename from templates/MetaLeX cyberTokenWarrant a16z-jx-neutral-style-issuer Reg S raise v 1.0.md rename to templates/MetaLeX cyberTokenWarrant a16z-jx-neutral-style-issuer Reg S raise v 1.2.md index 162363aa..49d0254d 100644 --- a/templates/MetaLeX cyberTokenWarrant a16z-jx-neutral-style-issuer Reg S raise v 1.0.md +++ b/templates/MetaLeX cyberTokenWarrant a16z-jx-neutral-style-issuer Reg S raise v 1.2.md @@ -3,13 +3,14 @@ id: bytes32(uint256(33)) legalURI: -safeURI: IFPS://bafybeihi77o6kxeien3kbg2tquhmyg4bbxvbf2kjejjswk7akfzdfprwle +safeURI: IFPS://bafybeigkcbocfq3p7rscojjej24jajyrhqk6mukgetmlsmyo4f6cp6iqry +warrantURI: IFPS://bafybeid2ldcznpjva3hf6km75zwsfe6tgaw23qabbapz63cgtmipnwy4kq -combined doc: https://beige-just-flyingfish-108.mypinata.cloud/ipfs/bafybeihi77o6kxeien3kbg2tquhmyg4bbxvbf2kjejjswk7akfzdfprwle +combined doc: [https://beige-just-flyingfish-108.mypinata.cloud/ipfs/bafybeihi77o6kxeien3kbg2tquhmyg4bbxvbf2kjejjswk7akfzdfprwle](https://beige-just-flyingfish-108.mypinata.cloud/ipfs/bafybeicto2raupsj5ad7snxvhmmll2plwyploqho4fg2cibnn2fuhlm2d4) -SAFE alone: https://beige-just-flyingfish-108.mypinata.cloud/ipfs/bafybeifvtc4xupzf3mf6pgtzxsyby2uhxbzuh77cggy4bmgpddaupx5j4i +SAFE alone: [https://beige-just-flyingfish-108.mypinata.cloud/ipfs/bafybeifvtc4xupzf3mf6pgtzxsyby2uhxbzuh77cggy4bmgpddaupx5j4i](https://beige-just-flyingfish-108.mypinata.cloud/ipfs/bafybeigkcbocfq3p7rscojjej24jajyrhqk6mukgetmlsmyo4f6cp6iqry) -Warrant alone: https://beige-just-flyingfish-108.mypinata.cloud/ipfs/bafybeievb4iysifnn6tjd2wbug6vhhpr5wyavjczxt6cibwsfiz6c7ncty +Warrant alone: [https://beige-just-flyingfish-108.mypinata.cloud/ipfs/bafybeievb4iysifnn6tjd2wbug6vhhpr5wyavjczxt6cibwsfiz6c7ncty](https://beige-just-flyingfish-108.mypinata.cloud/ipfs/bafybeid2ldcznpjva3hf6km75zwsfe6tgaw23qabbapz63cgtmipnwy4kq) ## Global Fields @@ -32,6 +33,7 @@ Warrant alone: https://beige-just-flyingfish-108.mypinata.cloud/ipfs/bafybeievb4 | tokenCalculationMethod | `equityProRataToTokenSupply` or `equityProRataToCompanyReserve` | | minCompanyReserve | This is a number of tokens | | tokenPremiumMultiplier | A number. If SAFE is worth 30% of company fully diluted equity, and premium multiplier is 2, the investor can buy 15% of total supply. | +| customProvisions | an arbitrary string intended to insert any custom provision the parties agree upon | @@ -64,6 +66,7 @@ struct TokenWarrantData { TokenCalculationMethod tokenCalculationMethod; //equityProRataToTokenSupply or equityProRataToCompanyReserve uint256 minCompanyReserve; //minimum company reserve within an equityProRataToCompanyReserve method--set to 0 if there is no minimum uint256 tokenPremiumMultiplier; //multiplier of network valuation over company equity valuation, to be used within equityProRataToTokenSupply method (set to 0 if no premium) + string customProvisions; // an arbitrary string intended to insert any custom provision the parties agree upon } ``` @@ -138,4 +141,4 @@ REGULATION S LEGEND. THIS TOKEN WARRANT AND THE CERTIFICATE TOKEN HAVE NOT BEEN, [3] contentious hardfork legend -CONTENTIOUS HARDFORK LEGEND. IN THE EVENT THAT THE BLOCKCHAIN SYSTEM ON WHICH THE CERTIFICATE TOKEN WAS ORIGINALLY ISSUED UNDERGOES A PERSISTENT “CONTENTIOUS HARDFORK” (AS COMMONLY UNDERSTOOD IN THE BLOCKCHAIN INDUSTRY, RESULTING IN TWO INDEPENDENT BLOCKCHAIN SYSTEMS THAT ARE BOTH REASONABLY EXPECTED TO HAVE INDEPENDENT PERSISTENT COMMERCIAL VALUE), NO COPY OF THE CERTIFICATE TOKEN MAY BE OFFERED, SOLD, OR OTHERWISE TRANSFERRED, PLEDGED, OR HYPOTHECATED UNTIL THE COMPANY HAS DETERMINED, IN ITS SOLE AND ABSOLUTE DISCRETION, WHICH BLOCKCHAIN SYSTEM (AND WHICH CERTIFICATE TOKENS) TO TREAT AS CANONICAL, AND THEN ONLY THE CERTIFICATE TOKEN THUS DETERMINED BY THE COMPANY TO BE CANONICAL MAY BE OFFERED, SOLD, OR OTHERWISE TRANSFERRED, PLEDGED, OR HYPOTHECATED (TO THE EXTENT OTHERWISE PERMITTED). IN THE EVENT THAT THE BLOCKCHAIN SYSTEM DETERMINED BY THE COMPANY TO BE CANONICAL FOLLOWING A CONTENTIOUS HARDFORK ITSELF SUBSEQUENTLY UNDERGOES ANOTHER CONTENTIOUS HARDFORK, THIS RESTRICTIVE LEGEND SHALL LIKEWISE APPLY TO SUCH OTHER CONTENTIOUS HARDFORK, MUTATIS MUTANDIS. \ No newline at end of file +CONTENTIOUS HARDFORK LEGEND. IN THE EVENT THAT THE BLOCKCHAIN SYSTEM ON WHICH THE CERTIFICATE TOKEN WAS ORIGINALLY ISSUED UNDERGOES A PERSISTENT “CONTENTIOUS HARDFORK” (AS COMMONLY UNDERSTOOD IN THE BLOCKCHAIN INDUSTRY, RESULTING IN TWO INDEPENDENT BLOCKCHAIN SYSTEMS THAT ARE BOTH REASONABLY EXPECTED TO HAVE INDEPENDENT PERSISTENT COMMERCIAL VALUE), NO COPY OF THE CERTIFICATE TOKEN MAY BE OFFERED, SOLD, OR OTHERWISE TRANSFERRED, PLEDGED, OR HYPOTHECATED UNTIL THE COMPANY HAS DETERMINED, IN ITS SOLE AND ABSOLUTE DISCRETION, WHICH BLOCKCHAIN SYSTEM (AND WHICH CERTIFICATE TOKENS) TO TREAT AS CANONICAL, AND THEN ONLY THE CERTIFICATE TOKEN THUS DETERMINED BY THE COMPANY TO BE CANONICAL MAY BE OFFERED, SOLD, OR OTHERWISE TRANSFERRED, PLEDGED, OR HYPOTHECATED (TO THE EXTENT OTHERWISE PERMITTED). IN THE EVENT THAT THE BLOCKCHAIN SYSTEM DETERMINED BY THE COMPANY TO BE CANONICAL FOLLOWING A CONTENTIOUS HARDFORK ITSELF SUBSEQUENTLY UNDERGOES ANOTHER CONTENTIOUS HARDFORK, THIS RESTRICTIVE LEGEND SHALL LIKEWISE APPLY TO SUCH OTHER CONTENTIOUS HARDFORK, MUTATIS MUTANDIS.