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

feat: call for contributors by introducing Ownership Wrapper #23

Open
0xneves opened this issue Oct 31, 2023 · 6 comments
Open

feat: call for contributors by introducing Ownership Wrapper #23

0xneves opened this issue Oct 31, 2023 · 6 comments
Labels
help wanted Extra attention is needed

Comments

@0xneves
Copy link
Contributor

0xneves commented Oct 31, 2023

This card aims to find who is interested in pushing forward the development of Swaplace v2.

The architecture will be very different and security regarding allowances should be checked above all matters.

The core idea of Swaplace v2 is to sell tokenized executions on the blockchain.

You could sell ownership, stake, airdrop, claim functions and delegate to the buyer of said functions.

Please show interest by commenting on this card.

@0xneves 0xneves added enhancement New feature or request help wanted Extra attention is needed labels Oct 31, 2023
@0xneves 0xneves added this to Swaplace Oct 31, 2023
@0xneves 0xneves moved this to 💡 Ideas in Swaplace Oct 31, 2023
@0xneves 0xneves removed the enhancement New feature or request label Oct 31, 2023
@0xneves 0xneves changed the title feat: call for community by introducing Swaplace v2 feat: call for contributors by introducing Swaplace v2 Oct 31, 2023
@0xneves
Copy link
Contributor Author

0xneves commented Nov 6, 2023

I'm thinking about using an Ownership Wrapper, where one can delegate ownership to a contract while owning it and then transfer its ownership just like an NFT.

We could build a contract that can mint NFTs and those nfts are ownership over a single contract, and it can be transferred like erc721.

@blackbeard002
Copy link
Contributor

blackbeard002 commented Nov 24, 2023

Hey @0xneves I'm interested and excited in pushing forward the development of Swaplace v2 :)

@0xneves
Copy link
Contributor Author

0xneves commented Nov 27, 2023

Hey @0xneves I'm interested and excited in pushing forward the development of Swaplace v2 :)

Awesome!!

We are still in the early stages since the solution will be an independent tech, that will extend the usage of Swaplace without changing the source code. Although this is postponed in the roadmap, there is no reason why we can't move in parallel. Could you contact me on Discord(#0xneves) so I can introduce you to the context? If you enjoy the ride you can end up leading a team ;)

@blackbeard002
Copy link
Contributor

blackbeard002 commented Nov 27, 2023

I'm already enjoying the ride of contributing tbh😁. I've pinged and sent a request on discord 😃

@web3-engineer
Copy link

Let's build it @0xneves ,I would love to make part of this journey

@0xneves 0xneves changed the title feat: call for contributors by introducing Swaplace v2 feat: call for contributors by introducing Ownership Wrapper Dec 19, 2023
@0xneves
Copy link
Contributor Author

0xneves commented Dec 19, 2023

I'm changing the name as the Swaplace v2 won't suit this edge case. It's a concept, but we aim to modify a smart contract account (SCA) into a trustless tradable version.

Smart contract account advantages:

  • Can own property, such as ownership over other contracts or even soulbond tokens.

Smart contract account issue:

  • When you have a SCA, you can hold ownership and tokens. But when you want to trade the ownership of the SCA, there are no guarantees for the new buyer that you won't empty the account by watching the mempool once the trade happens.
  • The SCA won't register correctly all the batches it executed in the past and store correctly the ownerships of that SCA.

We aim to build the Ownership Wrapper. Why? Because we want Swaplace to be able to swap anything! We see a future where account abstraction will take over the ownership of the market, allowing people to swap ownership, hence the ownership becomes an ERC721. Since SCAs can execute anything on-chain. We are wrapping up all the history executions of accounts and swapping them as a normal ERC721.

The main problems we are fixing are the ones quoted above, reinforcing:

  • We must ensure that the contract activities are locked so the current owner cannot modify the SCA state during the trade (this can be resolved by generating dynamic token IDs based on the current state of the contract). This means you should not be able to retrieve 1 ETH while your SCA is being traded on Swaplace.
  • We need to easily be able to tell what are the ownerships that SCA owns from a high-level perspective. This means every single asset (if the asset matters, it will have an interface) should be identified. There are plenty of ways to do this, one way could be using encodeWithSelector to prove that the function would return address(this) as the owner, for instance when calling onlyOwner to the targeted address.

This is all very raw and there is nothing written on it.
This is not our priority right now.
We intend to turn this into an EIP in the future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
Status: 💡 Ideas
Development

No branches or pull requests

3 participants