Uniswap / v3-periphery

🦄 🦄 🦄 Peripheral smart contracts for interacting with Uniswap v3
https://uniswap.org
GNU General Public License v2.0
1.16k stars 1.08k forks source link

missing base64 contract #272

Closed nuliknol closed 2 years ago

nuliknol commented 2 years ago

Periphery contracts use some contract called base64. There is no reference anywhere about this contract and where to get the source of this contract (included inside file NFTDescriptor.sol)

import 'base64-sol/base64.sol';

Some sources online exist, but the NFTDescriptor contract wont compile , returning this error:

 --> libraries/NFTSVG.sol:84:21:
   |
84 |                     bytes(
   |                     ^ (Relevant source part starts here and spans across multiple lines).

Error: Invalid type for argument in function call. Invalid implicit conversion from bytes memory to string memory requested.
  --> libraries/NFTSVG.sol:94:21:
   |
94 |                     bytes(
   |                     ^ (Relevant source part starts here and spans across multiple lines).

Error: Invalid type for argument in function call. Invalid implicit conversion from bytes memory to string memory requested.
   --> libraries/NFTSVG.sol:108:21:
    |
108 |                     bytes(
    |                     ^ (Relevant source part starts here and spans across multiple lines).

Error: Invalid type for argument in function call. Invalid implicit conversion from bytes memory to string memory requested.
   --> libraries/NFTSVG.sol:123:21:
    |
123 |                     bytes(
    |                     ^ (Relevant source part starts here and spans across multiple lines).

Error: Invalid type for argument in function call. Invalid implicit conversion from bytes memory to string memory requested.
  --> libraries/NFTDescriptor.sol:60:45:
   |

I am assuming that this error is due to incorrect base64 contract (that I found on some outdated repos) which returns string, but apparently the requirement is to return bytes. However since there are no sources I can't really be sure.

Please, provide reference to the source code for base64 contract since it doesn't exist anywhere. Thanks

hensha256 commented 2 years ago

Hi! that contract is imported as a dependency here. You can see the NPM package here, and the github repo here.