Docs
1.0.0
Search…
⌃K

BeaconDiamond

Documentation for the BeaconDiamond contract.

Summary

BeaconDimaond is a facade contract for ongoing land market operations. There is a separate instance of the contract for each Geo Web land parcel.
It delegatecalls to the CFABasePCOFacet, CFAPenaltyBidFacet, and CFAReclaimerFacets based on the mapping provided in the DiamondCut.
This hybrid Diamonds-Beacon Proxy architecture maintains extensibility by allowing a single update transaction to the PCOLicenseBeacon to propagate to all land parcels.
Separate instances of this contract for each land parcel (along with Superfluid Access Control List functionality in the downstream facets) is required to maintain distinct network fee payment streams per parcel.

Code

Contract Functions

BeaconDiamond

BeaconDiamond__NoFacetForSignature

error BeaconDiamond__NoFacetForSignature()

constructor

constructor(address _contractOwner, contract IDiamondReadable _beacon) public payable

_getImplementation

function _getImplementation() internal view returns (address)
get logic implementation address
Return Values
Name
Type
Description
[0]
address
implementation address

LibBeaconDiamond

STORAGE_POSITION

bytes32 STORAGE_POSITION

DiamondStorage

struct DiamondStorage {
contract IDiamondReadable beacon;
}

diamondStorage

function diamondStorage() internal pure returns (struct LibBeaconDiamond.DiamondStorage ds)

setBeacon

function setBeacon(contract IDiamondReadable beacon) internal