BlobStore
contracts/blobstore.sol

Jonathan Brown <[email protected]>

constructor

BlobStore

Inputs0addressregistry
event

Disown 6b5718f9

Inputs0bytes20blobId
event

Retract 933ca7e3

Inputs0bytes20blobId
event

RetractRevision c9e76516

Inputs0bytes20blobId
Inputs1uint256revisionId
event

SetEnforceRevisions b86f3c3a

Inputs0bytes20blobId
event

SetNotRetractable 75daba3f

Inputs0bytes20blobId
event

SetNotTransferable 7feed1ac

Inputs0bytes20blobId
event

SetNotUpdatable 67641472

Inputs0bytes20blobId
event

Store fd5eeef8

Inputs0bytes20blobId
Inputs1uint256revisionId
Inputs2bytescontents
event

Transfer 661029d7

Inputs0bytes20blobId
Inputs1addressrecipient
function

create 30a24abd

Creates a new blob. It is guaranteed that different users will never receive the same blobId, even before consensus has been reached. This prevents blobId sniping. Consider createWithNonce() if not calling from another contract.

Inputs0bytes4flags

Packed blob settings.

Inputs1bytescontents

Contents of the blob to be stored.

Outputs0bytes20blobId
function

createNewRevision a84c5330

Create a new blob revision.

Inputs0bytes20blobId

Id of the blob.

Inputs1bytescontents

Contents of the new revision.

Outputs0uint256revisionId
function

createWithNonce 6d1da953

Creates a new blob using provided nonce. It is guaranteed that different users will never receive the same blobId, even before consensus has been reached. This prevents blobId sniping. This method is cheaper than create(), especially if multiple blobs from the same account end up in the same block. However, it is not suitable for calling from other contracts because it will throw if a unique nonce is not provided.

Inputs0bytes32flagsNonce

First 4 bytes: Packed blob settings. The parameter as a whole must never have been passed to this function from the same account, or it will throw.

Inputs1bytescontents

Contents of the blob to be stored.

Outputs0bytes20blobId
function

disown d6ca8ccb

Disown a blob.

Inputs0bytes20blobId

Id of the blob.

function, constant

getAllRevisionBlockNumbers 22057bc7

Get the block numbers for all of a blob's revisions.

Inputs0bytes20blobId

Id of the blob.

Outputs0uint256[]blockNumbers
function, constant

getContractId 4788cabf

Get the id for this BlobStore contract.

Outputs0bytes12
function, constant

getEnforceRevisions dba1ac3d

Determine if a blob enforces revisions.

Inputs0bytes20blobId

Id of the blob.

Outputs0boolenforceRevisions
function, constant

getExists 08b7c13b

Check if a blob exists.

Inputs0bytes20blobId

Id of the blob.

Outputs0boolexists
function, constant

getFlags 01fd89a4

Get all a blob's flags.

Inputs0bytes20blobId

Id of the blob.

Outputs0bytes4flags
function, constant

getInfo ba15e52e

Get info about a blob.

Inputs0bytes20blobId

Id of the blob.

Outputs0bytes4flags
Outputs1addressowner
Outputs2uint256revisionCount
Outputs3uint256[]blockNumbers
function, constant

getOwner e487eb58

Get the owner of a blob.

Inputs0bytes20blobId

Id of the blob.

Outputs0addressowner
function, constant

getRetractable 3c335b0e

Determine if a blob is retractable.

Inputs0bytes20blobId

Id of the blob.

Outputs0boolretractable
function, constant

getRevisionBlockNumber 74f8d96e

Get the block number for a specific blob revision.

Inputs0bytes20blobId

Id of the blob.

Inputs1uint256revisionId

Id of the revision.

Outputs0uint256blockNumber
function, constant

getRevisionCount 3ef87414

Get the number of revisions a blob has.

Inputs0bytes20blobId

Id of the blob.

Outputs0uint256revisionCount
function, constant

getTransferable aa5d4719

Determine if a blob is transferable.

Inputs0bytes20blobId

Id of the blob.

Outputs0booltransferable
function, constant

getUpdatable 3df91162

Determine if a blob is updatable.

Inputs0bytes20blobId

Id of the blob.

Outputs0boolupdatable
function

restart e0a70811

Delete all a blob's revisions and replace it with a new blob.

Inputs0bytes20blobId

Id of the blob.

Inputs1bytescontents

Contents that should be stored.

function

retract cf7315c6

Retract a blob.

Inputs0bytes20blobId

Id of the blob. This blobId can never be used again.

function

retractLatestRevision a7e93e87

Retract a blob's latest revision. Revision 0 cannot be retracted.

Inputs0bytes20blobId

Id of the blob.

function

setEnforceRevisions 9243e088

Set a blob to enforce revisions.

Inputs0bytes20blobId

Id of the blob.

function

setNotRetractable 976b01c0

Set a blob to not be retractable.

Inputs0bytes20blobId

Id of the blob.

function

setNotTransferable b971b4e5

Set a blob to not be transferable.

Inputs0bytes20blobId

Id of the blob.

function

setNotUpdatable d0c24e93

Set a blob as not updatable.

Inputs0bytes20blobId

Id of the blob.

function

transfer b06df18e

Transfer a blob to a new user.

Inputs0bytes20blobId

Id of the blob.

Inputs1addressrecipient

Address of the user to transfer to blob to.

function

transferDisable 47bdb7f4

Disable transfer of the blob to the current user.

Inputs0bytes20blobId

Id of the blob.

function

transferEnable 12511c14

Enable transfer of the blob to the current user.

Inputs0bytes20blobId

Id of the blob.

function

updateLatestRevision 9e65c7e5

Update a blob's latest revision.

Inputs0bytes20blobId

Id of the blob.

Inputs1bytescontents

Contents that should replace the latest revision.