The `account_type` member of `ConcurrentMerkleTreeHeader` is currently an `#[repr(u32)]` enum, but borsh only uses one byte to serialize or deserialize an enum tag, which leads to issues with `try_from_slice` calls that get passed slices computed based on applying `size_of` to `ConcurrentMerkleTreeHeader`. This commit replaces the underlying type of `account_type` with an integer type. Signed-off-by: Alexandru Agache <alexandruag@gmail.com> Signed-off-by: Alexandru Agache <alexandruag@gmail.com> |
||
---|---|---|
.. | ||
programs | ||
Anchor.toml | ||
Cargo.lock | ||
Cargo.toml | ||
README.md | ||
package.json | ||
tsconfig.json | ||
yarn.lock |
README.md
Account Compression
This on-chain program provides an interface for composing smart-contracts to create and use SPL ConcurrentMerkleTrees. The primary application of using SPL ConcurrentMerkleTrees is to make edits to off-chain data with on-chain verification.
Using this program requires an indexer to parse transaction information and write relevant information to an off-chain database.
SDK
The typescript SDK for this contract will be generated using Metaplex Foundation's Solita.
Testing
Testing contracts locally requires the SDK to be built. Then you can run: anchor test
Testing contracts against indexer + api: anchor test --skip-build --skip-local-validator --skip-deploy
and limit the test script to only the continuous test.