solana icon indicating copy to clipboard operation
solana copied to clipboard

token-2022: `zk-ops` is not enabled for the inlined program

Open sponomarev opened this issue 1 year ago • 0 comments

Problem

While playing with Confidential Transfers token extension I've faced an issue that I can't deposit confidential tokens to an account. I've received an error "Program log: ConfidentialTransferInstruction::Deposit", "Program log: Error: InvalidInstructionData". The rest is omitted for brevity. I started looking into the source code and realized that it's most likely that zk-ops was not enabled during the build.

https://github.com/solana-labs/solana-program-library/blob/6366ad9b689a4139ec5ae70c180e0f08f750d0e3/token/program-2022/src/extension/confidential_transfer/processor.rs#L1131-L1132

Also I've found that starting from 1.17.3 release zk-ops-enabled Token-2022 program should be inlined for the test validator. I've downgraded to this particular version, re-initialized the ledger and everything works fine. SPL Token 2022 - v1.0.0 release does not enable zk-ops feature anymore and we miss confidential transfers feature on test validators.

Proposed Solution

Include SPL Token 2022 build with zk-ops enabled.

sponomarev avatar Feb 07 '24 16:02 sponomarev