feat: consensus chain scripts#1319
Open
Sean329 wants to merge 16 commits into
Open
Conversation
…tisig operations Add new commands to core.ts for consensus chain native module operations: - Nexus: activate-chain, deactivate-chain, set-transfer-rate-limit, register-asset-fee - Permission: register-controller, deregister-controller - EVM: set-gateway, transfer-operatorship - Multisig: start-keygen, rotate-key All operations are submitted via governance proposals. ROLE_ACCESS_CONTROL operations require multisig approval, while ROLE_CHAIN_MANAGEMENT operations can be executed by EOA.
- Fix sender field encoding to use addressToBytes for direct execution - Add duration parsing for set-transfer-rate-limit window parameter - Add limit parsing with optional denom for set-transfer-rate-limit - Export addressToBytes from utils.js - Update CLI descriptions for better parameter format guidance
- Replace require() with ES imports for addressToBytes, getProtoType, getNexusProtoType - Add proper TypeScript interfaces (ProtoMessage, ProtoType) to replace 'any' types - Use eslint-disable comment for ProtoType as protobufjs types are complex
- Add getDefaultFee() to create proper fee object with correct denom - Add isValidFeeObject() type guard to check if fee is StdFee object - When fee is 'auto' string or undefined, use default fee object - Use getUnitDenom() to get correct denom for environment (uaxl vs uamplifier)
- Add --multisig-address option for specifying the multisig account - ROLE_ACCESS_CONTROL with --direct now requires --multisig-address - Use multisig address as sender in messages (not EOA) - Use multisig account's accountNumber and sequence for unsigned tx - Improve help output with actual file path and multisig address in commands - ROLE_CHAIN_MANAGEMENT operations continue to use EOA directly
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
why
how
Note
Introduces direct execution and multisig support for core Axelar operations, plus new message encoders and CLI commands.
signAndBroadcastRawMessages) and multisig flow (generateMultisigTx) with--direct,--multisig-address, and--outputoptions incli-utilsandcore.tsproto/*.protoandutils.jsforActivate/DeactivateChain,SetTransferRateLimit,RegisterAssetFee,Register/DeregisterController,SetGateway,CreateTransferOperatorship,StartKeygen,RotateKeycore.ts) with commands:activate-chain,deactivate-chain,set-transfer-rate-limit,register-asset-fee,register-controller,deregister-controller,set-gateway,transfer-operatorship,start-keygen,rotate-key; route via governance or direct depending on role (ROLE_ACCESS_CONTROLvsROLE_CHAIN_MANAGEMENT)getProtoType;processornow exposeswalletfor direct signingWritten by Cursor Bugbot for commit 8fc74c5. This will update automatically on new commits. Configure here.