Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

umswap - "Like WETH, but for ERC-721s"

License

NotificationsYou must be signed in to change notification settings

bokkypoobah/umswap

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/.




History



Umswap Functions

Umswap Read Functions

allowance(tokenOwner, spender)

StandardERC-20 function.

functionallowance(addresstokenOwner,addressspender)overrideexternalviewreturns(uintremaining)

balanceOf(tokenOwner)

StandardERC-20 function.

functionbalanceOf(addresstokenOwner)overrideexternalviewreturns(uintbalance)

decimals()

StandardERC-20 function. Set to 18 decimals.

functiondecimals()overrideexternalviewreturns(uint8)

getInfo()

functiongetInfo()publicviewreturns(address_creator,stringmemory__symbol,stringmemory__name,uint[]memory_tokenIds,uint_swappedIn,uint_swappedOut,uint__totalSupply)

isValidTokenId(tokenId)

functionisValidTokenId(uint_tokenId)publicviewreturns(bool)

name()

StandardERC-20 function.

functionname()overrideexternalviewreturns(stringmemory)

symbol()

StandardERC-20 function.

functionsymbol()overrideexternalviewreturns(stringmemory)

totalSupply()

StandardERC-20 function.

functiontotalSupply()overrideexternalviewreturns(uint)

Umswap Write Functions

approve(spender, tokens)

StandardERC-20 function.

functionapprove(addressspender,uinttokens)overrideexternalreturns(boolsuccess)

receive()

Receive any tips in ETH.

receive() external payable

swap(inTokenIds, outTokenIds, integrator)

functionswap(uint[]calldata_inTokenIds,uint[]calldata_outTokenIds,addressintegrator)publicpayablereentrancyGuard

transfer(to, tokens)

StandardERC-20 function.

functiontransfer(addressto,uinttokens)overrideexternalreturns(boolsuccess)

transferFrom(from, to, tokens)

StandardERC-20 function.

functiontransferFrom(addressfrom,addressto,uinttokens)overrideexternalreturns(boolsuccess)


UmswapFactory Functions

UmswapFactory Read Functions

isValidName

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)

getUmswapsLength

functiongetUmswapsLength()publicviewreturns(uint_length)

getUmswaps

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

Owner of UmswapFactory

addresspublicowner

umswaps

Array of child Umswap addresses

Umswap[]publicumswaps

UmswapFactory Write Functions

newUmswap

functionnewUmswap(IERC721Partial_collection,stringcalldata_name,uint[]calldata_tokenIds,addressintegrator)

receive

receive()externalpayable

transferOwnership

functiontransferOwnership(address_newOwner)publiconlyOwner

withdraw

functionwithdraw(addresstoken,uinttokens,uinttokenId)publiconlyOwner

Testing

Seetest/00_test_0.js for the testing scripts andtestIt.out for the results.


UmswapFactory

  • Owned
    • Can only initialise onceAlreadyInitialised()
    • Transfer ownership
      • Valid ownership transfer
      • Invalid ownership transferNotOwner()
  • TipHandler
    • Zero tips
    • Non-zero tips
      • integrator set toaddress(0)
      • integrator set toaddress(this)
      • integrator set to EOA/contract address/contract that rejects ETH payment
  • CloneFactory
    • Check
  • UmswapFactory
    • newUmswap(...)
      • Collection set to EOANotERC721()
      • Collection set to non ERC-721 contractNotERC721()
      • Invalid nameInvalidName()
      • TokenIds not sorted ascendingTokenIdsMustBeSortedWithNoDuplicates()
      • Duplicate setDuplicateSet()
    • Receive ETH transfers
    • Reject ERC-721safeTransferFrom(msg.sender, UmswapFactory, tokenId) transfers
    • Withdraw
      • ETH
      • ERC-20
      • ERC-721
      • Not ownerNotOwner()

Umswap

  • [ ]
    • [ ]

Notes

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

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp