sound.xyz smart contracts

Related tags

WebSocket protocol
Overview

sound.xyz protocol

Explanation of our design approach: https://sound.mirror.xyz/WlS2nfpa1Onk8uknbC7YkhVJ4cYibTc4rUDTyiR55lM

We plan to make the protocol something we maintain in coordination with the Sound community.

For the interim, this repo is primarily read-only as we build out the team and a process for managing contributions. If you are a talented designer or engineer and are passionate about reshaping how we value music, please apply here.

We welcome bug or vulnerability reports. If you have one, please message us so we can discuss it privately at [email protected].


To install, you'll need pnpm, then run: pnpm i

To run tests: pnpm test

To see test coverage: npx hardhat coverage

Comments
  • ArtistV3

    ArtistV3

    first part of Sound Feb/March 2022 upgrade plan

    huge shout out to @pvienhage for most of the ideas

    ArtistV3.sol

    This upgrade is mainly gas & UX optimizations:

    • Adds editionCount view function
    • Adds setPresaleQuantity and setSignerAddress so an artist can update those parameters of an edition after creating it. Both are protected by onlyOwner
    • Sends ETH directly to edition.fundingRecipient during the buyEdition transaction
    • deprecates depositedForEdition and withdrawnForEdition mappings
    • Deprecates atTokenId counter in favor of deriving tokenId from editionId and serial number (the current edition.numSold) bit-packed together
    • removes getTokenIdsOfEdition and getOwnersOfEdition view functions
    • replaces tokenToEdition mapping with tokenToEdition helper function that handles both the new
    • updates tokenSupply & tokenURI functions to accommodate above changes

    tests

    • tests for all of the above in Artist.test.ts
    • before & after upgrade tests in upgrades.test.ts
    opened by gigamesh 3
  • Contributing Guidelines

    Contributing Guidelines

    ๐Ÿ‘‹ Hello, soundxyz!

    I'm wondering if you all have plans to introduce contributing guidelines to this repository?

    I'm interested in contributing (and perhaps others are too ๐Ÿ˜‰), but I'm not quite sure where the best place to start. From the last 48 hours, I see there's healthy activity from the team and I'd love to lend a hand!

    However, I want to make sure the time that I spend on opening issues and PRs are worthwhile (and welcome!), so it would be lovely to get some direction from the team on where you all welcome the most help (good first issues, feature implementation, bug fixes, etc.).

    Thank you for considering my ask! ๐Ÿ™‡โ€โ™‚๏ธ

    opened by almndbtr 3
  • revert tokenURI change

    revert tokenURI change

    the downside of this is pre-upgrade tokenURIs will be like ...api/metadata/1/1/1 and post-upgrade will be like ...api/metadata/1/1/3907309379307007101, but making them consistent would require including a version number in the URI so our API knows if it should search for the NFT using the tokenId or the serialNumber

    opened by gigamesh 1
  • make the metadata immutable

    make the metadata immutable

    • at neume network we're continuously downloading the music NFT's metadata and we're also roughly testing for equality of responses in-between temporal gaps
    • https://github.com/neume-network/strategies/blob/3ceb7b3386101633ed3ac1b01c303b70e53c9ff7/test/strategies/soundxyz-get-tokenuri/extractor_test.mjs#L10-L22 tests downloading the following sound.xyz tokenURI: https://github.com/neume-network/strategies/blob/3ceb7b3386101633ed3ac1b01c303b70e53c9ff7/test/strategies/soundxyz-get-tokenuri/extractor_input_data#L1
    • The expected results is a snapshot which we manually curate: https://github.com/neume-network/strategies/blob/3ceb7b3386101633ed3ac1b01c303b70e53c9ff7/test/strategies/soundxyz-get-tokenuri/extractor_snapshot.json#L4
    • You can see that those tests work as their commit is the basis for this test run: https://github.com/neume-network/strategies/actions/runs/3013604127
    • However, it seems that shortly after you've manually changed the comment wall URL in one of your music NFTs: https://github.com/neume-network/strategies/actions/runs/3033162850/jobs/4881205201#step:6:287 and our tests errored
    • we'd appreciate it if you'd host your metadata through content addressing and by e.g., publishing a new hash for each update so that it stays immutable
    opened by TimDaub 0
  • Latest API update breaks initial registration of NFT metadata

    Latest API update breaks initial registration of NFT metadata

    • I'm working on neume
    • For all published tracks, we're using the initial mint event Transfer(address(0), creator, tokenId) to index tracks using a fork of Spinamp's subgraph: https://github.com/neume-network/web3-music-subgraph
    • We highly value being able to make idempotent requests to platforms, so e.g., we were calling function tokenURI at the point of an NFT's creation rather than with block number tag "latest".
    • So you can see that we actually get fairly "old" tokenuris from your contracts: https://raw.githubusercontent.com/neume-network/data/main/results/soundxyz-call-tokenuri-transformation
    • Recently (this week), those URI formats have been broken by your server, and they now return a 404 error rather than the actual JSON metadata of the NFT. Here's an example: https://www.sound.xyz/api/metadata/66/1/10
    • We think that's a bad form: We think that "cool URIs don't change"
    • E.g., a backward compatible upgrade of the server would have used the 301 redirect HTTP status code to point an old resource to a new resource as I think structurally, the resources haven't been laid out differently.
    opened by TimDaub 0
Releases(@soundxyz/[email protected])
Owner
null
sound.xyz smart contracts

sound.xyz protocol Explanation of our design approach: https://sound.mirror.xyz/WlS2nfpa1Onk8uknbC7YkhVJ4cYibTc4rUDTyiR55lM We plan to make the protoc

null 47 May 5, 2022
Awesome mirror.xyz.

ไผ˜่ดจ Mirror ไฟกๆฏๆบๅˆ—่กจ ็›ฎๅฝ• Mirror ไฟกๆฏๆบๅˆ—่กจ ไป€ไนˆๆ˜ฏ Mirror ๅฆ‚ไฝ•ๆไบค ไธบไป€ไนˆ่ฆๆ”ถ้›†่ฟ™ๅผ ๅˆ—่กจ Mirror ไฟกๆฏๆบๅˆ—่กจ ๅˆ—่กจไธŠ็š„ไฟกๆฏๆบ่ฎข้˜…ๆ•ฐไธๅคš๏ผŒๆš‚ๆ—ถๅ–ๆถˆๅฑ•็คบ RSS ่ฎข้˜…ๆ•ฐใ€‚ ็ฎ€ไป‹ ่ฎข้˜…้“พๆŽฅ ๆ ‡็ญพ Shawn https://submirror.xyz/dao4ever.e

Robin Wen 28 Nov 7, 2022
Authentication module for Guild.xyz Public API

Authentication module for Guild.xyz Public API | WIP Background One of the most common problems with digital signature-based authentication systems is

Agora.xyz 37 Dec 21, 2022
Authentication module for Guild.xyz Public API

Guild SDK for TypeScript | WIP Application โ€ข ฤ™ Twitter โ€ข Docs โ€ข Community Roadmap โ€ข Github โ€ข Summary The Guild SDK library is a Typescript library for

Agora.xyz 37 Dec 21, 2022
๐ŸŽŠ Source code of the previous version of swoth.xyz.

swoth.xyz Developed with ?? by Swรดth ?? Usage Install packages. $ npm install Start development server at ::3000 port. $ npm run dev Build for product

Swรดth 11 Dec 17, 2022
Rainbow Table attack to break zkcrush.xyz and reveal your crush.

ZK-Crush-Break Rainbow Table attack to break zkcrush.xyz and reveal your crush. Background Amir released a project called zkcrush.xyz that allowed a u

Verumlotus 4 Jul 1, 2022
Farcaster.xyz bot for casting random color names

fc-bot-color-names A Farcaster bot that sends random color names to the network, using data from meodai/color-names. The bot is currently registered t

Matt DesLauriers 6 Aug 5, 2022
A collection of smart contracts for the Stackup platform ๐Ÿค– ๐Ÿ“‘

Contracts A collection of smart contracts for the Stackup platform. Dev Blog Deployed Contracts See releases for deployed contracts of previous versio

Stackup 16 Nov 29, 2021
Ethereum Smart Contracts for locking your Ether and ERC20 tokens based on time and price conditions

SmartHold - a simple way to lock and hold your ETH or ERC20 in a smart contract This is a BETA software that has not been audited for security. USE AT

Paweล‚ Urbanek 22 May 5, 2022
โ™ฆ Crowd funding project using Smart Contracts on the Ethereum. Created with Next.js and Tailwind CSS.

Crowdcoin โ™ฆ Crowd funding project using Smart Contracts on the Ethereum. Created with Next.js and Tailwind CSS. Project from "Ethereum and Solidity: T

Luiz Fernando Verรญssimo 2 Dec 14, 2022
Using Ethereum Smart Contracts to verify any user's vaccination via Identification Number or QR Code.

Covid-Vaccine-Verification-Blockchain Using Ethereum Smart Contracts to verify any user's vaccination via Identification Number or QR Code. Requiremen

Zaynab Batool Reza 4 May 14, 2022
Cooperative databases using smart contracts.

Vitra โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ•šโ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘ โ•šโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆ

Paul Frazee 177 Dec 30, 2022
This box comes with everything you need to start using smart contracts from a react app

Truffle React Hooks TypeScript Template This box comes with everything you need to start using smart contracts from a react app. This is as barebones

Louis Aussedat 3 Mar 11, 2022
๐Ÿงฌ Core smart contracts of Platypus Finance

Platypus Finance v1 Core Core smart contracts of Platypus Finance. Before getting started with this repo, please read: The Platypus docs The Platypus

Platypus Finance 30 Oct 14, 2022
Run CosmWasm smart contracts in Node.js and web browsers

Run CosmWasm smart contracts in Node.js and web browsers

Terran One 31 Nov 25, 2022
A 'to do list' powered by Ethereum smart contracts

A 'to do list' powered by Ethereum smart contracts. built with JavaScript, Ganache, Truffle, Node.js, Metamask, jQuery, and Bootstrap

Christotle Agholor 3 Feb 17, 2022
Smart contracts for governance. Contract allows to bond custom/LP UNI-v2 tokens and get voting power

Smart contracts for governance. Contract allows to bond custom/LP UNI-v2 tokens and get voting power

Rinat Fihtengolts 3 Oct 2, 2022
Context-aware smart contracts for blockchain IoT systems

Context-aware smart contracts for blockchain IoT systems It contains 2 directories: contracts: contains the ContextAwareSmartContract.sol contract wit

ibelab 6 Jun 17, 2022
This is the main repository for NFT collection dao smart contracts.

Basic Sample Hardhat Project This project demonstrates a basic Hardhat use case. It comes with a sample contract, a test for that contract, a sample s

null 3 Apr 11, 2022
Smart contracts for DecentraMix.io, a cross-chain, non-custodial privacy-preserving protocol within the DecentraWorld ecosystem.

โžก DecentraMix.io Solidity Smart Contracts To get a better understanding of DecentraMix, we recommend to read about the technologies and privacy protoc

DecentraWorld Ecosystem 80 Apr 11, 2022