Skip to content

Commit

Permalink
Adds Contracts from Assets (rareprotocol#34)
Browse files Browse the repository at this point in the history
* feat: added a lazy minting marketplace

* chore: tests and removed pause

* chore: abis and deploy script

* feat: multi purchase

* chore: merkle tree

* chore: more minting restrictions

* chore: staking allowlist

* chore: add timestamp for staking limit

* updates scripts, updates abis, adds src/token

* adds royalty-guard

* removes royalty-guard -> should be submodule

* adds royalty-guard as submoudle

* updates mappings and minimum versions for ERCx

* moves all src and tests from lib/aux to src/

this creates the first uncleaned MVP that builds

* removes lib/aux

* updates royalty guard

* fixes mappings, renames conflict

* fixes NetworkDeploy.sol

* fixes an issue where compilation stack was too deep

* removes redundant script for LazySovereignNFTFactory

* adds the security updates from rareprotocol/core

---------

Co-authored-by: Charles Crain <[email protected]>
  • Loading branch information
rymcol and charlescrain authored Jan 24, 2024
1 parent aa542ef commit 8c22b5b
Show file tree
Hide file tree
Showing 87 changed files with 5,170 additions and 172,883 deletions.
6 changes: 3 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
[submodule "lib/ds-test"]
path = lib/ds-test
url = https://github.com/dapphub/ds-test
[submodule "lib/aux"]
path = lib/aux
url = https://github.com/rareprotocol/aux
[submodule "lib/openzeppelin-contracts-upgradeable"]
path = lib/openzeppelin-contracts-upgradeable
url = https://github.com/openzeppelin/openzeppelin-contracts-upgradeable
Expand Down Expand Up @@ -34,3 +31,6 @@
[submodule "lib/v3-core"]
path = lib/v3-core
url = https://github.com/rareprotocol/v3-core
[submodule "lib/royalty-guard"]
path = lib/royalty-guard
url = https://github.com/rareprotocol/royalty-guard
1 change: 1 addition & 0 deletions abis/IERC721Mint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"abi":[{"type":"function","name":"mintTo","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"mintTo(address)":"755edd17"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"mintTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"SuperRare Labs Inc.\",\"kind\":\"dev\",\"methods\":{\"mintTo(address)\":{\"params\":{\"_receiver\":\"The address of the token receiver.\"},\"returns\":{\"_0\":\"uint256 Token Id of the new token.\"}}},\"title\":\"IERC721Mint\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"mintTo(address)\":{\"notice\":\"Mint a new token to the specified receiver.\"}},\"notice\":\"Interface for Minting ERC721\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/collection/IERC721Mint.sol\":\"IERC721Mint\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/=lib/openzeppelin-contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=lib/aux/src/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"src/collection/IERC721Mint.sol\":{\"keccak256\":\"0x4bd1a75a49203d7fe98c9ad7fd39a3a2d73ae16853f989f770ed6e11bd2c1370\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fea6f1aa42268af276f3c63bdd8cd84f9c9f9ea7bb0910369c62bd06d7c9d47d\",\"dweb:/ipfs/QmZ9jnaRgvZAZr5UFoMuh1dtSU1RbFjnE7zb9RGNc9fpWH\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"mintTo","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"mintTo(address)":{"params":{"_receiver":"The address of the token receiver."},"returns":{"_0":"uint256 Token Id of the new token."}}},"version":1},"userdoc":{"kind":"user","methods":{"mintTo(address)":{"notice":"Mint a new token to the specified receiver."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/=lib/openzeppelin-contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=lib/aux/src/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/collection/IERC721Mint.sol":"IERC721Mint"},"libraries":{}},"sources":{"src/collection/IERC721Mint.sol":{"keccak256":"0x4bd1a75a49203d7fe98c9ad7fd39a3a2d73ae16853f989f770ed6e11bd2c1370","urls":["bzz-raw://fea6f1aa42268af276f3c63bdd8cd84f9c9f9ea7bb0910369c62bd06d7c9d47d","dweb:/ipfs/QmZ9jnaRgvZAZr5UFoMuh1dtSU1RbFjnE7zb9RGNc9fpWH"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"src/collection/IERC721Mint.sol","id":41618,"exportedSymbols":{"IERC721Mint":[41617]},"nodeType":"SourceUnit","src":"32:386:80","nodes":[{"id":41607,"nodeType":"PragmaDirective","src":"32:23:80","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":41617,"nodeType":"ContractDefinition","src":"153:264:80","nodes":[{"id":41616,"nodeType":"FunctionDefinition","src":"353:62:80","nodes":[],"documentation":{"id":41609,"nodeType":"StructuredDocumentation","src":"179:171:80","text":" @notice Mint a new token to the specified receiver.\n @param _receiver The address of the token receiver.\n @return uint256 Token Id of the new token."},"functionSelector":"755edd17","implemented":false,"kind":"function","modifiers":[],"name":"mintTo","nameLocation":"362:6:80","parameters":{"id":41612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41611,"mutability":"mutable","name":"_receiver","nameLocation":"377:9:80","nodeType":"VariableDeclaration","scope":41616,"src":"369:17:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41610,"name":"address","nodeType":"ElementaryTypeName","src":"369:7:80","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"368:19:80"},"returnParameters":{"id":41615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41614,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41616,"src":"406:7:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41613,"name":"uint256","nodeType":"ElementaryTypeName","src":"406:7:80","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"405:9:80"},"scope":41617,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC721Mint","contractDependencies":[],"contractKind":"interface","documentation":{"id":41608,"nodeType":"StructuredDocumentation","src":"57:96:80","text":"@author SuperRare Labs Inc.\n @title IERC721Mint\n @notice Interface for Minting ERC721"},"fullyImplemented":false,"linearizedBaseContracts":[41617],"name":"IERC721Mint","nameLocation":"163:11:80","scope":41618,"usedErrors":[]}],"license":"MIT"},"id":80}
Loading

0 comments on commit 8c22b5b

Please sign in to comment.