This issue proposes adding a command to submit a commit-proposed-batch-proposal directly using evidence in hex format, eliminating the need to manually calculate the payload.
Once a custom function for committing to the proposed batch of the SNS asset canister is registered, candid data needs to be passed into the ExecuteGenericNervousSystemFunction payload as a blob. However, handling this in bash is quite tricky.
Currently, users receive evidence in hex format via --by-proposal, but the asset canister's commit_proposed_batch method requires the evidence in blob format. It then needs to be converted back into blob format again before passing it into the payload. This process is overly complex and prone to errors.
Outline
This issue proposes adding a command to submit a commit-proposed-batch-proposal directly using evidence in hex format, eliminating the need to manually calculate the payload.
Once a custom function for committing to the proposed batch of the SNS asset canister is registered, candid data needs to be passed into the ExecuteGenericNervousSystemFunction payload as a blob. However, handling this in bash is quite tricky.
Currently, users receive evidence in hex format via --by-proposal, but the asset canister's commit_proposed_batch method requires the evidence in blob format. It then needs to be converted back into blob format again before passing it into the payload. This process is overly complex and prone to errors.
I added the command in my fork at this branch
What else do I need to do to submit a PR?
Test Flow
Setup Repositry
Clone repositries
Run Local SNS
Move to sns-testing repositry.
Open another terminal tab and run basic scenario of sns-tesgint repo with following https://github.com/dfinity/sns-testing?tab=readme-ov-file#special-instructions-for-apple-silicon-users.
Set sns governance canister.
Deploy Asset Canister and Grant Permission
Deploy asset canister and set permisson and make update proposal.
Register Commit Function
Create a file to register custom function as
register_commit_func.sh
insns-testing
.Register new GenericNervousSystemFunction that commit proposed batch of asset canister.
Build Quill
Build
quill
with the new command added and copy it insns-testing/bin/
Test new command
Crate a file to test the commit_proposed_batch_command as
test_commit_command.sh
insns-testing
.Test the new command.