Skip to content

Conversation

@Szegoo
Copy link

@Szegoo Szegoo commented Oct 31, 2025

This PR implements a permissioned-burn extension as described in #772

TODO:

  • Tests covering the new extension
  • Add the extension to CLI
  • Add the extension to js client

Closes #772

@Szegoo
Copy link
Author

Szegoo commented Nov 1, 2025

@joncinque Would really appreciate a quick review, just to confirm that I’m moving in the right direction before adding the tests.

Copy link
Contributor

@joncinque joncinque left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your contribution! This is definitely on the right track, but I think we'll need a bit more functionality. Let me know what you think!

Comment on lines +1114 to +1115
// Pull the required extra signer from the accounts
let approver_ai = next_account_info(account_info_iter)?;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seeing this, I think we should add a new variant to Burn, like BurnCheckedWithPermission, which explicitly takes in the authority. Otherwise, the account order for multisig owners will break, since you'll need to do:

  • source account
  • mint account
  • account authority (non-signer)
  • permissioned burn authority (signer)
  • multisig signers (signer)

It would be better to be clear, and have a new instruction which orders the accounts as:

  • source
  • mint
  • permissioned burn authority
  • account authority
  • multisig signers

We can add it as another instruction under the PermissionedBurn extension.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense; definitely better than making a breaking change.

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

Successfully merging this pull request may close these issues.

Feature proposal: Permissioned Burn

2 participants