Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion src/storage/extensions/TokenWarrantExtension.sol
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -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,
'"}'
));

Expand Down Expand Up @@ -163,4 +165,4 @@ contract TokenWarrantExtension is UUPSUpgradeable, ICertificateExtension, BorgAu
function _authorizeUpgrade(
address newImplementation
) internal virtual override onlyOwner {}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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 |



Expand Down Expand Up @@ -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
}
```

Expand Down Expand Up @@ -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.
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.
Loading