Skip to content

Commit 812c633

Browse files
authored
Merge pull request #517 from multiversx/governance
Governance integration
2 parents 66d8bde + 9cd7da8 commit 812c633

11 files changed

Lines changed: 3882 additions & 60 deletions

CLI.md

Lines changed: 2858 additions & 1 deletion
Large diffs are not rendered by default.

CLI.md.sh

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,59 @@ generate() {
130130

131131
group "Faucet" "faucet"
132132
command "Faucet.Request" "faucet request"
133+
134+
group "Multisig" "multisig"
135+
command "Multisig.Deploy" "multisig deploy"
136+
command "Multisig.Deposit" "multisig deposit"
137+
command "Multisig.DiscardAction" "multisig discard-action"
138+
command "Multisig.DiscardBatch" "multisig discard-batch"
139+
command "Multisig.AddBoardMember" "multisig add-board-member"
140+
command "Multisig.AddProposer" "multisig add-proposer"
141+
command "Multisig.RemoveUser" "multisig remove-user"
142+
command "Multisig.ChangeQuorum" "multisig change-quorum"
143+
command "Multisig.TransferAndExecute" "multisig transfer-and-execute"
144+
command "Multisig.TransferAndExecuteEsdt" "multisig transfer-and-execute-esdt"
145+
command "Multisig.AsyncCall" "multisig async-call"
146+
command "Multisig.DeployFromSource" "multisig deploy-from-source"
147+
command "Multisig.UpgradeFromSource" "multisig upgrade-from-source"
148+
command "Multisig.SignAction" "multisig sign-action"
149+
command "Multisig.SignBatch" "multisig sign-batch"
150+
command "Multisig.SignAndPerform" "multisig sign-and-perform"
151+
command "Multisig.SignBatchAndPerform" "multisig sign-batch-and-perform"
152+
command "Multisig.UnsignAction" "multisig unsign-action"
153+
command "Multisig.UnsignBatch" "multisig unsign-batch"
154+
command "Multisig.UnsignForOutdatedMembers" "multisig unsign-for-outdated-members"
155+
command "Multisig.PerformAction" "multisig perform-action"
156+
command "Multisig.PerformBatch" "multisig perform-batch"
157+
command "Multisig.GetQuorum" "multisig get-quorum"
158+
command "Multisig.GetNumBoardMembers" "multisig get-num-board-members"
159+
command "Multisig.GetNumGroups" "multisig get-num-groups"
160+
command "Multisig.GetNumProposers" "multisig get-num-proposers"
161+
command "Multisig.GetActionGroup" "multisig get-action-group"
162+
command "Multisig.GetLastActionGroupId" "multisig get-last-action-group-id"
163+
command "Multisig.GetLastActionLastIndex" "multisig get-action-last-index"
164+
command "Multisig.IsSignedBy" "multisig is-signed-by"
165+
command "Multisig.IsQuorumReached" "multisig is-quorum-reached"
166+
command "Multisig.GetPendingActions" "multisig get-pending-actions"
167+
command "Multisig.GetUserRole" "multisig get-user-role"
168+
command "Multisig.GetBoardMemebers" "multisig get-board-members"
169+
command "Multisig.GetProposers" "multisig get-proposers"
170+
command "Multisig.GetActionData" "multisig get-action-data"
171+
command "Multisig.GetActionSigners" "multisig get-action-signers"
172+
command "Multisig.GetActionSignersCount" "multisig get-action-signers-count"
173+
command "Multisig.GetActionValidSignersCount" "multisig get-action-valid-signers-count"
174+
command "Multisig.ParseProposeAction" "multisig parse-propose-action"
175+
176+
group "Governance" "governance"
177+
command "Governance.Propose" "governance propose"
178+
command "Governance.Vote" "governance vote"
179+
command "Governance.CloseProposal" "governance close-proposal"
180+
command "Governance.ClearEndedProposals" "governance clear-ended-proposals"
181+
command "Governance.ClaimAccumulatedFees" "governance claim-accumulated-fees"
182+
command "Governance.ChangeConfig" "governance change-config"
183+
command "Governance.GetVotingPower" "governance get-voting-power"
184+
command "Governance.GetConfig" "governance get-config"
185+
command "Governance.GetDelegatedVoteInfo" "governance get-delegated-vote-info"
133186
}
134187

135188
generate

multiversx_sdk_cli/base_transactions_controller.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
)
2424
from multiversx_sdk_cli.cosign_transaction import cosign_transaction
2525
from multiversx_sdk_cli.errors import BadUserInput
26+
from multiversx_sdk_cli.guardian_relayer_data import GuardianRelayerData
2627
from multiversx_sdk_cli.interfaces import IAccount
2728

2829
logger = logging.getLogger("base_controller")
@@ -144,3 +145,19 @@ def ensure_even_length(self, string: str) -> str:
144145
if len(string) % 2 == 1:
145146
return "0" + string
146147
return string
148+
149+
def _set_transaction_fields(
150+
self,
151+
transaction: Transaction,
152+
nonce: int,
153+
version: int,
154+
options: int,
155+
gas_price: int,
156+
guardian_and_relayer_data: GuardianRelayerData,
157+
):
158+
transaction.nonce = nonce
159+
transaction.version = version
160+
transaction.options = options
161+
transaction.gas_price = gas_price
162+
transaction.guardian = guardian_and_relayer_data.guardian_address
163+
transaction.relayer = guardian_and_relayer_data.relayer_address

multiversx_sdk_cli/cli.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import multiversx_sdk_cli.cli_deps
1717
import multiversx_sdk_cli.cli_dns
1818
import multiversx_sdk_cli.cli_faucet
19+
import multiversx_sdk_cli.cli_governance
1920
import multiversx_sdk_cli.cli_ledger
2021
import multiversx_sdk_cli.cli_localnet
2122
import multiversx_sdk_cli.cli_multisig
@@ -124,6 +125,7 @@ def setup_parser(args: list[str]):
124125
commands.append(multiversx_sdk_cli.cli_dns.setup_parser(args, subparsers))
125126
commands.append(multiversx_sdk_cli.cli_faucet.setup_parser(args, subparsers))
126127
commands.append(multiversx_sdk_cli.cli_multisig.setup_parser(args, subparsers))
128+
commands.append(multiversx_sdk_cli.cli_governance.setup_parser(args, subparsers))
127129

128130
parser.epilog = """
129131
----------------------

multiversx_sdk_cli/cli_contracts.py

Lines changed: 3 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -59,17 +59,7 @@ def setup_parser(args: list[str], subparsers: Any) -> Any:
5959
cli_shared.add_proxy_arg(sub)
6060
cli_shared.add_tx_args(args, sub, with_receiver=False, with_data=False)
6161
_add_arguments_arg(sub)
62-
sub.add_argument(
63-
"--wait-result",
64-
action="store_true",
65-
default=False,
66-
help="signal to wait for the transaction result - only valid if --send is set",
67-
)
68-
sub.add_argument(
69-
"--timeout",
70-
default=100,
71-
help="max num of seconds to wait for result" " - only valid if --wait-result is set",
72-
)
62+
cli_shared.add_wait_result_and_timeout_args(sub)
7363
cli_shared.add_broadcast_args(sub)
7464
cli_shared.add_guardian_wallet_args(args, sub)
7565
cli_shared.add_relayed_v3_wallet_args(args, sub)
@@ -91,17 +81,7 @@ def setup_parser(args: list[str], subparsers: Any) -> Any:
9181
_add_function_arg(sub)
9282
_add_arguments_arg(sub)
9383
cli_shared.add_token_transfers_args(sub)
94-
sub.add_argument(
95-
"--wait-result",
96-
action="store_true",
97-
default=False,
98-
help="signal to wait for the transaction result - only valid if --send is set",
99-
)
100-
sub.add_argument(
101-
"--timeout",
102-
default=100,
103-
help="max num of seconds to wait for result" " - only valid if --wait-result is set",
104-
)
84+
cli_shared.add_wait_result_and_timeout_args(sub)
10585
cli_shared.add_broadcast_args(sub)
10686
cli_shared.add_guardian_wallet_args(args, sub)
10787
cli_shared.add_relayed_v3_wallet_args(args, sub)
@@ -123,17 +103,7 @@ def setup_parser(args: list[str], subparsers: Any) -> Any:
123103
cli_shared.add_proxy_arg(sub)
124104
cli_shared.add_tx_args(args, sub, with_receiver=False, with_data=False)
125105
_add_arguments_arg(sub)
126-
sub.add_argument(
127-
"--wait-result",
128-
action="store_true",
129-
default=False,
130-
help="signal to wait for the transaction result - only valid if --send is set",
131-
)
132-
sub.add_argument(
133-
"--timeout",
134-
default=100,
135-
help="max num of seconds to wait for result" " - only valid if --wait-result is set",
136-
)
106+
cli_shared.add_wait_result_and_timeout_args(sub)
137107
cli_shared.add_broadcast_args(sub)
138108
cli_shared.add_guardian_wallet_args(args, sub)
139109
cli_shared.add_relayed_v3_wallet_args(args, sub)

0 commit comments

Comments
 (0)