- Notifications
You must be signed in to change notification settings - Fork2
umswap - "Like WETH, but for ERC-721s"
License
bokkypoobah/umswap
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Umswaps are subsets of ERC-721 NFT collections pooled into ERC-20 tokens.
Umswaps are created by UmswapFactory.
UI being built athttps://bokkypoobah.github.io/umswap/.
2022-07-16UmswapFactory 0.8.5 testing deployed to0x9d6856a4ccef088da9b6e8a7c476ae05bc7caa2e
2022-07-30UmswapFactory 0.8.6 testing deployed to0x39D61eDC9E951C93A0A714c008006c5093992db3
2022-07-31UmswapFactory 0.8.7 testing deployed to0xb9969521413D036eAb5Ff2095cDc31BF4600AF9e
2022-08-01UmswapFactory 0.8.8 testing deployed to0x06cD34744eb3bE01808790Df7D1AeB63355b27Ea
- Bug bounty offer on this contract
- Cancelled 2022-08-15 - new version
- Bug bounty offer on this contract
2022-08-15UmswapFactory 0.8.9 testing deployed to0x0AE45D0a938f4F07F236e5f43ffB05E79ceE8268
- Bug bounty now on offer on this contract
- Cancelled 2022-09-28 - new version
- Bug bounty now on offer on this contract
2022-09-28UmswapFactory 0.9.0 testing deployed to0x8f093895cD4C54eaB897C6377e1Bf85Fe5B4E948
- Bug bounty now on offer on this contract
StandardERC-20 function.
functionallowance(addresstokenOwner,addressspender)overrideexternalviewreturns(uintremaining)
StandardERC-20 function.
functionbalanceOf(addresstokenOwner)overrideexternalviewreturns(uintbalance)
StandardERC-20 function. Set to 18 decimals.
functiondecimals()overrideexternalviewreturns(uint8)
functiongetInfo()publicviewreturns(address_creator,stringmemory__symbol,stringmemory__name,uint[]memory_tokenIds,uint_swappedIn,uint_swappedOut,uint__totalSupply)
functionisValidTokenId(uint_tokenId)publicviewreturns(bool)
StandardERC-20 function.
functionname()overrideexternalviewreturns(stringmemory)
StandardERC-20 function.
functionsymbol()overrideexternalviewreturns(stringmemory)
StandardERC-20 function.
functiontotalSupply()overrideexternalviewreturns(uint)
StandardERC-20 function.
functionapprove(addressspender,uinttokens)overrideexternalreturns(boolsuccess)
Receive any tips in ETH.
receive() external payablefunctionswap(uint[]calldata_inTokenIds,uint[]calldata_outTokenIds,addressintegrator)publicpayablereentrancyGuard
StandardERC-20 function.
functiontransfer(addressto,uinttokens)overrideexternalreturns(boolsuccess)
StandardERC-20 function.
functiontransferFrom(addressfrom,addressto,uinttokens)overrideexternalreturns(boolsuccess)
Is name valid? Name cannot start or end with spaces, or contain repeating spaces. Name must be between 1 and 48 characters in length. Valid characters are 0-9, A-Z, a-z, space, +, -, : .
functionisValidName(stringmemorystr)publicpurereturns(bool)
functiongetUmswapsLength()publicviewreturns(uint_length)
functiongetUmswaps(uint[]memoryindices)publicviewreturns(Umswap[]memory_umswaps,address[]memory_creators,string[]memory_symbols,string[]memory_names,uint[][]memory_tokenIds,uint[]memory_swappedIns,uint[]memory_swappedOuts,uint[]memory_totalSupplies)
Owner of UmswapFactory
addresspublicowner
Array of child Umswap addresses
Umswap[]publicumswaps
functionnewUmswap(IERC721Partial_collection,stringcalldata_name,uint[]calldata_tokenIds,addressintegrator)
receive()externalpayable
functiontransferOwnership(address_newOwner)publiconlyOwner
functionwithdraw(addresstoken,uinttokens,uinttokenId)publiconlyOwner
Seetest/00_test_0.js for the testing scripts andtestIt.out for the results.
- Owned
- Can only initialise once
AlreadyInitialised() - Transfer ownership
- Valid ownership transfer
- Invalid ownership transfer
NotOwner()
- Can only initialise once
- TipHandler
- Zero tips
- Non-zero tips
integratorset toaddress(0)integratorset toaddress(this)integratorset to EOA/contract address/contract that rejects ETH payment
- CloneFactory
- Check
- UmswapFactory
newUmswap(...)- Collection set to EOA
NotERC721() - Collection set to non ERC-721 contract
NotERC721() - Invalid name
InvalidName() - TokenIds not sorted ascending
TokenIdsMustBeSortedWithNoDuplicates() - Duplicate set
DuplicateSet()
- Collection set to EOA
- Receive ETH transfers
- Reject ERC-721
safeTransferFrom(msg.sender, UmswapFactory, tokenId)transfers - Withdraw
- ETH
- ERC-20
- ERC-721
- Not owner
NotOwner()
- [ ]
- [ ]
npm install --save-dev hardhatOpenZeppelin v4.7.0npm install --save-dev @openzeppelin/test-helpersnpm install --save-dev @nomicfoundation/hardhat-toolbox
About
umswap - "Like WETH, but for ERC-721s"
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.