| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
parent directory.. | ||||
A pinocchio-based Memo program.
p-memo is a reimplementation of the SPL Memo program using pinocchio. The program uses at most ~4% of the compute units used by the current Memo program when signers are present; even when there are no signers, it needs only ~14% of the current Memo program compute units. This efficiency is achieved by a combination of:
Since it uses the syscall to log pubkeys, the output of the program is slightly different while loging the same information:
1: Program Memo4c2pN8afCj432Lb7RMVKi9PbQnnW7ewFFaV3oAH invoke [1] 2: Program log: Signed by: 3: Program log: 1111111QLbz7JHiBTspS962RLKV8GndWFwiEaqKM 4: Program log: Memo (len 60): 5: Program log: why does spl memo use 36000 cus to print len 60 msg of ascii 6: Program Memo4c2pN8afCj432Lb7RMVKi9PbQnnW7ewFFaV3oAH consumed 537 of 1400000 compute units 7: Program Memo4c2pN8afCj432Lb7RMVKi9PbQnnW7ewFFaV3oAH success
Logging begins with entry into the program (line 1). Then there is a separate log to start the signers section (line 2); this is only present if there are signer accounts. After that there will be one line for each signer account (line 3), followed by the memo length and UTF-8 text (line 4-5). The program ends with the status of the instruction (lines 6-7).
CU comsumption:
| # signers | p-memo | SPL Memo |
|---|---|---|
| 0 | 287 (14%) | 2,022 |
| 1 | 513 (4%) | 13,525 |
| 2 | 628 (3%) | 25,111 |
| 3 | 743 (2%) | 36,406 |
Note
Using platform tools v1.54.
To build the program from its directory:
cargo build-sbf --tools-version v1.54To run the tests (after building the program):
SBF_OUT_DIR=../target/deploy cargo testThe code is licensed under the Apache License Version 2.0
| Back | FazBrowse Home | New Git URL |