@dfinity/sns 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/governance.canister.ts", "../../candid/sns_governance.certified.idl.js", "../../candid/sns_governance.idl.js", "../../src/converters/governance.converters.ts", "../../src/errors/governance.errors.ts"],
4
- "sourcesContent": ["import type { Principal } from \"@dfinity/principal\";\nimport { createServices, fromNullable, toNullable } from \"@dfinity/utils\";\nimport type {\n GetMetadataResponse,\n ManageNeuron,\n ManageNeuronResponse,\n Neuron,\n NeuronId,\n _SERVICE as SnsGovernanceService,\n} from \"../candid/sns_governance\";\nimport { idlFactory as certifiedIdlFactory } from \"../candid/sns_governance.certified.idl\";\nimport { idlFactory } from \"../candid/sns_governance.idl\";\nimport { MAX_LIST_NEURONS_RESULTS } from \"./constants/governance.constants\";\nimport {\n toAddPermissionsRequest,\n toRemovePermissionsRequest,\n} from \"./converters/governance.converters\";\nimport { SnsGovernanceError } from \"./errors/governance.errors\";\nimport { Canister } from \"./services/canister\";\nimport type { SnsCanisterOptions } from \"./types/canister.options\";\nimport type {\n SnsGetNeuronParams,\n SnsListNeuronsParams,\n SnsNeuronPermissionsParams,\n} from \"./types/governance.params\";\nimport type { QueryParams } from \"./types/query.params\";\n\nexport class SnsGovernanceCanister extends Canister<SnsGovernanceService> {\n /**\n * Instantiate a canister to interact with the governance of a Sns project.\n *\n * @param {SnsCanisterOptions} options Miscellaneous options to initialize the canister. Its ID being the only mandatory parammeter.\n */\n static create(options: SnsCanisterOptions<SnsGovernanceService>) {\n const { service, certifiedService, canisterId } =\n createServices<SnsGovernanceService>({\n options,\n idlFactory,\n certifiedIdlFactory,\n });\n\n return new SnsGovernanceCanister(canisterId, service, certifiedService);\n }\n\n /**\n * List the neurons of the Sns\n */\n listNeurons = async (params: SnsListNeuronsParams): Promise<Neuron[]> => {\n const { principal, limit, beforeNeuronId } = params;\n\n const { neurons } = await this.caller(params).list_neurons({\n of_principal: toNullable<Principal>(principal),\n limit: limit ?? MAX_LIST_NEURONS_RESULTS,\n start_page_at: toNullable<NeuronId>(beforeNeuronId),\n });\n return neurons;\n };\n\n /**\n * Get the Sns metadata (title, description, etc.)\n */\n metadata = (params: QueryParams): Promise<GetMetadataResponse> =>\n this.caller(params).get_metadata({});\n\n /**\n * Get the neuron of the Sns\n */\n getNeuron = async (\n params: SnsGetNeuronParams & QueryParams\n ): Promise<Neuron> => {\n const { neuronId } = params;\n\n const { result } = await this.caller(params).get_neuron({\n neuron_id: toNullable(neuronId),\n });\n const data = fromNullable(result);\n if (data === undefined || \"Error\" in data) {\n throw new SnsGovernanceError(\n data?.Error.error_message ?? \"Response type not supported\"\n );\n }\n return data.Neuron;\n };\n\n /**\n * Manage neuron. For advanced users.\n */\n manageNeuron = async (\n request: ManageNeuron\n ): Promise<ManageNeuronResponse> => {\n const response = await this.caller({ certified: true }).manage_neuron(\n request\n );\n this.assertManageNeuronError(response);\n return response;\n };\n\n /**\n * Add permissions to a neuron for a specific principal\n */\n addNeuronPermissions = async (\n params: SnsNeuronPermissionsParams\n ): Promise<void> => {\n const request: ManageNeuron = toAddPermissionsRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Remove permissions to a neuron for a specific principal\n */\n removeNeuronPermissions = async (\n params: SnsNeuronPermissionsParams\n ): Promise<void> => {\n const request: ManageNeuron = toRemovePermissionsRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n *\n * @param response ManageNeuronResponse\n * @throws SnsGovernanceError\n */\n private assertManageNeuronError = ({\n command,\n }: ManageNeuronResponse): void => {\n // TODO: use upcoming fromDefinedNullable\n const firstCommand = command[0];\n if (firstCommand !== undefined && \"Error\" in firstCommand) {\n throw new SnsGovernanceError(firstCommand.Error.error_message);\n }\n };\n}\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_governance.did */\nexport const idlFactory = ({ IDL }) => {\n const GenericNervousSystemFunction = IDL.Record({\n 'validator_canister_id' : IDL.Opt(IDL.Principal),\n 'target_canister_id' : IDL.Opt(IDL.Principal),\n 'validator_method_name' : IDL.Opt(IDL.Text),\n 'target_method_name' : IDL.Opt(IDL.Text),\n });\n const FunctionType = IDL.Variant({\n 'NativeNervousSystemFunction' : IDL.Record({}),\n 'GenericNervousSystemFunction' : GenericNervousSystemFunction,\n });\n const NervousSystemFunction = IDL.Record({\n 'id' : IDL.Nat64,\n 'name' : IDL.Text,\n 'description' : IDL.Opt(IDL.Text),\n 'function_type' : IDL.Opt(FunctionType),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const NeuronId = IDL.Record({ 'id' : IDL.Vec(IDL.Nat8) });\n const Followees = IDL.Record({ 'followees' : IDL.Vec(NeuronId) });\n const DefaultFollowees = IDL.Record({\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n });\n const NeuronPermissionList = IDL.Record({\n 'permissions' : IDL.Vec(IDL.Int32),\n });\n const VotingRewardsParameters = IDL.Record({\n 'start_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'final_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'initial_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'reward_rate_transition_duration_seconds' : IDL.Opt(IDL.Nat64),\n 'round_duration_seconds' : IDL.Opt(IDL.Nat64),\n });\n const NervousSystemParameters = IDL.Record({\n 'default_followees' : IDL.Opt(DefaultFollowees),\n 'max_dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'neuron_claimer_permissions' : IDL.Opt(NeuronPermissionList),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'max_neuron_age_for_age_bonus' : IDL.Opt(IDL.Nat64),\n 'initial_voting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_dissolve_delay_to_vote_seconds' : IDL.Opt(IDL.Nat64),\n 'reject_cost_e8s' : IDL.Opt(IDL.Nat64),\n 'max_proposals_to_keep_per_action' : IDL.Opt(IDL.Nat32),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Opt(IDL.Nat64),\n 'max_number_of_neurons' : IDL.Opt(IDL.Nat64),\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'max_number_of_proposals_with_ballots' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'voting_rewards_parameters' : IDL.Opt(VotingRewardsParameters),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const Version = IDL.Record({\n 'archive_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'root_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'swap_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'ledger_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'governance_wasm_hash' : IDL.Vec(IDL.Nat8),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const RewardEvent = IDL.Record({\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'round' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const UpgradeInProgress = IDL.Record({\n 'mark_failed_at_seconds' : IDL.Nat64,\n 'checking_upgrade_lock' : IDL.Nat64,\n 'proposal_id' : IDL.Nat64,\n 'target_version' : IDL.Opt(Version),\n });\n const GovernanceError = IDL.Record({\n 'error_message' : IDL.Text,\n 'error_type' : IDL.Int32,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Tally = IDL.Record({\n 'no' : IDL.Nat64,\n 'yes' : IDL.Nat64,\n 'total' : IDL.Nat64,\n 'timestamp_seconds' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const ManageSnsMetadata = IDL.Record({\n 'url' : IDL.Opt(IDL.Text),\n 'logo' : IDL.Opt(IDL.Text),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n });\n const ExecuteGenericNervousSystemFunction = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'payload' : IDL.Vec(IDL.Nat8),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'UpgradeSnsToNextVersion' : IDL.Record({}),\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'Unspecified' : IDL.Record({}),\n 'ManageSnsMetadata' : ManageSnsMetadata,\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'Motion' : Motion,\n });\n const Proposal = IDL.Record({\n 'url' : IDL.Text,\n 'title' : IDL.Text,\n 'action' : IDL.Opt(Action),\n 'summary' : IDL.Text,\n });\n const WaitForQuietState = IDL.Record({\n 'current_deadline_timestamp_seconds' : IDL.Nat64,\n });\n const ProposalData = IDL.Record({\n 'id' : IDL.Opt(ProposalId),\n 'payload_text_rendering' : IDL.Opt(IDL.Text),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'proposal_creation_timestamp_seconds' : IDL.Nat64,\n 'initial_voting_period_seconds' : IDL.Nat64,\n 'reject_cost_e8s' : IDL.Nat64,\n 'latest_tally' : IDL.Opt(Tally),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Nat64,\n 'decided_timestamp_seconds' : IDL.Nat64,\n 'proposal' : IDL.Opt(Proposal),\n 'proposer' : IDL.Opt(NeuronId),\n 'wait_for_quiet_state' : IDL.Opt(WaitForQuietState),\n 'is_eligible_for_rewards' : IDL.Bool,\n 'executed_timestamp_seconds' : IDL.Nat64,\n });\n const Split = IDL.Record({ 'memo' : IDL.Nat64, 'amount_e8s' : IDL.Nat64 });\n const Follow = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'followees' : IDL.Vec(NeuronId),\n });\n const Subaccount = IDL.Record({ 'subaccount' : IDL.Vec(IDL.Nat8) });\n const Account = IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(Subaccount),\n });\n const DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const IncreaseDissolveDelay = IDL.Record({\n 'additional_dissolve_delay_seconds' : IDL.Nat32,\n });\n const SetDissolveTimestamp = IDL.Record({\n 'dissolve_timestamp_seconds' : IDL.Nat64,\n });\n const Operation = IDL.Variant({\n 'StopDissolving' : IDL.Record({}),\n 'StartDissolving' : IDL.Record({}),\n 'IncreaseDissolveDelay' : IncreaseDissolveDelay,\n 'SetDissolveTimestamp' : SetDissolveTimestamp,\n });\n const Configure = IDL.Record({ 'operation' : IDL.Opt(Operation) });\n const RegisterVote = IDL.Record({\n 'vote' : IDL.Int32,\n 'proposal' : IDL.Opt(ProposalId),\n });\n const MemoAndController = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'memo' : IDL.Nat64,\n });\n const By = IDL.Variant({\n 'MemoAndController' : MemoAndController,\n 'NeuronId' : IDL.Record({}),\n });\n const ClaimOrRefresh = IDL.Record({ 'by' : IDL.Opt(By) });\n const RemoveNeuronPermissions = IDL.Record({\n 'permissions_to_remove' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const AddNeuronPermissions = IDL.Record({\n 'permissions_to_add' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const MergeMaturity = IDL.Record({ 'percentage_to_merge' : IDL.Nat32 });\n const Amount = IDL.Record({ 'e8s' : IDL.Nat64 });\n const Disburse = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'amount' : IDL.Opt(Amount),\n });\n const Command_2 = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'ClaimOrRefreshNeuron' : ClaimOrRefresh,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const NeuronInFlightCommand = IDL.Record({\n 'command' : IDL.Opt(Command_2),\n 'timestamp' : IDL.Nat64,\n });\n const NeuronPermission = IDL.Record({\n 'principal' : IDL.Opt(IDL.Principal),\n 'permission_type' : IDL.Vec(IDL.Int32),\n });\n const DissolveState = IDL.Variant({\n 'DissolveDelaySeconds' : IDL.Nat64,\n 'WhenDissolvedTimestampSeconds' : IDL.Nat64,\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'permissions' : IDL.Vec(NeuronPermission),\n 'maturity_e8s_equivalent' : IDL.Nat64,\n 'cached_neuron_stake_e8s' : IDL.Nat64,\n 'created_timestamp_seconds' : IDL.Nat64,\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'voting_power_percentage_multiplier' : IDL.Nat64,\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n 'neuron_fees_e8s' : IDL.Nat64,\n });\n const Governance = IDL.Record({\n 'root_canister_id' : IDL.Opt(IDL.Principal),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'deployed_version' : IDL.Opt(Version),\n 'sns_initialization_parameters' : IDL.Text,\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'pending_version' : IDL.Opt(UpgradeInProgress),\n 'swap_canister_id' : IDL.Opt(IDL.Principal),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'proposals' : IDL.Vec(IDL.Tuple(IDL.Nat64, ProposalData)),\n 'in_flight_commands' : IDL.Vec(IDL.Tuple(IDL.Text, NeuronInFlightCommand)),\n 'sns_metadata' : IDL.Opt(ManageSnsMetadata),\n 'neurons' : IDL.Vec(IDL.Tuple(IDL.Text, Neuron)),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n const GetMetadataResponse = IDL.Record({\n 'url' : IDL.Opt(IDL.Text),\n 'logo' : IDL.Opt(IDL.Text),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n });\n const GetNeuron = IDL.Record({ 'neuron_id' : IDL.Opt(NeuronId) });\n const Result = IDL.Variant({ 'Error' : GovernanceError, 'Neuron' : Neuron });\n const GetNeuronResponse = IDL.Record({ 'result' : IDL.Opt(Result) });\n const GetProposal = IDL.Record({ 'proposal_id' : IDL.Opt(ProposalId) });\n const Result_1 = IDL.Variant({\n 'Error' : GovernanceError,\n 'Proposal' : ProposalData,\n });\n const GetProposalResponse = IDL.Record({ 'result' : IDL.Opt(Result_1) });\n const CanisterStatusType = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const DefiniteCanisterSettingsArgs = IDL.Record({\n 'controller' : IDL.Principal,\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const CanisterStatusResultV2 = IDL.Record({\n 'controller' : IDL.Principal,\n 'status' : CanisterStatusType,\n 'freezing_threshold' : IDL.Nat,\n 'balance' : IDL.Vec(IDL.Tuple(IDL.Vec(IDL.Nat8), IDL.Nat)),\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettingsArgs,\n 'idle_cycles_burned_per_day' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const GetRunningSnsVersionResponse = IDL.Record({\n 'deployed_version' : IDL.Opt(Version),\n 'pending_version' : IDL.Opt(UpgradeInProgress),\n });\n const GetSnsInitializationParametersResponse = IDL.Record({\n 'sns_initialization_parameters' : IDL.Text,\n });\n const ListNervousSystemFunctionsResponse = IDL.Record({\n 'reserved_ids' : IDL.Vec(IDL.Nat64),\n 'functions' : IDL.Vec(NervousSystemFunction),\n });\n const ListNeurons = IDL.Record({\n 'of_principal' : IDL.Opt(IDL.Principal),\n 'limit' : IDL.Nat32,\n 'start_page_at' : IDL.Opt(NeuronId),\n });\n const ListNeuronsResponse = IDL.Record({ 'neurons' : IDL.Vec(Neuron) });\n const ListProposals = IDL.Record({\n 'include_reward_status' : IDL.Vec(IDL.Int32),\n 'before_proposal' : IDL.Opt(ProposalId),\n 'limit' : IDL.Nat32,\n 'exclude_type' : IDL.Vec(IDL.Nat64),\n 'include_status' : IDL.Vec(IDL.Int32),\n });\n const ListProposalsResponse = IDL.Record({\n 'proposals' : IDL.Vec(ProposalData),\n });\n const Command = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'ClaimOrRefresh' : ClaimOrRefresh,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const ManageNeuron = IDL.Record({\n 'subaccount' : IDL.Vec(IDL.Nat8),\n 'command' : IDL.Opt(Command),\n });\n const SplitResponse = IDL.Record({ 'created_neuron_id' : IDL.Opt(NeuronId) });\n const DisburseMaturityResponse = IDL.Record({\n 'transfer_block_height' : IDL.Nat64,\n 'amount_disbursed_e8s' : IDL.Nat64,\n });\n const ClaimOrRefreshResponse = IDL.Record({\n 'refreshed_neuron_id' : IDL.Opt(NeuronId),\n });\n const MergeMaturityResponse = IDL.Record({\n 'merged_maturity_e8s' : IDL.Nat64,\n 'new_stake_e8s' : IDL.Nat64,\n });\n const DisburseResponse = IDL.Record({ 'transfer_block_height' : IDL.Nat64 });\n const Command_1 = IDL.Variant({\n 'Error' : GovernanceError,\n 'Split' : SplitResponse,\n 'Follow' : IDL.Record({}),\n 'DisburseMaturity' : DisburseMaturityResponse,\n 'ClaimOrRefresh' : ClaimOrRefreshResponse,\n 'Configure' : IDL.Record({}),\n 'RegisterVote' : IDL.Record({}),\n 'MakeProposal' : GetProposal,\n 'RemoveNeuronPermission' : IDL.Record({}),\n 'MergeMaturity' : MergeMaturityResponse,\n 'Disburse' : DisburseResponse,\n 'AddNeuronPermission' : IDL.Record({}),\n });\n const ManageNeuronResponse = IDL.Record({ 'command' : IDL.Opt(Command_1) });\n const SetMode = IDL.Record({ 'mode' : IDL.Int32 });\n return IDL.Service({\n 'get_build_metadata' : IDL.Func([], [IDL.Text], []),\n 'get_metadata' : IDL.Func([IDL.Record({})], [GetMetadataResponse], []),\n 'get_nervous_system_parameters' : IDL.Func(\n [IDL.Null],\n [NervousSystemParameters],\n [],\n ),\n 'get_neuron' : IDL.Func([GetNeuron], [GetNeuronResponse], []),\n 'get_proposal' : IDL.Func([GetProposal], [GetProposalResponse], []),\n 'get_root_canister_status' : IDL.Func(\n [IDL.Null],\n [CanisterStatusResultV2],\n [],\n ),\n 'get_running_sns_version' : IDL.Func(\n [IDL.Record({})],\n [GetRunningSnsVersionResponse],\n [],\n ),\n 'get_sns_initialization_parameters' : IDL.Func(\n [IDL.Record({})],\n [GetSnsInitializationParametersResponse],\n [],\n ),\n 'list_nervous_system_functions' : IDL.Func(\n [],\n [ListNervousSystemFunctionsResponse],\n [],\n ),\n 'list_neurons' : IDL.Func([ListNeurons], [ListNeuronsResponse], []),\n 'list_proposals' : IDL.Func([ListProposals], [ListProposalsResponse], []),\n 'manage_neuron' : IDL.Func([ManageNeuron], [ManageNeuronResponse], []),\n 'set_mode' : IDL.Func([SetMode], [IDL.Record({})], []),\n });\n};\nexport const init = ({ IDL }) => {\n const GenericNervousSystemFunction = IDL.Record({\n 'validator_canister_id' : IDL.Opt(IDL.Principal),\n 'target_canister_id' : IDL.Opt(IDL.Principal),\n 'validator_method_name' : IDL.Opt(IDL.Text),\n 'target_method_name' : IDL.Opt(IDL.Text),\n });\n const FunctionType = IDL.Variant({\n 'NativeNervousSystemFunction' : IDL.Record({}),\n 'GenericNervousSystemFunction' : GenericNervousSystemFunction,\n });\n const NervousSystemFunction = IDL.Record({\n 'id' : IDL.Nat64,\n 'name' : IDL.Text,\n 'description' : IDL.Opt(IDL.Text),\n 'function_type' : IDL.Opt(FunctionType),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const NeuronId = IDL.Record({ 'id' : IDL.Vec(IDL.Nat8) });\n const Followees = IDL.Record({ 'followees' : IDL.Vec(NeuronId) });\n const DefaultFollowees = IDL.Record({\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n });\n const NeuronPermissionList = IDL.Record({\n 'permissions' : IDL.Vec(IDL.Int32),\n });\n const VotingRewardsParameters = IDL.Record({\n 'start_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'final_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'initial_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'reward_rate_transition_duration_seconds' : IDL.Opt(IDL.Nat64),\n 'round_duration_seconds' : IDL.Opt(IDL.Nat64),\n });\n const NervousSystemParameters = IDL.Record({\n 'default_followees' : IDL.Opt(DefaultFollowees),\n 'max_dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'neuron_claimer_permissions' : IDL.Opt(NeuronPermissionList),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'max_neuron_age_for_age_bonus' : IDL.Opt(IDL.Nat64),\n 'initial_voting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_dissolve_delay_to_vote_seconds' : IDL.Opt(IDL.Nat64),\n 'reject_cost_e8s' : IDL.Opt(IDL.Nat64),\n 'max_proposals_to_keep_per_action' : IDL.Opt(IDL.Nat32),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Opt(IDL.Nat64),\n 'max_number_of_neurons' : IDL.Opt(IDL.Nat64),\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'max_number_of_proposals_with_ballots' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'voting_rewards_parameters' : IDL.Opt(VotingRewardsParameters),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const Version = IDL.Record({\n 'archive_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'root_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'swap_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'ledger_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'governance_wasm_hash' : IDL.Vec(IDL.Nat8),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const RewardEvent = IDL.Record({\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'round' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const UpgradeInProgress = IDL.Record({\n 'mark_failed_at_seconds' : IDL.Nat64,\n 'checking_upgrade_lock' : IDL.Nat64,\n 'proposal_id' : IDL.Nat64,\n 'target_version' : IDL.Opt(Version),\n });\n const GovernanceError = IDL.Record({\n 'error_message' : IDL.Text,\n 'error_type' : IDL.Int32,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Tally = IDL.Record({\n 'no' : IDL.Nat64,\n 'yes' : IDL.Nat64,\n 'total' : IDL.Nat64,\n 'timestamp_seconds' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const ManageSnsMetadata = IDL.Record({\n 'url' : IDL.Opt(IDL.Text),\n 'logo' : IDL.Opt(IDL.Text),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n });\n const ExecuteGenericNervousSystemFunction = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'payload' : IDL.Vec(IDL.Nat8),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'UpgradeSnsToNextVersion' : IDL.Record({}),\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'Unspecified' : IDL.Record({}),\n 'ManageSnsMetadata' : ManageSnsMetadata,\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'Motion' : Motion,\n });\n const Proposal = IDL.Record({\n 'url' : IDL.Text,\n 'title' : IDL.Text,\n 'action' : IDL.Opt(Action),\n 'summary' : IDL.Text,\n });\n const WaitForQuietState = IDL.Record({\n 'current_deadline_timestamp_seconds' : IDL.Nat64,\n });\n const ProposalData = IDL.Record({\n 'id' : IDL.Opt(ProposalId),\n 'payload_text_rendering' : IDL.Opt(IDL.Text),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'proposal_creation_timestamp_seconds' : IDL.Nat64,\n 'initial_voting_period_seconds' : IDL.Nat64,\n 'reject_cost_e8s' : IDL.Nat64,\n 'latest_tally' : IDL.Opt(Tally),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Nat64,\n 'decided_timestamp_seconds' : IDL.Nat64,\n 'proposal' : IDL.Opt(Proposal),\n 'proposer' : IDL.Opt(NeuronId),\n 'wait_for_quiet_state' : IDL.Opt(WaitForQuietState),\n 'is_eligible_for_rewards' : IDL.Bool,\n 'executed_timestamp_seconds' : IDL.Nat64,\n });\n const Split = IDL.Record({ 'memo' : IDL.Nat64, 'amount_e8s' : IDL.Nat64 });\n const Follow = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'followees' : IDL.Vec(NeuronId),\n });\n const Subaccount = IDL.Record({ 'subaccount' : IDL.Vec(IDL.Nat8) });\n const Account = IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(Subaccount),\n });\n const DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const IncreaseDissolveDelay = IDL.Record({\n 'additional_dissolve_delay_seconds' : IDL.Nat32,\n });\n const SetDissolveTimestamp = IDL.Record({\n 'dissolve_timestamp_seconds' : IDL.Nat64,\n });\n const Operation = IDL.Variant({\n 'StopDissolving' : IDL.Record({}),\n 'StartDissolving' : IDL.Record({}),\n 'IncreaseDissolveDelay' : IncreaseDissolveDelay,\n 'SetDissolveTimestamp' : SetDissolveTimestamp,\n });\n const Configure = IDL.Record({ 'operation' : IDL.Opt(Operation) });\n const RegisterVote = IDL.Record({\n 'vote' : IDL.Int32,\n 'proposal' : IDL.Opt(ProposalId),\n });\n const MemoAndController = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'memo' : IDL.Nat64,\n });\n const By = IDL.Variant({\n 'MemoAndController' : MemoAndController,\n 'NeuronId' : IDL.Record({}),\n });\n const ClaimOrRefresh = IDL.Record({ 'by' : IDL.Opt(By) });\n const RemoveNeuronPermissions = IDL.Record({\n 'permissions_to_remove' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const AddNeuronPermissions = IDL.Record({\n 'permissions_to_add' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const MergeMaturity = IDL.Record({ 'percentage_to_merge' : IDL.Nat32 });\n const Amount = IDL.Record({ 'e8s' : IDL.Nat64 });\n const Disburse = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'amount' : IDL.Opt(Amount),\n });\n const Command_2 = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'ClaimOrRefreshNeuron' : ClaimOrRefresh,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const NeuronInFlightCommand = IDL.Record({\n 'command' : IDL.Opt(Command_2),\n 'timestamp' : IDL.Nat64,\n });\n const NeuronPermission = IDL.Record({\n 'principal' : IDL.Opt(IDL.Principal),\n 'permission_type' : IDL.Vec(IDL.Int32),\n });\n const DissolveState = IDL.Variant({\n 'DissolveDelaySeconds' : IDL.Nat64,\n 'WhenDissolvedTimestampSeconds' : IDL.Nat64,\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'permissions' : IDL.Vec(NeuronPermission),\n 'maturity_e8s_equivalent' : IDL.Nat64,\n 'cached_neuron_stake_e8s' : IDL.Nat64,\n 'created_timestamp_seconds' : IDL.Nat64,\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'voting_power_percentage_multiplier' : IDL.Nat64,\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n 'neuron_fees_e8s' : IDL.Nat64,\n });\n const Governance = IDL.Record({\n 'root_canister_id' : IDL.Opt(IDL.Principal),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'deployed_version' : IDL.Opt(Version),\n 'sns_initialization_parameters' : IDL.Text,\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'pending_version' : IDL.Opt(UpgradeInProgress),\n 'swap_canister_id' : IDL.Opt(IDL.Principal),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'proposals' : IDL.Vec(IDL.Tuple(IDL.Nat64, ProposalData)),\n 'in_flight_commands' : IDL.Vec(IDL.Tuple(IDL.Text, NeuronInFlightCommand)),\n 'sns_metadata' : IDL.Opt(ManageSnsMetadata),\n 'neurons' : IDL.Vec(IDL.Tuple(IDL.Text, Neuron)),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n return [Governance];\n};\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_governance.did */\nexport const idlFactory = ({ IDL }) => {\n const GenericNervousSystemFunction = IDL.Record({\n 'validator_canister_id' : IDL.Opt(IDL.Principal),\n 'target_canister_id' : IDL.Opt(IDL.Principal),\n 'validator_method_name' : IDL.Opt(IDL.Text),\n 'target_method_name' : IDL.Opt(IDL.Text),\n });\n const FunctionType = IDL.Variant({\n 'NativeNervousSystemFunction' : IDL.Record({}),\n 'GenericNervousSystemFunction' : GenericNervousSystemFunction,\n });\n const NervousSystemFunction = IDL.Record({\n 'id' : IDL.Nat64,\n 'name' : IDL.Text,\n 'description' : IDL.Opt(IDL.Text),\n 'function_type' : IDL.Opt(FunctionType),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const NeuronId = IDL.Record({ 'id' : IDL.Vec(IDL.Nat8) });\n const Followees = IDL.Record({ 'followees' : IDL.Vec(NeuronId) });\n const DefaultFollowees = IDL.Record({\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n });\n const NeuronPermissionList = IDL.Record({\n 'permissions' : IDL.Vec(IDL.Int32),\n });\n const VotingRewardsParameters = IDL.Record({\n 'start_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'final_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'initial_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'reward_rate_transition_duration_seconds' : IDL.Opt(IDL.Nat64),\n 'round_duration_seconds' : IDL.Opt(IDL.Nat64),\n });\n const NervousSystemParameters = IDL.Record({\n 'default_followees' : IDL.Opt(DefaultFollowees),\n 'max_dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'neuron_claimer_permissions' : IDL.Opt(NeuronPermissionList),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'max_neuron_age_for_age_bonus' : IDL.Opt(IDL.Nat64),\n 'initial_voting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_dissolve_delay_to_vote_seconds' : IDL.Opt(IDL.Nat64),\n 'reject_cost_e8s' : IDL.Opt(IDL.Nat64),\n 'max_proposals_to_keep_per_action' : IDL.Opt(IDL.Nat32),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Opt(IDL.Nat64),\n 'max_number_of_neurons' : IDL.Opt(IDL.Nat64),\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'max_number_of_proposals_with_ballots' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'voting_rewards_parameters' : IDL.Opt(VotingRewardsParameters),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const Version = IDL.Record({\n 'archive_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'root_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'swap_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'ledger_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'governance_wasm_hash' : IDL.Vec(IDL.Nat8),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const RewardEvent = IDL.Record({\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'round' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const UpgradeInProgress = IDL.Record({\n 'mark_failed_at_seconds' : IDL.Nat64,\n 'checking_upgrade_lock' : IDL.Nat64,\n 'proposal_id' : IDL.Nat64,\n 'target_version' : IDL.Opt(Version),\n });\n const GovernanceError = IDL.Record({\n 'error_message' : IDL.Text,\n 'error_type' : IDL.Int32,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Tally = IDL.Record({\n 'no' : IDL.Nat64,\n 'yes' : IDL.Nat64,\n 'total' : IDL.Nat64,\n 'timestamp_seconds' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const ManageSnsMetadata = IDL.Record({\n 'url' : IDL.Opt(IDL.Text),\n 'logo' : IDL.Opt(IDL.Text),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n });\n const ExecuteGenericNervousSystemFunction = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'payload' : IDL.Vec(IDL.Nat8),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'UpgradeSnsToNextVersion' : IDL.Record({}),\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'Unspecified' : IDL.Record({}),\n 'ManageSnsMetadata' : ManageSnsMetadata,\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'Motion' : Motion,\n });\n const Proposal = IDL.Record({\n 'url' : IDL.Text,\n 'title' : IDL.Text,\n 'action' : IDL.Opt(Action),\n 'summary' : IDL.Text,\n });\n const WaitForQuietState = IDL.Record({\n 'current_deadline_timestamp_seconds' : IDL.Nat64,\n });\n const ProposalData = IDL.Record({\n 'id' : IDL.Opt(ProposalId),\n 'payload_text_rendering' : IDL.Opt(IDL.Text),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'proposal_creation_timestamp_seconds' : IDL.Nat64,\n 'initial_voting_period_seconds' : IDL.Nat64,\n 'reject_cost_e8s' : IDL.Nat64,\n 'latest_tally' : IDL.Opt(Tally),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Nat64,\n 'decided_timestamp_seconds' : IDL.Nat64,\n 'proposal' : IDL.Opt(Proposal),\n 'proposer' : IDL.Opt(NeuronId),\n 'wait_for_quiet_state' : IDL.Opt(WaitForQuietState),\n 'is_eligible_for_rewards' : IDL.Bool,\n 'executed_timestamp_seconds' : IDL.Nat64,\n });\n const Split = IDL.Record({ 'memo' : IDL.Nat64, 'amount_e8s' : IDL.Nat64 });\n const Follow = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'followees' : IDL.Vec(NeuronId),\n });\n const Subaccount = IDL.Record({ 'subaccount' : IDL.Vec(IDL.Nat8) });\n const Account = IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(Subaccount),\n });\n const DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const IncreaseDissolveDelay = IDL.Record({\n 'additional_dissolve_delay_seconds' : IDL.Nat32,\n });\n const SetDissolveTimestamp = IDL.Record({\n 'dissolve_timestamp_seconds' : IDL.Nat64,\n });\n const Operation = IDL.Variant({\n 'StopDissolving' : IDL.Record({}),\n 'StartDissolving' : IDL.Record({}),\n 'IncreaseDissolveDelay' : IncreaseDissolveDelay,\n 'SetDissolveTimestamp' : SetDissolveTimestamp,\n });\n const Configure = IDL.Record({ 'operation' : IDL.Opt(Operation) });\n const RegisterVote = IDL.Record({\n 'vote' : IDL.Int32,\n 'proposal' : IDL.Opt(ProposalId),\n });\n const MemoAndController = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'memo' : IDL.Nat64,\n });\n const By = IDL.Variant({\n 'MemoAndController' : MemoAndController,\n 'NeuronId' : IDL.Record({}),\n });\n const ClaimOrRefresh = IDL.Record({ 'by' : IDL.Opt(By) });\n const RemoveNeuronPermissions = IDL.Record({\n 'permissions_to_remove' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const AddNeuronPermissions = IDL.Record({\n 'permissions_to_add' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const MergeMaturity = IDL.Record({ 'percentage_to_merge' : IDL.Nat32 });\n const Amount = IDL.Record({ 'e8s' : IDL.Nat64 });\n const Disburse = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'amount' : IDL.Opt(Amount),\n });\n const Command_2 = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'ClaimOrRefreshNeuron' : ClaimOrRefresh,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const NeuronInFlightCommand = IDL.Record({\n 'command' : IDL.Opt(Command_2),\n 'timestamp' : IDL.Nat64,\n });\n const NeuronPermission = IDL.Record({\n 'principal' : IDL.Opt(IDL.Principal),\n 'permission_type' : IDL.Vec(IDL.Int32),\n });\n const DissolveState = IDL.Variant({\n 'DissolveDelaySeconds' : IDL.Nat64,\n 'WhenDissolvedTimestampSeconds' : IDL.Nat64,\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'permissions' : IDL.Vec(NeuronPermission),\n 'maturity_e8s_equivalent' : IDL.Nat64,\n 'cached_neuron_stake_e8s' : IDL.Nat64,\n 'created_timestamp_seconds' : IDL.Nat64,\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'voting_power_percentage_multiplier' : IDL.Nat64,\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n 'neuron_fees_e8s' : IDL.Nat64,\n });\n const Governance = IDL.Record({\n 'root_canister_id' : IDL.Opt(IDL.Principal),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'deployed_version' : IDL.Opt(Version),\n 'sns_initialization_parameters' : IDL.Text,\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'pending_version' : IDL.Opt(UpgradeInProgress),\n 'swap_canister_id' : IDL.Opt(IDL.Principal),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'proposals' : IDL.Vec(IDL.Tuple(IDL.Nat64, ProposalData)),\n 'in_flight_commands' : IDL.Vec(IDL.Tuple(IDL.Text, NeuronInFlightCommand)),\n 'sns_metadata' : IDL.Opt(ManageSnsMetadata),\n 'neurons' : IDL.Vec(IDL.Tuple(IDL.Text, Neuron)),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n const GetMetadataResponse = IDL.Record({\n 'url' : IDL.Opt(IDL.Text),\n 'logo' : IDL.Opt(IDL.Text),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n });\n const GetNeuron = IDL.Record({ 'neuron_id' : IDL.Opt(NeuronId) });\n const Result = IDL.Variant({ 'Error' : GovernanceError, 'Neuron' : Neuron });\n const GetNeuronResponse = IDL.Record({ 'result' : IDL.Opt(Result) });\n const GetProposal = IDL.Record({ 'proposal_id' : IDL.Opt(ProposalId) });\n const Result_1 = IDL.Variant({\n 'Error' : GovernanceError,\n 'Proposal' : ProposalData,\n });\n const GetProposalResponse = IDL.Record({ 'result' : IDL.Opt(Result_1) });\n const CanisterStatusType = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const DefiniteCanisterSettingsArgs = IDL.Record({\n 'controller' : IDL.Principal,\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const CanisterStatusResultV2 = IDL.Record({\n 'controller' : IDL.Principal,\n 'status' : CanisterStatusType,\n 'freezing_threshold' : IDL.Nat,\n 'balance' : IDL.Vec(IDL.Tuple(IDL.Vec(IDL.Nat8), IDL.Nat)),\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettingsArgs,\n 'idle_cycles_burned_per_day' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const GetRunningSnsVersionResponse = IDL.Record({\n 'deployed_version' : IDL.Opt(Version),\n 'pending_version' : IDL.Opt(UpgradeInProgress),\n });\n const GetSnsInitializationParametersResponse = IDL.Record({\n 'sns_initialization_parameters' : IDL.Text,\n });\n const ListNervousSystemFunctionsResponse = IDL.Record({\n 'reserved_ids' : IDL.Vec(IDL.Nat64),\n 'functions' : IDL.Vec(NervousSystemFunction),\n });\n const ListNeurons = IDL.Record({\n 'of_principal' : IDL.Opt(IDL.Principal),\n 'limit' : IDL.Nat32,\n 'start_page_at' : IDL.Opt(NeuronId),\n });\n const ListNeuronsResponse = IDL.Record({ 'neurons' : IDL.Vec(Neuron) });\n const ListProposals = IDL.Record({\n 'include_reward_status' : IDL.Vec(IDL.Int32),\n 'before_proposal' : IDL.Opt(ProposalId),\n 'limit' : IDL.Nat32,\n 'exclude_type' : IDL.Vec(IDL.Nat64),\n 'include_status' : IDL.Vec(IDL.Int32),\n });\n const ListProposalsResponse = IDL.Record({\n 'proposals' : IDL.Vec(ProposalData),\n });\n const Command = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'ClaimOrRefresh' : ClaimOrRefresh,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const ManageNeuron = IDL.Record({\n 'subaccount' : IDL.Vec(IDL.Nat8),\n 'command' : IDL.Opt(Command),\n });\n const SplitResponse = IDL.Record({ 'created_neuron_id' : IDL.Opt(NeuronId) });\n const DisburseMaturityResponse = IDL.Record({\n 'transfer_block_height' : IDL.Nat64,\n 'amount_disbursed_e8s' : IDL.Nat64,\n });\n const ClaimOrRefreshResponse = IDL.Record({\n 'refreshed_neuron_id' : IDL.Opt(NeuronId),\n });\n const MergeMaturityResponse = IDL.Record({\n 'merged_maturity_e8s' : IDL.Nat64,\n 'new_stake_e8s' : IDL.Nat64,\n });\n const DisburseResponse = IDL.Record({ 'transfer_block_height' : IDL.Nat64 });\n const Command_1 = IDL.Variant({\n 'Error' : GovernanceError,\n 'Split' : SplitResponse,\n 'Follow' : IDL.Record({}),\n 'DisburseMaturity' : DisburseMaturityResponse,\n 'ClaimOrRefresh' : ClaimOrRefreshResponse,\n 'Configure' : IDL.Record({}),\n 'RegisterVote' : IDL.Record({}),\n 'MakeProposal' : GetProposal,\n 'RemoveNeuronPermission' : IDL.Record({}),\n 'MergeMaturity' : MergeMaturityResponse,\n 'Disburse' : DisburseResponse,\n 'AddNeuronPermission' : IDL.Record({}),\n });\n const ManageNeuronResponse = IDL.Record({ 'command' : IDL.Opt(Command_1) });\n const SetMode = IDL.Record({ 'mode' : IDL.Int32 });\n return IDL.Service({\n 'get_build_metadata' : IDL.Func([], [IDL.Text], ['query']),\n 'get_metadata' : IDL.Func(\n [IDL.Record({})],\n [GetMetadataResponse],\n ['query'],\n ),\n 'get_nervous_system_parameters' : IDL.Func(\n [IDL.Null],\n [NervousSystemParameters],\n ['query'],\n ),\n 'get_neuron' : IDL.Func([GetNeuron], [GetNeuronResponse], ['query']),\n 'get_proposal' : IDL.Func([GetProposal], [GetProposalResponse], ['query']),\n 'get_root_canister_status' : IDL.Func(\n [IDL.Null],\n [CanisterStatusResultV2],\n [],\n ),\n 'get_running_sns_version' : IDL.Func(\n [IDL.Record({})],\n [GetRunningSnsVersionResponse],\n ['query'],\n ),\n 'get_sns_initialization_parameters' : IDL.Func(\n [IDL.Record({})],\n [GetSnsInitializationParametersResponse],\n ['query'],\n ),\n 'list_nervous_system_functions' : IDL.Func(\n [],\n [ListNervousSystemFunctionsResponse],\n ['query'],\n ),\n 'list_neurons' : IDL.Func([ListNeurons], [ListNeuronsResponse], ['query']),\n 'list_proposals' : IDL.Func(\n [ListProposals],\n [ListProposalsResponse],\n ['query'],\n ),\n 'manage_neuron' : IDL.Func([ManageNeuron], [ManageNeuronResponse], []),\n 'set_mode' : IDL.Func([SetMode], [IDL.Record({})], []),\n });\n};\nexport const init = ({ IDL }) => {\n const GenericNervousSystemFunction = IDL.Record({\n 'validator_canister_id' : IDL.Opt(IDL.Principal),\n 'target_canister_id' : IDL.Opt(IDL.Principal),\n 'validator_method_name' : IDL.Opt(IDL.Text),\n 'target_method_name' : IDL.Opt(IDL.Text),\n });\n const FunctionType = IDL.Variant({\n 'NativeNervousSystemFunction' : IDL.Record({}),\n 'GenericNervousSystemFunction' : GenericNervousSystemFunction,\n });\n const NervousSystemFunction = IDL.Record({\n 'id' : IDL.Nat64,\n 'name' : IDL.Text,\n 'description' : IDL.Opt(IDL.Text),\n 'function_type' : IDL.Opt(FunctionType),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const NeuronId = IDL.Record({ 'id' : IDL.Vec(IDL.Nat8) });\n const Followees = IDL.Record({ 'followees' : IDL.Vec(NeuronId) });\n const DefaultFollowees = IDL.Record({\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n });\n const NeuronPermissionList = IDL.Record({\n 'permissions' : IDL.Vec(IDL.Int32),\n });\n const VotingRewardsParameters = IDL.Record({\n 'start_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'final_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'initial_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'reward_rate_transition_duration_seconds' : IDL.Opt(IDL.Nat64),\n 'round_duration_seconds' : IDL.Opt(IDL.Nat64),\n });\n const NervousSystemParameters = IDL.Record({\n 'default_followees' : IDL.Opt(DefaultFollowees),\n 'max_dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'neuron_claimer_permissions' : IDL.Opt(NeuronPermissionList),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'max_neuron_age_for_age_bonus' : IDL.Opt(IDL.Nat64),\n 'initial_voting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_dissolve_delay_to_vote_seconds' : IDL.Opt(IDL.Nat64),\n 'reject_cost_e8s' : IDL.Opt(IDL.Nat64),\n 'max_proposals_to_keep_per_action' : IDL.Opt(IDL.Nat32),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Opt(IDL.Nat64),\n 'max_number_of_neurons' : IDL.Opt(IDL.Nat64),\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'max_number_of_proposals_with_ballots' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'voting_rewards_parameters' : IDL.Opt(VotingRewardsParameters),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const Version = IDL.Record({\n 'archive_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'root_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'swap_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'ledger_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'governance_wasm_hash' : IDL.Vec(IDL.Nat8),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const RewardEvent = IDL.Record({\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'round' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const UpgradeInProgress = IDL.Record({\n 'mark_failed_at_seconds' : IDL.Nat64,\n 'checking_upgrade_lock' : IDL.Nat64,\n 'proposal_id' : IDL.Nat64,\n 'target_version' : IDL.Opt(Version),\n });\n const GovernanceError = IDL.Record({\n 'error_message' : IDL.Text,\n 'error_type' : IDL.Int32,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Tally = IDL.Record({\n 'no' : IDL.Nat64,\n 'yes' : IDL.Nat64,\n 'total' : IDL.Nat64,\n 'timestamp_seconds' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const ManageSnsMetadata = IDL.Record({\n 'url' : IDL.Opt(IDL.Text),\n 'logo' : IDL.Opt(IDL.Text),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n });\n const ExecuteGenericNervousSystemFunction = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'payload' : IDL.Vec(IDL.Nat8),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'UpgradeSnsToNextVersion' : IDL.Record({}),\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'Unspecified' : IDL.Record({}),\n 'ManageSnsMetadata' : ManageSnsMetadata,\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'Motion' : Motion,\n });\n const Proposal = IDL.Record({\n 'url' : IDL.Text,\n 'title' : IDL.Text,\n 'action' : IDL.Opt(Action),\n 'summary' : IDL.Text,\n });\n const WaitForQuietState = IDL.Record({\n 'current_deadline_timestamp_seconds' : IDL.Nat64,\n });\n const ProposalData = IDL.Record({\n 'id' : IDL.Opt(ProposalId),\n 'payload_text_rendering' : IDL.Opt(IDL.Text),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'proposal_creation_timestamp_seconds' : IDL.Nat64,\n 'initial_voting_period_seconds' : IDL.Nat64,\n 'reject_cost_e8s' : IDL.Nat64,\n 'latest_tally' : IDL.Opt(Tally),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Nat64,\n 'decided_timestamp_seconds' : IDL.Nat64,\n 'proposal' : IDL.Opt(Proposal),\n 'proposer' : IDL.Opt(NeuronId),\n 'wait_for_quiet_state' : IDL.Opt(WaitForQuietState),\n 'is_eligible_for_rewards' : IDL.Bool,\n 'executed_timestamp_seconds' : IDL.Nat64,\n });\n const Split = IDL.Record({ 'memo' : IDL.Nat64, 'amount_e8s' : IDL.Nat64 });\n const Follow = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'followees' : IDL.Vec(NeuronId),\n });\n const Subaccount = IDL.Record({ 'subaccount' : IDL.Vec(IDL.Nat8) });\n const Account = IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(Subaccount),\n });\n const DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const IncreaseDissolveDelay = IDL.Record({\n 'additional_dissolve_delay_seconds' : IDL.Nat32,\n });\n const SetDissolveTimestamp = IDL.Record({\n 'dissolve_timestamp_seconds' : IDL.Nat64,\n });\n const Operation = IDL.Variant({\n 'StopDissolving' : IDL.Record({}),\n 'StartDissolving' : IDL.Record({}),\n 'IncreaseDissolveDelay' : IncreaseDissolveDelay,\n 'SetDissolveTimestamp' : SetDissolveTimestamp,\n });\n const Configure = IDL.Record({ 'operation' : IDL.Opt(Operation) });\n const RegisterVote = IDL.Record({\n 'vote' : IDL.Int32,\n 'proposal' : IDL.Opt(ProposalId),\n });\n const MemoAndController = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'memo' : IDL.Nat64,\n });\n const By = IDL.Variant({\n 'MemoAndController' : MemoAndController,\n 'NeuronId' : IDL.Record({}),\n });\n const ClaimOrRefresh = IDL.Record({ 'by' : IDL.Opt(By) });\n const RemoveNeuronPermissions = IDL.Record({\n 'permissions_to_remove' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const AddNeuronPermissions = IDL.Record({\n 'permissions_to_add' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const MergeMaturity = IDL.Record({ 'percentage_to_merge' : IDL.Nat32 });\n const Amount = IDL.Record({ 'e8s' : IDL.Nat64 });\n const Disburse = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'amount' : IDL.Opt(Amount),\n });\n const Command_2 = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'ClaimOrRefreshNeuron' : ClaimOrRefresh,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const NeuronInFlightCommand = IDL.Record({\n 'command' : IDL.Opt(Command_2),\n 'timestamp' : IDL.Nat64,\n });\n const NeuronPermission = IDL.Record({\n 'principal' : IDL.Opt(IDL.Principal),\n 'permission_type' : IDL.Vec(IDL.Int32),\n });\n const DissolveState = IDL.Variant({\n 'DissolveDelaySeconds' : IDL.Nat64,\n 'WhenDissolvedTimestampSeconds' : IDL.Nat64,\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'permissions' : IDL.Vec(NeuronPermission),\n 'maturity_e8s_equivalent' : IDL.Nat64,\n 'cached_neuron_stake_e8s' : IDL.Nat64,\n 'created_timestamp_seconds' : IDL.Nat64,\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'voting_power_percentage_multiplier' : IDL.Nat64,\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n 'neuron_fees_e8s' : IDL.Nat64,\n });\n const Governance = IDL.Record({\n 'root_canister_id' : IDL.Opt(IDL.Principal),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'deployed_version' : IDL.Opt(Version),\n 'sns_initialization_parameters' : IDL.Text,\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'pending_version' : IDL.Opt(UpgradeInProgress),\n 'swap_canister_id' : IDL.Opt(IDL.Principal),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'proposals' : IDL.Vec(IDL.Tuple(IDL.Nat64, ProposalData)),\n 'in_flight_commands' : IDL.Vec(IDL.Tuple(IDL.Text, NeuronInFlightCommand)),\n 'sns_metadata' : IDL.Opt(ManageSnsMetadata),\n 'neurons' : IDL.Vec(IDL.Tuple(IDL.Text, Neuron)),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n return [Governance];\n};\n", "import type { ManageNeuron } from \"../../candid/sns_governance\";\nimport type { SnsNeuronPermissionsParams } from \"../types/governance.params\";\n\nexport const toAddPermissionsRequest = ({\n neuronId,\n permissions,\n principal,\n}: SnsNeuronPermissionsParams): ManageNeuron => ({\n subaccount: neuronId.id,\n command: [\n {\n AddNeuronPermissions: {\n permissions_to_add: [{ permissions: Int32Array.from(permissions) }],\n principal_id: [principal],\n },\n },\n ],\n});\n\nexport const toRemovePermissionsRequest = ({\n neuronId,\n permissions,\n principal,\n}: SnsNeuronPermissionsParams): ManageNeuron => ({\n subaccount: neuronId.id,\n command: [\n {\n RemoveNeuronPermissions: {\n permissions_to_remove: [{ permissions: Int32Array.from(permissions) }],\n principal_id: [principal],\n },\n },\n ],\n});\n", "export class SnsGovernanceError extends Error {}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/sns.wrapper.ts"],
4
- "sourcesContent": ["import type { Principal } from \"@dfinity/principal\";\nimport type { Tokens } from \"../candid/icrc1_ledger\";\nimport type { GetMetadataResponse, Neuron } from \"../candid/sns_governance\";\nimport type {\n BuyerState,\n GetBuyerStateRequest,\n GetStateResponse,\n RefreshBuyerTokensRequest,\n} from \"../candid/sns_swap\";\nimport type { SnsGovernanceCanister } from \"./governance.canister\";\nimport type { SnsLedgerCanister } from \"./ledger.canister\";\nimport type { SnsRootCanister } from \"./root.canister\";\nimport type { SnsSwapCanister } from \"./swap.canister\";\nimport type {\n SnsGetNeuronParams,\n SnsListNeuronsParams,\n SnsNeuronPermissionsParams,\n} from \"./types/governance.params\";\nimport type { BalanceParams } from \"./types/ledger.params\";\nimport type { SnsTokenMetadataResponse } from \"./types/ledger.responses\";\nimport type { QueryParams } from \"./types/query.params\";\n\ninterface SnsWrapperOptions {\n /** The wrapper for the \"root\" canister of the particular Sns */\n root: SnsRootCanister;\n /** The wrapper for the \"governance\" canister of the particular Sns */\n governance: SnsGovernanceCanister;\n /** The wrapper for the \"ledger\" canister of the particular Sns */\n ledger: SnsLedgerCanister;\n /** The wrapper for the \"swap\" canister of the particular Sns */\n swap: SnsSwapCanister;\n\n /** The wrapper has been instantiated and should perform query or update calls */\n certified: boolean;\n}\n\n/**\n * Sns wrapper - notably used by NNS-dapp - ease the access to a particular Sns.\n * It knows all the Sns' canisters, wrap and enhance their available features.\n * A wrapper either performs query or update calls.\n */\nexport class SnsWrapper {\n private readonly root: SnsRootCanister;\n private readonly governance: SnsGovernanceCanister;\n private readonly ledger: SnsLedgerCanister;\n private readonly swap: SnsSwapCanister;\n private readonly certified: boolean;\n\n /**\n * Constructor to instantiate a Sns\n */\n constructor({\n root,\n governance,\n ledger,\n swap,\n certified,\n }: SnsWrapperOptions) {\n this.root = root;\n this.governance = governance;\n this.ledger = ledger;\n this.swap = swap;\n this.certified = certified;\n }\n\n /**\n * Binds the list of canister ids of the Sns.\n */\n get canisterIds(): {\n rootCanisterId: Principal;\n ledgerCanisterId: Principal;\n governanceCanisterId: Principal;\n swapCanisterId: Principal;\n } {\n return {\n rootCanisterId: this.root.canisterId,\n ledgerCanisterId: this.ledger.canisterId,\n governanceCanisterId: this.governance.canisterId,\n swapCanisterId: this.swap.canisterId,\n };\n }\n\n listNeurons = (\n params: Omit<SnsListNeuronsParams, \"certified\">\n ): Promise<Neuron[]> => this.governance.listNeurons(this.mergeParams(params));\n\n metadata = (\n params: Omit<QueryParams, \"certified\">\n ): Promise<[GetMetadataResponse, SnsTokenMetadataResponse]> =>\n Promise.all([\n this.governance.metadata(this.mergeParams(params)),\n this.ledger.metadata(this.mergeParams(params)),\n ]);\n\n ledgerMetadata = (\n params: Omit<QueryParams, \"certified\">\n ): Promise<SnsTokenMetadataResponse> =>\n this.ledger.metadata(this.mergeParams(params));\n\n balance = (params: Omit<BalanceParams, \"certified\">): Promise<Tokens> =>\n this.ledger.balance(this.mergeParams(params));\n\n getNeuron = (\n params: Omit<SnsGetNeuronParams, \"certified\">\n ): Promise<Neuron> => this.governance.getNeuron(this.mergeParams(params));\n\n // Always certified\n addNeuronPermissions = (params: SnsNeuronPermissionsParams): Promise<void> =>\n this.governance.addNeuronPermissions(params);\n\n // Always certified\n removeNeuronPermissions = (\n params: SnsNeuronPermissionsParams\n ): Promise<void> => this.governance.removeNeuronPermissions(params);\n\n swapState = (\n params: Omit<QueryParams, \"certified\">\n ): Promise<GetStateResponse> => this.swap.state(this.mergeParams(params));\n\n // Always certified\n notifyParticipation = (params: RefreshBuyerTokensRequest): Promise<void> =>\n this.swap.notifyParticipation(params);\n\n getUserCommitment = (\n params: GetBuyerStateRequest\n ): Promise<BuyerState | undefined> =>\n this.swap.getUserCommitment(this.mergeParams(params));\n\n private mergeParams<T>(params: T): QueryParams & T {\n return {\n ...params,\n certified: this.certified,\n };\n }\n}\n"],
5
- "mappings": "AAyCO,GAAM,GAAN,KAAiB,CACtB,AAAiB,KACjB,AAAiB,WACjB,AAAiB,OACjB,AAAiB,KACjB,AAAiB,UAKjB,YAAY,CACV,OACA,aACA,SACA,OACA,aACoB,CACpB,KAAK,KAAO,EACZ,KAAK,WAAa,EAClB,KAAK,OAAS,EACd,KAAK,KAAO,EACZ,KAAK,UAAY,CACnB,CAKA,GAAI,cAKF,CACA,MAAO,CACL,eAAgB,KAAK,KAAK,WAC1B,iBAAkB,KAAK,OAAO,WAC9B,qBAAsB,KAAK,WAAW,WACtC,eAAgB,KAAK,KAAK,UAC5B,CACF,CAEA,YAAc,AACZ,GACsB,KAAK,WAAW,YAAY,KAAK,YAAY,CAAM,CAAC,EAE5E,SAAW,AACT,GAEA,QAAQ,IAAI,CACV,KAAK,WAAW,SAAS,KAAK,YAAY,CAAM,CAAC,EACjD,KAAK,OAAO,SAAS,KAAK,YAAY,CAAM,CAAC,CAC/C,CAAC,EAEH,eAAiB,AACf,GAEA,KAAK,OAAO,SAAS,KAAK,YAAY,CAAM,CAAC,EAE/C,QAAU,AAAC,GACT,KAAK,OAAO,QAAQ,KAAK,YAAY,CAAM,CAAC,EAE9C,UAAY,AACV,GACoB,KAAK,WAAW,UAAU,KAAK,YAAY,CAAM,CAAC,EAGxE,qBAAuB,AAAC,GACtB,KAAK,WAAW,qBAAqB,CAAM,EAG7C,wBAA0B,AACxB,GACkB,KAAK,WAAW,wBAAwB,CAAM,EAElE,UAAY,AACV,GAC8B,KAAK,KAAK,MAAM,KAAK,YAAY,CAAM,CAAC,EAGxE,oBAAsB,AAAC,GACrB,KAAK,KAAK,oBAAoB,CAAM,EAEtC,kBAAoB,AAClB,GAEA,KAAK,KAAK,kBAAkB,KAAK,YAAY,CAAM,CAAC,EAEtD,AAAQ,YAAe,EAA4B,CACjD,MAAO,CACL,GAAG,EACH,UAAW,KAAK,SAClB,CACF,CACF",
6
- "names": []
7
- }