Skip to content

Commit 3b90329

Browse files
committed
Add SPL Multisig support section
1 parent 7c3eae2 commit 3b90329

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

solana/README.md

+23
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,29 @@ The additional payload field should then have your custom struct available every
9393

9494
You can then modify [release_outbound](./programs/example-native-token-transfers/src/transceivers/wormhole/instructions/release_outbound.rs) and [redeem](./programs/example-native-token-transfers/src/instructions/redeem.rs) to generate and process the additional payload.
9595

96+
## SPL Multisig Support
97+
98+
Using [SPL Multisig](https://docs.rs/spl-token/latest/spl_token/state/struct.Multisig.html), you can enable multiple minters on Solana. For example, this allows NTT to burn/mint tokens without being the only authority to do so, i.e. the asset issuer can also retain mint authority.
99+
100+
1. **Create valid SPL Multisig**
101+
102+
The SPL Multisig should meet the following criteria to qualify as a valid mint authority for NTT:
103+
104+
- Number of signers required ([m](https://docs.rs/spl-token/latest/spl_token/state/struct.Multisig.html#structfield.m)) should be `1`
105+
- One of the [signers](https://docs.rs/spl-token/latest/spl_token/state/struct.Multisig.html#structfield.signers) must be the `token_authority` PDA
106+
107+
2. **Set valid SPL Multisig as mint authority**
108+
109+
You can set the created multisig as the mint authority via the [`accept_token_authority`] instruction.
110+
111+
> If the current mint authority is also an SPL Multisig, use the [`accept_token_authority_from_multisig`] instruction instead.
112+
113+
3. **Use [`*_multisig`] instruction variants**
114+
115+
To initialize NTT, use the [`initialize_multisig`] instruction instead.
116+
117+
In `burning` mode, to release the inbound transfer and the mint tokens to the recipient, use the [`release_inbound_mint_multisig`] instruction instead.
118+
96119
## Prerequisities
97120

98121
### Installation

0 commit comments

Comments
 (0)