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

Create Boombox Admin #1

Open
friedger opened this issue Dec 3, 2021 · 3 comments
Open

Create Boombox Admin #1

friedger opened this issue Dec 3, 2021 · 3 comments

Comments

@friedger
Copy link
Member

friedger commented Dec 3, 2021

Create a contract that manage the minting of Boomboxes.

The contract should

  • register one or more boombox contract for one or more locking cycles
  • handle all pox related calls

The contract does not handle payout

The boombox contract must implement the boombox trait and can define

  • a split of payout/a payout function
  • locking period
  • reward address
@dantrevino
Copy link
Contributor

Some of these may be obvious, but want to add:

  • admin contract should save the boombox owner in addition the items above
  • should allow admin to stop registration/minting, separate from "time limit"
  • should require "allow-contract-caller" for each separate owner (ie allowing a Freidger pool Boombox does not mean I allow a Dan Pool boombox)
  • have 1 accessor function to to allow getting all boomboxes (current and expired, expectation that filtering is client-side)

@friedger
Copy link
Member Author

v3 deployed at https://explorer.stacks.co/txid/SP1QK1AZ24R132C0D84EEQ8Y2JDHARDR58R72E1ZW.boombox-admin-v3?chain=mainnet

should require "allow-contract-caller" for each separate owner (ie allowing a Freidger pool Boombox does not mean I allow a Dan Pool boombox)

My understanding was that we want to remove friction. v3 does not implement this. allow-contract-caller for the admin contract is sufficient. v3 does not allow stacking through a different pool than defined by the user.

have 1 accessor function to to allow getting all boomboxes (current and expired, expectation that filtering is client-side)

We can only have pages of the list, is this required by other contracts?

@dantrevino
Copy link
Contributor

My understanding was that we want to remove friction. v3 does not implement this. allow- contract-caller for the admin contract is sufficient. v3 does not allow stacking through a different pool than defined by the user.

Absolutely remove friction. Not allowing the pool to change has two consequences, afaict:

  1. safer for creators, since people are not allowed to set incorrect pool addresses
  2. assumes that all work will be thrown into Friedger Pool, which is more work for you (@friedger )

What do you need so that the process scales, when one custom boombox sets rewards to 30/70 split and another set rewards to 100/0, etc, etc?

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

2 participants