In the Virtualground marketplace, each NFT can be swapped for VGR tokens through a smart contract, allowing for trustless and transparent atomic swaps.
- Marketplace (
0x48791815A6CfB75D716F3dad95d911c07445A4A1
) - Royalty Manager(
0xA0537adB79849cF0FB4641568AAdAE21E6249EFc
)
-
Order: NFT listing. Every order has its unique id generated by the block timestamp, NFT owner, id and the price.
-
Asset: NFT token which follows the ERC721 Ethereum standard.
-
Composable Asset: An NFT token which is composed of other NFTs. For example: An estate is a composable NFT.
-
Account: an Ethereum address.
This contract is upgradable, ownable and pausable. It accepts only tokens which follow the ERC721 Ethereum standard for listing and the VGR token for buying.
OrderCreated Emitted when an asset is listed for sale.
event OrderCreated(
bytes32 id,
uint256 indexed assetId,
address indexed seller,
address nftAddress,
uint256 priceInWei,
uint256 expiresAt
);
OrderCancelled
Emitted when an asset listing was cancelled.
event OrderCancelled(
bytes32 id,
uint256 indexed assetId,
address indexed seller,
address nftAddress
);
OrderSuccessful
Emitted when an asset was successfully bought.
event OrderSuccessful(
bytes32 id,
uint256 indexed assetId,
address indexed seller,
address nftAddress,
uint256 totalPrice,
address indexed buyer
);
ChangedPublicationFee
Emitted when the fee for listing was changed.
event ChangedPublicationFee(
uint256 publicationFee
);
ChangedFeesCollectorCutPerMillion
Emitted when
event ChangedFeesCollectorCutPerMillion(
uint256 feesCollectorCutPerMillion
);
ChangedRoyaltiesCutPerMillion
event ChangedRoyaltiesCutPerMillion(
uint256 royaltiesCutPerMillion
);
FeesCollectorSet
event FeesCollectorSet(
address indexed oldFeesCollector,
address indexed newFeesCollector
);
RoyaltiesManagerSet
event RoyaltiesManagerSet(
IRoyaltiesManager index oldRoyaltiesManager,
IRoyaltiesManager index newRoyaltiesManager
);
[TO BE ADDED...]
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.