Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SLWRKD Standards #5

Open
6 tasks
depatchedmode opened this issue May 10, 2023 · 1 comment
Open
6 tasks

SLWRKD Standards #5

depatchedmode opened this issue May 10, 2023 · 1 comment

Comments

@depatchedmode
Copy link
Contributor

depatchedmode commented May 10, 2023

Overview

We are creating a very simple standard for contracts to self-designate as a part of the SLWRKD. I think it should be an Interface that contracts can implement. Over time, we will likely publish improved or extended versions of the interface.

SLWRKD Interface Requirements

This describes the requirements of v0.0.0:

  • REQUIRED: The create function of your contract must emit an event named “SLWRKD” that references the version of the SLWRKD interface you are writing against. We will use this to detect when new contracts are deployed that may qualify for inclusion in any SLWRKD aggregator UI.
  • REQUIRED: The verified source code of your contract must include the ASCII logo of the SLWRKD. This will serve to ensure that you are publishing and verifying the source code of your contract.
  • REQUIRED: All payable methods in the contracts that power your SLWRKD game must be ready to accept the QUARTER ERC-20 as a method of payment. The exchange rate is up to you.

Future versions of the SLWRKD Standard may have different specifications than the ones above, including OPTIONAL or RECOMMENDED specifications.

$QUARTER ERC-20 Requirements

Here, we describe the ERC-20 that all games in the SLWRKD must be prepared to accept.

  • It should be an upgradable contract.
  • There will be two special roles: OWNER and MANAGER
  • It will have an infinite supply to begin with. Only the OWNER and MANAGER can make changes to the supply cap. Any fixed supply cap must be greater or equal to the currently circulating supply.
  • Only the OWNER can transfer ownership of the contract
  • Only the OWNER can make changes to the list of MANAGER addresses.
  • Only OWNER and MANAGER can mint new supply. They can mint it to any address.
  • Any address can receive the token.
  • Any address that has a balance can transfer or burn an amount less than or equal to their balance.

One other thing to mention is that we plan to deploy this contract to multiple EVM compatible blockchains:

  • Filecoin EVM
  • Arbitrum
  • Optimism
  • Polygon
  • Polygon zkEVM
  • Ethereum

We may also mint equivalent tokens on Solana and Tezos in the future. But I don’t believe Solidity is easily supported in either of those two ecosystems.

Todo

  • Review and finalize SLWRKD interface
  • Write & Deploy $QUARTER ERC-20
  • Write & Deploy SLWRKD Interface
  • Implement interface in SLWRKD contracts
  • Setup ERC-1155 to accept QUARTER for mint payments in "the future"
  • Create SLWRKD ASCII branding
@depatchedmode
Copy link
Contributor Author

Just thinking: because it'd be potentially nice to launch the ERC-1155 Game State Cards contract afterwards — and there may be others to follow — it probably makes sense to add a bit to the spec where a contract designates itself as "core" and then other contracts can designate themselves as "extensions" and refer back to the core contract address that they extend.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant