holaplex / wonka

GNU Affero General Public License v3.0
8 stars 1 forks source link

Add fanout wallet creation and disbursement support #20

Closed echohtp closed 2 years ago

echohtp commented 2 years ago

Problem

Users request support for more wallets than metaplex standard supports

Solution

Use fanout wallets!

This PR adds support for createFanout and disperseFanout. createFanout currently only supports MembershipModel.Wallet, support for additional models, tbd.

createFanout

createFanout(
  encryptedMessage: EncryptedMessage!
  name: String!
  members: [FanoutMember]!
  splTokenAddress: String
): CreateFanoutResult
CreateFanoutResult:
message: String!
Operation message

fanoutPublicKey: String
Fanout public key

solanaWalletAddress: String
Solana address of the fanout

splFanoutAddress: String
Spl address of the fanout

splWalletAddress: String
Spl address of the fanout

disperseFanout

disperseFanout(
encryptedMessage: EncryptedMessage
fanoutPublicKey: String!
splTokenAddress: String
): DisperseFanoutResult
DisperseFanoutResult:
message: String!
Operation message

Tests

Note: Used cardinal-labs/hydra-ui to verify the configuration of fanout wallets created by this PR - feel free to use my deployed version of their code for any testing of your own fanout wallets https://hydra.0xbanana.com/

SOL

image

USDC

image

Multiple SPLs

image