FreeRossDAO's vault: the Ross Ulbricht Genesis Collection held whole, split into billions of ERC20 claims to fund a clemency campaign.
Historical Significance
Fractionalisation is usually explained as a way to make an expensive asset liquid. Here it was used for the opposite purpose: to turn an artwork into a fundraising instrument and a membership roll at the same time. The point of holding the token was to have paid, and the artwork's job was to be the thing that could not be sold out from under the cause.
That is visible in the numbers rather than in any statement. A reserve in the tens of thousands of ether with effectively no voter turnout is what a collection looks like when the holders never intend to let it go, and it is the same pattern the meme vaults show. The mechanism was built for exits and was used, repeatedly, to prevent them.
Token Information
Key Facts
Description
The vault holds SuperRare token 30841, the Ross Ulbricht Genesis Collection. The piece named in the metadata is Perspective, a graphite pencil drawing made in prison, and it arrives as part of a set: writings and ten artworks spanning childhood to teenager to prisoner, plus a two minute forty second animation made by Levitate in collaboration with Ross.
The address people hold is 252 bytes of proxy. InitializedProxy, written by Anna Carroll for fractional.art, stores one immutable address and delegatecalls everything to it: the constructor delegatecalls its initialization calldata, and the fallback forwards every later call. All of the ERC20 behaviour, and all of the buyout machinery, lives in a shared TokenVault deployed once and reused by every vault, alongside a single Settings contract that holds the platform limits.
The vault owns the artwork outright and the tokens are claims on it. Anyone may take the NFT away, but only by buying out every holder at once: reservePrice is the weighted average of the buyout prices individual holders have voted for, and start() refuses a bid below it. There is a second lock as well. Settings requires holders of at least half the supply to have voted a price before any auction can begin, so a quiet holder base is itself a veto.
Holders of about one hundredth of one percent of the supply have voted a price, which puts the current reserve at roughly 33,600 ether. Turnout is nowhere near the half an auction requires, so the collection is not purchasable and the reserve figure is closer to a statement than a price.
The token supply, a little over nine billion with a fractional tail, is the shape left by a public sale rather than a round number chosen in advance.
Source Verified
Bytecode Overview
Verified Source Available
Source verified on Etherscan.
View Verification ProofShow source code (Solidity)
{{
"language": "Solidity",
"sources": {
"contracts/InitializedProxy.sol": {
"content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\n/**\n * @title InitializedProxy\n * @author Anna Carroll\n */\ncontract InitializedProxy {\n // address of logic contract\n address public immutable logic;\n\n // ======== Constructor =========\n\n constructor(\n address _logic,\n bytes memory _initializationCalldata\n ) {\n logic = _logic;\n // Delegatecall into the logic contract, supplying initialization calldata\n (bool _ok, bytes memory returnData) =\n _logic.delegatecall(_initializationCalldata);\n // Revert if delegatecall to implementation reverts\n require(_ok, string(returnData));\n }\n\n // ======== Fallback =========\n\n fallback() external payable {\n address _impl = logic;\n assembly {\n let ptr := mload(0x40)\n calldatacopy(ptr, 0, calldatasize())\n let result := delegatecall(gas(), _impl, ptr, calldatasize(), 0, 0)\n let size := returndatasize()\n returndatacopy(ptr, 0, size)\n\n switch result\n case 0 {\n revert(ptr, size)\n }\n default {\n return(ptr, size)\n }\n }\n }\n\n // ======== Receive =========\n\n receive() external payable {} // solhint-disable-line no-empty-blocks\n}"
}
},
"settings": {
"optimizer": {
"enabled": true,
"runs": 1000
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"abi"
]
}
},
"libraries": {}
}
}}