@dfinity/sns 4.0.4 → 4.1.0

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 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/governance.canister.ts", "../../candid/sns_governance.certified.idl.js", "../../candid/sns_governance.idl.js", "../../src/converters/governance.converters.ts"],
4
- "sourcesContent": ["import type { Principal } from \"@dfinity/principal\";\nimport {\n Canister,\n assertPercentageNumber,\n createServices,\n fromNullable,\n toNullable,\n type QueryParams,\n} from \"@dfinity/utils\";\nimport type {\n GetMetadataResponse,\n ListNervousSystemFunctionsResponse,\n ListProposalsResponse,\n ListTopicsResponse,\n ManageNeuron,\n ManageNeuronResponse,\n NervousSystemParameters,\n Neuron,\n NeuronId,\n ProposalData,\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 toAutoStakeMaturityNeuronRequest,\n toClaimOrRefreshRequest,\n toDisburseMaturityRequest,\n toDisburseNeuronRequest,\n toFollowRequest,\n toIncreaseDissolveDelayRequest,\n toListProposalRequest,\n toRegisterVoteRequest,\n toRemovePermissionsRequest,\n toSetDissolveTimestampRequest,\n toSetFollowingRequest,\n toSplitNeuronRequest,\n toStakeMaturityRequest,\n toStartDissolvingNeuronRequest,\n toStopDissolvingNeuronRequest,\n} from \"./converters/governance.converters\";\nimport { SnsGovernanceError } from \"./errors/governance.errors\";\nimport type { SnsCanisterOptions } from \"./types/canister.options\";\nimport type {\n SnsClaimNeuronParams,\n SnsDisburseNeuronParams,\n SnsGetNeuronParams,\n SnsGetProposalParams,\n SnsIncreaseDissolveDelayParams,\n SnsListNeuronsParams,\n SnsListProposalsParams,\n SnsListTopicsParams,\n SnsNeuronAutoStakeMaturityParams,\n SnsNeuronDisburseMaturityParams,\n SnsNeuronPermissionsParams,\n SnsNeuronStakeMaturityParams,\n SnsRegisterVoteParams,\n SnsSetDissolveTimestampParams,\n SnsSetFollowingParams,\n SnsSetTopicFollowees,\n SnsSplitNeuronParams,\n} from \"./types/governance.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 * List the proposals of the Sns\n */\n listProposals = async (\n params: SnsListProposalsParams,\n ): Promise<ListProposalsResponse> => {\n const { certified } = params;\n\n const response = await this.caller({ certified }).list_proposals(\n toListProposalRequest(params),\n );\n return response;\n };\n\n /**\n *\n * List the topics of the Sns\n */\n listTopics = async (\n params: SnsListTopicsParams,\n ): Promise<ListTopicsResponse> => {\n const { certified } = params;\n const response = await this.caller({ certified }).list_topics({});\n return response;\n };\n\n /**\n * Get the proposal of the Sns\n */\n getProposal = async (params: SnsGetProposalParams): Promise<ProposalData> => {\n const { proposalId } = params;\n\n const { result } = await this.caller(params).get_proposal({\n proposal_id: toNullable(proposalId),\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.Proposal;\n };\n\n /**\n * List Nervous System Functions\n * Neurons can follow other neurons in specific Nervous System Functions.\n */\n listNervousSystemFunctions = (\n params: QueryParams,\n ): Promise<ListNervousSystemFunctionsResponse> =>\n this.caller(params).list_nervous_system_functions();\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 Sns nervous system parameters (default followees, max dissolve delay, max number of neurons, etc.)\n */\n nervousSystemParameters = (\n params: QueryParams,\n ): Promise<NervousSystemParameters> =>\n this.caller(params).get_nervous_system_parameters(null);\n\n /**\n * Get the neuron of the Sns\n */\n getNeuron = async (params: SnsGetNeuronParams): 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 * Same as `getNeuron` but returns undefined instead of raising error when not found.\n */\n queryNeuron = async (\n params: SnsGetNeuronParams,\n ): Promise<Neuron | undefined> => {\n try {\n return await this.getNeuron(params);\n } catch (error: unknown) {\n // Source: https://github.com/dfinity/ic/blob/master/rs/sns/governance/src/governance.rs#L914\n if (\n error instanceof Error &&\n error.message.includes(\"No neuron for given NeuronId\")\n ) {\n return undefined;\n }\n throw error;\n }\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 * Split neuron\n */\n public splitNeuron = async (\n params: SnsSplitNeuronParams,\n ): Promise<NeuronId | undefined> => {\n const request: ManageNeuron = toSplitNeuronRequest(params);\n const { command } = await this.manageNeuron(request);\n const response = fromNullable(command);\n const errorMessage = (details: string) =>\n `Split neuron failed (${details})`;\n\n // Validate response\n if (response === undefined) {\n throw new SnsGovernanceError(errorMessage(\"no response\"));\n }\n\n if (\"Split\" in response) {\n const split = response.Split;\n const neuronId = fromNullable(split.created_neuron_id) as NeuronId;\n\n if (neuronId !== undefined) {\n return neuronId;\n }\n\n throw new SnsGovernanceError(errorMessage(\"no id\"));\n }\n\n throw new SnsGovernanceError(errorMessage(\"unknown\"));\n };\n\n /**\n * Disburse neuron on Account\n */\n disburse = async (params: SnsDisburseNeuronParams): Promise<void> => {\n const request: ManageNeuron = toDisburseNeuronRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Start dissolving process of a neuron\n */\n startDissolving = async (neuronId: NeuronId): Promise<void> => {\n const request: ManageNeuron = toStartDissolvingNeuronRequest(neuronId);\n await this.manageNeuron(request);\n };\n\n /**\n * Stop dissolving process of a neuron\n */\n stopDissolving = async (neuronId: NeuronId): Promise<void> => {\n const request: ManageNeuron = toStopDissolvingNeuronRequest(neuronId);\n await this.manageNeuron(request);\n };\n\n /**\n * Stake the maturity of a neuron.\n *\n * @param {neuronId: NeuronId; percentageToStake: number;} params\n * @param {NeuronId} neuronId The id of the neuron for which to stake the maturity\n * @param {number} percentageToStake Optional. Percentage of the current maturity to stake. If not provided, all of the neuron's current maturity will be staked.\n */\n stakeMaturity = async ({\n neuronId,\n percentageToStake,\n }: SnsNeuronStakeMaturityParams): Promise<void> => {\n assertPercentageNumber(percentageToStake ?? 100);\n\n const request: ManageNeuron = toStakeMaturityRequest({\n neuronId,\n percentageToStake,\n });\n await this.manageNeuron(request);\n };\n\n /**\n * Disburse the maturity of a neuron.\n *\n * @param {neuronId: NeuronId; toAccount?: IcrcAccount; percentageToDisburse: number; } params\n * @param {IcrcAccount} toAccount. Account to disburse maturity.\n * @param {NeuronId} neuronId The id of the neuron for which to disburse the maturity\n * @param {number} percentageToDisburse What percentage of the available maturity to disburse.\n */\n disburseMaturity = async (\n params: SnsNeuronDisburseMaturityParams,\n ): Promise<void> => {\n assertPercentageNumber(params.percentageToDisburse);\n\n const request: ManageNeuron = toDisburseMaturityRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Changes auto-stake maturity for a Neuron.\n *\n * @param {neuronId: NeuronId; autoStake: boolean;} params\n * @param {NeuronId} neuronId The id of the neuron for which to request a change of the auto stake feature\n * @param {number} autoStake `true` to enable the auto-stake maturity for this neuron, `false` to turn it off\n */\n autoStakeMaturity = async (\n params: SnsNeuronAutoStakeMaturityParams,\n ): Promise<void> => {\n const request: ManageNeuron = toAutoStakeMaturityNeuronRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Increase dissolve delay of a neuron\n */\n setDissolveTimestamp = async (\n params: SnsSetDissolveTimestampParams,\n ): Promise<void> => {\n const request: ManageNeuron = toSetDissolveTimestampRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Increase dissolve delay of a neuron\n */\n increaseDissolveDelay = async (\n params: SnsIncreaseDissolveDelayParams,\n ): Promise<void> => {\n const request: ManageNeuron = toIncreaseDissolveDelayRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Sets followees of a neuron for a specific Nervous System Function\n * @deprecated will be replaced by `setFollowing` in the future.\n */\n setTopicFollowees = async (params: SnsSetTopicFollowees): Promise<void> => {\n const request: ManageNeuron = toFollowRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Sets followees of a neuron for topics\n */\n setFollowing = async (params: SnsSetFollowingParams): Promise<void> => {\n const request: ManageNeuron = toSetFollowingRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Registers vote for a proposal from the neuron passed.\n */\n registerVote = async (params: SnsRegisterVoteParams): Promise<void> => {\n const request: ManageNeuron = toRegisterVoteRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Refresh neuron\n */\n refreshNeuron = async (neuronId: NeuronId): Promise<void> => {\n const request: ManageNeuron = toClaimOrRefreshRequest({\n subaccount: neuronId.id,\n });\n await this.manageNeuron(request);\n };\n\n /**\n * Claim neuron\n */\n claimNeuron = async ({\n memo,\n controller,\n subaccount,\n }: SnsClaimNeuronParams): Promise<NeuronId> => {\n const request: ManageNeuron = toClaimOrRefreshRequest({\n subaccount,\n memo,\n controller,\n });\n const { command } = await this.manageNeuron(request);\n const response = fromNullable(command);\n // Edge case. This should not happen\n if (response === undefined) {\n throw new SnsGovernanceError(\"Claim neuron failed\");\n }\n if (\"ClaimOrRefresh\" in response) {\n const neuronId = fromNullable(\n response.ClaimOrRefresh.refreshed_neuron_id,\n );\n // This might happen.\n if (neuronId === undefined) {\n throw new SnsGovernanceError(\"Claim neuron failed\");\n }\n return neuronId;\n }\n // Edge case. manage_neuron for ClaimOrRefresh returns only ClaimOrRefresh response.\n throw new SnsGovernanceError(\"Claim neuron failed\");\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;\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 PreciseValue = IDL.Rec();\n const Timers = IDL.Record({\n 'last_spawned_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'last_reset_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'requires_periodic_tasks' : IDL.Opt(IDL.Bool),\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 'index_wasm_hash' : IDL.Vec(IDL.Nat8),\n });\n const Versions = IDL.Record({ 'versions' : IDL.Vec(Version) });\n const CachedUpgradeSteps = IDL.Record({\n 'upgrade_steps' : IDL.Opt(Versions),\n 'response_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'requested_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Topic = IDL.Variant({\n 'DappCanisterManagement' : IDL.Null,\n 'DaoCommunitySettings' : IDL.Null,\n 'ApplicationBusinessLogic' : IDL.Null,\n 'CriticalDappOperations' : IDL.Null,\n 'TreasuryAssetManagement' : IDL.Null,\n 'Governance' : IDL.Null,\n 'SnsFrameworkManagement' : IDL.Null,\n });\n const GenericNervousSystemFunction = IDL.Record({\n 'topic' : IDL.Opt(Topic),\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 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 TreasuryMetrics = IDL.Record({\n 'name' : IDL.Opt(IDL.Text),\n 'original_amount_e8s' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n 'account' : IDL.Opt(Account),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'treasury' : IDL.Int32,\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const VotingPowerMetrics = IDL.Record({\n 'governance_total_potential_voting_power' : IDL.Opt(IDL.Nat64),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'treasury_metrics' : IDL.Vec(TreasuryMetrics),\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 'voting_power_metrics' : IDL.Opt(VotingPowerMetrics),\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 MaturityModulation = IDL.Record({\n 'current_basis_points' : IDL.Opt(IDL.Int32),\n 'updated_at_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const TargetVersionSet = IDL.Record({\n 'old_target_version' : IDL.Opt(Version),\n 'new_target_version' : IDL.Opt(Version),\n 'is_advanced_automatically' : IDL.Opt(IDL.Bool),\n });\n const UpgradeStepsReset = IDL.Record({\n 'human_readable' : IDL.Opt(IDL.Text),\n 'upgrade_steps' : IDL.Opt(Versions),\n });\n const UpgradeOutcome = IDL.Record({\n 'status' : IDL.Opt(\n IDL.Variant({\n 'Success' : IDL.Record({}),\n 'Timeout' : IDL.Record({}),\n 'ExternalFailure' : IDL.Record({}),\n 'InvalidState' : IDL.Record({ 'version' : IDL.Opt(Version) }),\n })\n ),\n 'human_readable' : IDL.Opt(IDL.Text),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const UpgradeStarted = IDL.Record({\n 'current_version' : IDL.Opt(Version),\n 'expected_version' : IDL.Opt(Version),\n 'reason' : IDL.Opt(\n IDL.Variant({\n 'UpgradeSnsToNextVersionProposal' : ProposalId,\n 'BehindTargetVersion' : IDL.Record({}),\n })\n ),\n });\n const UpgradeStepsRefreshed = IDL.Record({\n 'upgrade_steps' : IDL.Opt(Versions),\n });\n const TargetVersionReset = IDL.Record({\n 'human_readable' : IDL.Opt(IDL.Text),\n 'old_target_version' : IDL.Opt(Version),\n 'new_target_version' : IDL.Opt(Version),\n });\n const UpgradeJournalEntry = IDL.Record({\n 'event' : IDL.Opt(\n IDL.Variant({\n 'TargetVersionSet' : TargetVersionSet,\n 'UpgradeStepsReset' : UpgradeStepsReset,\n 'UpgradeOutcome' : UpgradeOutcome,\n 'UpgradeStarted' : UpgradeStarted,\n 'UpgradeStepsRefreshed' : UpgradeStepsRefreshed,\n 'TargetVersionReset' : TargetVersionReset,\n })\n ),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const UpgradeJournal = IDL.Record({\n 'entries' : IDL.Vec(UpgradeJournalEntry),\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 '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_dissolve_delay_bonus_percentage' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'automatically_advance_target_version' : IDL.Opt(IDL.Bool),\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 'max_age_bonus_percentage' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'voting_rewards_parameters' : IDL.Opt(VotingRewardsParameters),\n 'maturity_modulation_disabled' : IDL.Opt(IDL.Bool),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const RewardEvent = IDL.Record({\n 'rounds_since_last_distribution' : IDL.Opt(IDL.Nat64),\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'end_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'total_available_e8s_equivalent' : IDL.Opt(IDL.Nat64),\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'round' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const PendingVersion = IDL.Record({\n 'mark_failed_at_seconds' : IDL.Nat64,\n 'checking_upgrade_lock' : IDL.Nat64,\n 'proposal_id' : IDL.Opt(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 Decimal = IDL.Record({ 'human_readable' : IDL.Opt(IDL.Text) });\n const Tokens = IDL.Record({ 'e8s' : IDL.Opt(IDL.Nat64) });\n const ValuationFactors = IDL.Record({\n 'xdrs_per_icp' : IDL.Opt(Decimal),\n 'icps_per_token' : IDL.Opt(Decimal),\n 'tokens' : IDL.Opt(Tokens),\n });\n const Valuation = IDL.Record({\n 'token' : IDL.Opt(IDL.Int32),\n 'account' : IDL.Opt(Account),\n 'valuation_factors' : IDL.Opt(ValuationFactors),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const MintSnsTokensActionAuxiliary = IDL.Record({\n 'valuation' : IDL.Opt(Valuation),\n });\n const SnsVersion = IDL.Record({\n 'archive_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'root_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'swap_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'ledger_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'governance_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'index_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const AdvanceSnsTargetVersionActionAuxiliary = IDL.Record({\n 'target_version' : IDL.Opt(SnsVersion),\n });\n const ActionAuxiliary = IDL.Variant({\n 'TransferSnsTreasuryFunds' : MintSnsTokensActionAuxiliary,\n 'MintSnsTokens' : MintSnsTokensActionAuxiliary,\n 'AdvanceSnsTargetVersion' : AdvanceSnsTargetVersionActionAuxiliary,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Percentage = IDL.Record({ 'basis_points' : IDL.Opt(IDL.Nat64) });\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 ManageDappCanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Opt(IDL.Nat64),\n 'wasm_memory_threshold' : IDL.Opt(IDL.Nat64),\n 'canister_ids' : IDL.Vec(IDL.Principal),\n 'reserved_cycles_limit' : IDL.Opt(IDL.Nat64),\n 'log_visibility' : IDL.Opt(IDL.Int32),\n 'wasm_memory_limit' : IDL.Opt(IDL.Nat64),\n 'memory_allocation' : IDL.Opt(IDL.Nat64),\n 'compute_allocation' : IDL.Opt(IDL.Nat64),\n });\n PreciseValue.fill(\n IDL.Variant({\n 'Int' : IDL.Int64,\n 'Map' : IDL.Vec(IDL.Tuple(IDL.Text, PreciseValue)),\n 'Nat' : IDL.Nat64,\n 'Blob' : IDL.Vec(IDL.Nat8),\n 'Bool' : IDL.Bool,\n 'Text' : IDL.Text,\n 'Array' : IDL.Vec(PreciseValue),\n })\n );\n const ExtensionOperationArg = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });\n const ExecuteExtensionOperation = IDL.Record({\n 'extension_canister_id' : IDL.Opt(IDL.Principal),\n 'operation_name' : IDL.Opt(IDL.Text),\n 'operation_arg' : IDL.Opt(ExtensionOperationArg),\n });\n const ChunkedCanisterWasm = IDL.Record({\n 'wasm_module_hash' : IDL.Vec(IDL.Nat8),\n 'chunk_hashes_list' : IDL.Vec(IDL.Vec(IDL.Nat8)),\n 'store_canister_id' : IDL.Opt(IDL.Principal),\n });\n const Wasm = IDL.Variant({\n 'Chunked' : ChunkedCanisterWasm,\n 'Bytes' : IDL.Vec(IDL.Nat8),\n });\n const ExtensionUpgradeArg = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });\n const UpgradeExtension = IDL.Record({\n 'extension_canister_id' : IDL.Opt(IDL.Principal),\n 'wasm' : IDL.Opt(Wasm),\n 'canister_upgrade_arg' : IDL.Opt(ExtensionUpgradeArg),\n });\n const SetTopicsForCustomProposals = IDL.Record({\n 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),\n });\n const ExtensionInit = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });\n const RegisterExtension = IDL.Record({\n 'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),\n 'extension_init' : IDL.Opt(ExtensionInit),\n });\n const RegisterDappCanisters = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n });\n const TransferSnsTreasuryFunds = IDL.Record({\n 'from_treasury' : IDL.Int32,\n 'to_principal' : IDL.Opt(IDL.Principal),\n 'to_subaccount' : IDL.Opt(Subaccount),\n 'memo' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'mode' : IDL.Opt(IDL.Int32),\n 'canister_id' : IDL.Opt(IDL.Principal),\n 'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),\n 'canister_upgrade_arg' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const DeregisterDappCanisters = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n 'new_controllers' : IDL.Vec(IDL.Principal),\n });\n const MintSnsTokens = IDL.Record({\n 'to_principal' : IDL.Opt(IDL.Principal),\n 'to_subaccount' : IDL.Opt(Subaccount),\n 'memo' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n });\n const AdvanceSnsTargetVersion = IDL.Record({\n 'new_target' : IDL.Opt(SnsVersion),\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 ManageLedgerParameters = IDL.Record({\n 'token_symbol' : IDL.Opt(IDL.Text),\n 'transfer_fee' : IDL.Opt(IDL.Nat64),\n 'token_logo' : IDL.Opt(IDL.Text),\n 'token_name' : IDL.Opt(IDL.Text),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'ManageDappCanisterSettings' : ManageDappCanisterSettings,\n 'ExecuteExtensionOperation' : ExecuteExtensionOperation,\n 'UpgradeExtension' : UpgradeExtension,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'SetTopicsForCustomProposals' : SetTopicsForCustomProposals,\n 'RegisterExtension' : RegisterExtension,\n 'UpgradeSnsToNextVersion' : IDL.Record({}),\n 'RegisterDappCanisters' : RegisterDappCanisters,\n 'TransferSnsTreasuryFunds' : TransferSnsTreasuryFunds,\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'DeregisterDappCanisters' : DeregisterDappCanisters,\n 'MintSnsTokens' : MintSnsTokens,\n 'AdvanceSnsTargetVersion' : AdvanceSnsTargetVersion,\n 'Unspecified' : IDL.Record({}),\n 'ManageSnsMetadata' : ManageSnsMetadata,\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'ManageLedgerParameters' : ManageLedgerParameters,\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 'topic' : IDL.Opt(Topic),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'action_auxiliary' : IDL.Opt(ActionAuxiliary),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'minimum_yes_proportion_of_total' : IDL.Opt(Percentage),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'reward_event_end_timestamp_seconds' : IDL.Opt(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 'minimum_yes_proportion_of_exercised' : IDL.Opt(Percentage),\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 DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const ChangeAutoStakeMaturity = IDL.Record({\n 'requested_setting_for_auto_stake_maturity' : IDL.Bool,\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 'ChangeAutoStakeMaturity' : ChangeAutoStakeMaturity,\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 Followee = IDL.Record({\n 'alias' : IDL.Opt(IDL.Text),\n 'neuron_id' : IDL.Opt(NeuronId),\n });\n const FolloweesForTopic = IDL.Record({\n 'topic' : IDL.Opt(Topic),\n 'followees' : IDL.Vec(Followee),\n });\n const SetFollowing = IDL.Record({\n 'topic_following' : IDL.Vec(FolloweesForTopic),\n });\n const FinalizeDisburseMaturity = IDL.Record({\n 'amount_to_be_disbursed_e8s' : IDL.Nat64,\n 'to_account' : IDL.Opt(Account),\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 'SetFollowing' : SetFollowing,\n 'SyncCommand' : IDL.Record({}),\n 'MakeProposal' : Proposal,\n 'FinalizeDisburseMaturity' : FinalizeDisburseMaturity,\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 DisburseMaturityInProgress = IDL.Record({\n 'timestamp_of_disbursement_seconds' : IDL.Nat64,\n 'amount_e8s' : IDL.Nat64,\n 'account_to_disburse_to' : IDL.Opt(Account),\n 'finalize_disbursement_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'staked_maturity_e8s_equivalent' : IDL.Opt(IDL.Nat64),\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 'topic_followees' : IDL.Opt(\n IDL.Record({\n 'topic_id_to_followees' : IDL.Vec(\n IDL.Tuple(IDL.Int32, FolloweesForTopic)\n ),\n })\n ),\n 'source_nns_neuron_id' : IDL.Opt(IDL.Nat64),\n 'auto_stake_maturity' : IDL.Opt(IDL.Bool),\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'voting_power_percentage_multiplier' : IDL.Nat64,\n 'vesting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'disburse_maturity_in_progress' : IDL.Vec(DisburseMaturityInProgress),\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 'timers' : IDL.Opt(Timers),\n 'cached_upgrade_steps' : IDL.Opt(CachedUpgradeSteps),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'maturity_modulation' : IDL.Opt(MaturityModulation),\n 'upgrade_journal' : IDL.Opt(UpgradeJournal),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'is_finalizing_disburse_maturity' : IDL.Opt(IDL.Bool),\n 'deployed_version' : IDL.Opt(Version),\n 'sns_initialization_parameters' : IDL.Text,\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'pending_version' : IDL.Opt(PendingVersion),\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 'target_version' : IDL.Opt(Version),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n const Principals = IDL.Record({ 'principals' : IDL.Vec(IDL.Principal) });\n const NeuronsFund = IDL.Record({\n 'nns_neuron_hotkeys' : IDL.Opt(Principals),\n 'nns_neuron_controller' : IDL.Opt(IDL.Principal),\n 'nns_neuron_id' : IDL.Opt(IDL.Nat64),\n });\n const Participant = IDL.Variant({\n 'NeuronsFund' : NeuronsFund,\n 'Direct' : IDL.Record({}),\n });\n const NeuronIds = IDL.Record({ 'neuron_ids' : IDL.Vec(NeuronId) });\n const NeuronRecipe = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'participant' : IDL.Opt(Participant),\n 'stake_e8s' : IDL.Opt(IDL.Nat64),\n 'followees' : IDL.Opt(NeuronIds),\n 'neuron_id' : IDL.Opt(NeuronId),\n });\n const NeuronRecipes = IDL.Record({\n 'neuron_recipes' : IDL.Vec(NeuronRecipe),\n });\n const ClaimSwapNeuronsRequest = IDL.Record({\n 'neuron_recipes' : IDL.Opt(NeuronRecipes),\n });\n const SwapNeuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'status' : IDL.Int32,\n });\n const ClaimedSwapNeurons = IDL.Record({\n 'swap_neurons' : IDL.Vec(SwapNeuron),\n });\n const ClaimSwapNeuronsResult = IDL.Variant({\n 'Ok' : ClaimedSwapNeurons,\n 'Err' : IDL.Int32,\n });\n const ClaimSwapNeuronsResponse = IDL.Record({\n 'claim_swap_neurons_result' : IDL.Opt(ClaimSwapNeuronsResult),\n });\n const GetMaturityModulationResponse = IDL.Record({\n 'maturity_modulation' : IDL.Opt(MaturityModulation),\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 GetMetricsRequest = IDL.Record({\n 'time_window_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Metrics = IDL.Record({\n 'treasury_metrics' : IDL.Opt(IDL.Vec(TreasuryMetrics)),\n 'voting_power_metrics' : IDL.Opt(VotingPowerMetrics),\n 'last_ledger_block_timestamp' : IDL.Opt(IDL.Nat64),\n 'num_recently_executed_proposals' : IDL.Opt(IDL.Nat64),\n 'num_recently_submitted_proposals' : IDL.Opt(IDL.Nat64),\n 'genesis_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const GetMetricsResult = IDL.Variant({\n 'Ok' : Metrics,\n 'Err' : GovernanceError,\n });\n const GetMetricsResponse = IDL.Record({\n 'get_metrics_result' : IDL.Opt(GetMetricsResult),\n });\n const GetModeResponse = IDL.Record({ 'mode' : IDL.Opt(IDL.Int32) });\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 MemoryMetrics = IDL.Record({\n 'wasm_binary_size' : IDL.Opt(IDL.Nat),\n 'wasm_chunk_store_size' : IDL.Opt(IDL.Nat),\n 'canister_history_size' : IDL.Opt(IDL.Nat),\n 'stable_memory_size' : IDL.Opt(IDL.Nat),\n 'snapshots_size' : IDL.Opt(IDL.Nat),\n 'wasm_memory_size' : IDL.Opt(IDL.Nat),\n 'global_memory_size' : IDL.Opt(IDL.Nat),\n 'custom_sections_size' : IDL.Opt(IDL.Nat),\n });\n const CanisterStatusType = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const DefiniteCanisterSettingsArgs = IDL.Record({\n 'freezing_threshold' : IDL.Nat,\n 'wasm_memory_threshold' : IDL.Opt(IDL.Nat),\n 'controllers' : IDL.Vec(IDL.Principal),\n 'wasm_memory_limit' : IDL.Opt(IDL.Nat),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const QueryStats = IDL.Record({\n 'response_payload_bytes_total' : IDL.Opt(IDL.Nat),\n 'num_instructions_total' : IDL.Opt(IDL.Nat),\n 'num_calls_total' : IDL.Opt(IDL.Nat),\n 'request_payload_bytes_total' : IDL.Opt(IDL.Nat),\n });\n const CanisterStatusResultV2 = IDL.Record({\n 'memory_metrics' : IDL.Opt(MemoryMetrics),\n 'status' : CanisterStatusType,\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettingsArgs,\n 'query_stats' : IDL.Opt(QueryStats),\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(\n 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 ),\n });\n const GetSnsInitializationParametersResponse = IDL.Record({\n 'sns_initialization_parameters' : IDL.Text,\n });\n const GetTimersResponse = IDL.Record({ 'timers' : IDL.Opt(Timers) });\n const GetUpgradeJournalRequest = IDL.Record({\n 'offset' : IDL.Opt(IDL.Nat64),\n 'limit' : IDL.Opt(IDL.Nat64),\n });\n const GetUpgradeJournalResponse = IDL.Record({\n 'upgrade_journal' : IDL.Opt(UpgradeJournal),\n 'upgrade_steps' : IDL.Opt(Versions),\n 'response_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'deployed_version' : IDL.Opt(Version),\n 'target_version' : IDL.Opt(Version),\n 'upgrade_journal_entry_count' : IDL.Opt(IDL.Nat64),\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 TopicSelector = IDL.Record({ 'topic' : IDL.Opt(Topic) });\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_topics' : IDL.Opt(IDL.Vec(TopicSelector)),\n 'include_status' : IDL.Vec(IDL.Int32),\n });\n const ListProposalsResponse = IDL.Record({\n 'include_ballots_by_caller' : IDL.Opt(IDL.Bool),\n 'proposals' : IDL.Vec(ProposalData),\n 'include_topic_filtering' : IDL.Opt(IDL.Bool),\n });\n const ListTopicsRequest = IDL.Record({});\n const ExtensionOperationType = IDL.Variant({\n 'TreasuryManagerWithdraw' : IDL.Null,\n 'TreasuryManagerDeposit' : IDL.Null,\n });\n const ExtensionType = IDL.Variant({ 'TreasuryManager' : IDL.Null });\n const ExtensionOperationSpec = IDL.Record({\n 'topic' : IDL.Opt(Topic),\n 'operation_type' : IDL.Opt(ExtensionOperationType),\n 'description' : IDL.Opt(IDL.Text),\n 'extension_type' : IDL.Opt(ExtensionType),\n });\n const RegisteredExtensionOperationSpec = IDL.Record({\n 'spec' : IDL.Opt(ExtensionOperationSpec),\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const TopicInfo = IDL.Record({\n 'extension_operations' : IDL.Opt(IDL.Vec(RegisteredExtensionOperationSpec)),\n 'native_functions' : IDL.Opt(IDL.Vec(NervousSystemFunction)),\n 'topic' : IDL.Opt(Topic),\n 'is_critical' : IDL.Opt(IDL.Bool),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n 'custom_functions' : IDL.Opt(IDL.Vec(NervousSystemFunction)),\n });\n const ListTopicsResponse = IDL.Record({\n 'uncategorized_functions' : IDL.Opt(IDL.Vec(NervousSystemFunction)),\n 'topics' : IDL.Opt(IDL.Vec(TopicInfo)),\n });\n const StakeMaturity = IDL.Record({\n 'percentage_to_stake' : IDL.Opt(IDL.Nat32),\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 'SetFollowing' : SetFollowing,\n 'MakeProposal' : Proposal,\n 'StakeMaturity' : StakeMaturity,\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 'amount_disbursed_e8s' : IDL.Nat64,\n 'amount_deducted_e8s' : IDL.Opt(IDL.Nat64),\n });\n const ClaimOrRefreshResponse = IDL.Record({\n 'refreshed_neuron_id' : IDL.Opt(NeuronId),\n });\n const StakeMaturityResponse = IDL.Record({\n 'maturity_e8s' : IDL.Nat64,\n 'staked_maturity_e8s' : IDL.Nat64,\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 'SetFollowing' : IDL.Record({}),\n 'MakeProposal' : GetProposal,\n 'RemoveNeuronPermission' : IDL.Record({}),\n 'StakeMaturity' : StakeMaturityResponse,\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 'claim_swap_neurons' : IDL.Func(\n [ClaimSwapNeuronsRequest],\n [ClaimSwapNeuronsResponse],\n [],\n ),\n 'fail_stuck_upgrade_in_progress' : IDL.Func(\n [IDL.Record({})],\n [IDL.Record({})],\n [],\n ),\n 'get_build_metadata' : IDL.Func([], [IDL.Text], []),\n 'get_latest_reward_event' : IDL.Func([], [RewardEvent], []),\n 'get_maturity_modulation' : IDL.Func(\n [IDL.Record({})],\n [GetMaturityModulationResponse],\n [],\n ),\n 'get_metadata' : IDL.Func([IDL.Record({})], [GetMetadataResponse], []),\n 'get_metrics' : IDL.Func([GetMetricsRequest], [GetMetricsResponse], []),\n 'get_metrics_replicated' : IDL.Func(\n [GetMetricsRequest],\n [GetMetricsResponse],\n [],\n ),\n 'get_mode' : IDL.Func([IDL.Record({})], [GetModeResponse], []),\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 'get_timers' : IDL.Func([IDL.Record({})], [GetTimersResponse], []),\n 'get_upgrade_journal' : IDL.Func(\n [GetUpgradeJournalRequest],\n [GetUpgradeJournalResponse],\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 'list_topics' : IDL.Func([ListTopicsRequest], [ListTopicsResponse], []),\n 'manage_neuron' : IDL.Func([ManageNeuron], [ManageNeuronResponse], []),\n 'reset_timers' : IDL.Func([IDL.Record({})], [IDL.Record({})], []),\n 'set_mode' : IDL.Func([SetMode], [IDL.Record({})], []),\n });\n};\nexport const init = ({ IDL }) => {\n const PreciseValue = IDL.Rec();\n const Timers = IDL.Record({\n 'last_spawned_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'last_reset_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'requires_periodic_tasks' : IDL.Opt(IDL.Bool),\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 'index_wasm_hash' : IDL.Vec(IDL.Nat8),\n });\n const Versions = IDL.Record({ 'versions' : IDL.Vec(Version) });\n const CachedUpgradeSteps = IDL.Record({\n 'upgrade_steps' : IDL.Opt(Versions),\n 'response_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'requested_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Topic = IDL.Variant({\n 'DappCanisterManagement' : IDL.Null,\n 'DaoCommunitySettings' : IDL.Null,\n 'ApplicationBusinessLogic' : IDL.Null,\n 'CriticalDappOperations' : IDL.Null,\n 'TreasuryAssetManagement' : IDL.Null,\n 'Governance' : IDL.Null,\n 'SnsFrameworkManagement' : IDL.Null,\n });\n const GenericNervousSystemFunction = IDL.Record({\n 'topic' : IDL.Opt(Topic),\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 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 TreasuryMetrics = IDL.Record({\n 'name' : IDL.Opt(IDL.Text),\n 'original_amount_e8s' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n 'account' : IDL.Opt(Account),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'treasury' : IDL.Int32,\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const VotingPowerMetrics = IDL.Record({\n 'governance_total_potential_voting_power' : IDL.Opt(IDL.Nat64),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'treasury_metrics' : IDL.Vec(TreasuryMetrics),\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 'voting_power_metrics' : IDL.Opt(VotingPowerMetrics),\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 MaturityModulation = IDL.Record({\n 'current_basis_points' : IDL.Opt(IDL.Int32),\n 'updated_at_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const TargetVersionSet = IDL.Record({\n 'old_target_version' : IDL.Opt(Version),\n 'new_target_version' : IDL.Opt(Version),\n 'is_advanced_automatically' : IDL.Opt(IDL.Bool),\n });\n const UpgradeStepsReset = IDL.Record({\n 'human_readable' : IDL.Opt(IDL.Text),\n 'upgrade_steps' : IDL.Opt(Versions),\n });\n const UpgradeOutcome = IDL.Record({\n 'status' : IDL.Opt(\n IDL.Variant({\n 'Success' : IDL.Record({}),\n 'Timeout' : IDL.Record({}),\n 'ExternalFailure' : IDL.Record({}),\n 'InvalidState' : IDL.Record({ 'version' : IDL.Opt(Version) }),\n })\n ),\n 'human_readable' : IDL.Opt(IDL.Text),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const UpgradeStarted = IDL.Record({\n 'current_version' : IDL.Opt(Version),\n 'expected_version' : IDL.Opt(Version),\n 'reason' : IDL.Opt(\n IDL.Variant({\n 'UpgradeSnsToNextVersionProposal' : ProposalId,\n 'BehindTargetVersion' : IDL.Record({}),\n })\n ),\n });\n const UpgradeStepsRefreshed = IDL.Record({\n 'upgrade_steps' : IDL.Opt(Versions),\n });\n const TargetVersionReset = IDL.Record({\n 'human_readable' : IDL.Opt(IDL.Text),\n 'old_target_version' : IDL.Opt(Version),\n 'new_target_version' : IDL.Opt(Version),\n });\n const UpgradeJournalEntry = IDL.Record({\n 'event' : IDL.Opt(\n IDL.Variant({\n 'TargetVersionSet' : TargetVersionSet,\n 'UpgradeStepsReset' : UpgradeStepsReset,\n 'UpgradeOutcome' : UpgradeOutcome,\n 'UpgradeStarted' : UpgradeStarted,\n 'UpgradeStepsRefreshed' : UpgradeStepsRefreshed,\n 'TargetVersionReset' : TargetVersionReset,\n })\n ),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const UpgradeJournal = IDL.Record({\n 'entries' : IDL.Vec(UpgradeJournalEntry),\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 '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_dissolve_delay_bonus_percentage' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'automatically_advance_target_version' : IDL.Opt(IDL.Bool),\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 'max_age_bonus_percentage' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'voting_rewards_parameters' : IDL.Opt(VotingRewardsParameters),\n 'maturity_modulation_disabled' : IDL.Opt(IDL.Bool),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const RewardEvent = IDL.Record({\n 'rounds_since_last_distribution' : IDL.Opt(IDL.Nat64),\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'end_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'total_available_e8s_equivalent' : IDL.Opt(IDL.Nat64),\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'round' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const PendingVersion = IDL.Record({\n 'mark_failed_at_seconds' : IDL.Nat64,\n 'checking_upgrade_lock' : IDL.Nat64,\n 'proposal_id' : IDL.Opt(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 Decimal = IDL.Record({ 'human_readable' : IDL.Opt(IDL.Text) });\n const Tokens = IDL.Record({ 'e8s' : IDL.Opt(IDL.Nat64) });\n const ValuationFactors = IDL.Record({\n 'xdrs_per_icp' : IDL.Opt(Decimal),\n 'icps_per_token' : IDL.Opt(Decimal),\n 'tokens' : IDL.Opt(Tokens),\n });\n const Valuation = IDL.Record({\n 'token' : IDL.Opt(IDL.Int32),\n 'account' : IDL.Opt(Account),\n 'valuation_factors' : IDL.Opt(ValuationFactors),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const MintSnsTokensActionAuxiliary = IDL.Record({\n 'valuation' : IDL.Opt(Valuation),\n });\n const SnsVersion = IDL.Record({\n 'archive_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'root_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'swap_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'ledger_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'governance_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'index_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const AdvanceSnsTargetVersionActionAuxiliary = IDL.Record({\n 'target_version' : IDL.Opt(SnsVersion),\n });\n const ActionAuxiliary = IDL.Variant({\n 'TransferSnsTreasuryFunds' : MintSnsTokensActionAuxiliary,\n 'MintSnsTokens' : MintSnsTokensActionAuxiliary,\n 'AdvanceSnsTargetVersion' : AdvanceSnsTargetVersionActionAuxiliary,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Percentage = IDL.Record({ 'basis_points' : IDL.Opt(IDL.Nat64) });\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 ManageDappCanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Opt(IDL.Nat64),\n 'wasm_memory_threshold' : IDL.Opt(IDL.Nat64),\n 'canister_ids' : IDL.Vec(IDL.Principal),\n 'reserved_cycles_limit' : IDL.Opt(IDL.Nat64),\n 'log_visibility' : IDL.Opt(IDL.Int32),\n 'wasm_memory_limit' : IDL.Opt(IDL.Nat64),\n 'memory_allocation' : IDL.Opt(IDL.Nat64),\n 'compute_allocation' : IDL.Opt(IDL.Nat64),\n });\n PreciseValue.fill(\n IDL.Variant({\n 'Int' : IDL.Int64,\n 'Map' : IDL.Vec(IDL.Tuple(IDL.Text, PreciseValue)),\n 'Nat' : IDL.Nat64,\n 'Blob' : IDL.Vec(IDL.Nat8),\n 'Bool' : IDL.Bool,\n 'Text' : IDL.Text,\n 'Array' : IDL.Vec(PreciseValue),\n })\n );\n const ExtensionOperationArg = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });\n const ExecuteExtensionOperation = IDL.Record({\n 'extension_canister_id' : IDL.Opt(IDL.Principal),\n 'operation_name' : IDL.Opt(IDL.Text),\n 'operation_arg' : IDL.Opt(ExtensionOperationArg),\n });\n const ChunkedCanisterWasm = IDL.Record({\n 'wasm_module_hash' : IDL.Vec(IDL.Nat8),\n 'chunk_hashes_list' : IDL.Vec(IDL.Vec(IDL.Nat8)),\n 'store_canister_id' : IDL.Opt(IDL.Principal),\n });\n const Wasm = IDL.Variant({\n 'Chunked' : ChunkedCanisterWasm,\n 'Bytes' : IDL.Vec(IDL.Nat8),\n });\n const ExtensionUpgradeArg = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });\n const UpgradeExtension = IDL.Record({\n 'extension_canister_id' : IDL.Opt(IDL.Principal),\n 'wasm' : IDL.Opt(Wasm),\n 'canister_upgrade_arg' : IDL.Opt(ExtensionUpgradeArg),\n });\n const SetTopicsForCustomProposals = IDL.Record({\n 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),\n });\n const ExtensionInit = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });\n const RegisterExtension = IDL.Record({\n 'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),\n 'extension_init' : IDL.Opt(ExtensionInit),\n });\n const RegisterDappCanisters = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n });\n const TransferSnsTreasuryFunds = IDL.Record({\n 'from_treasury' : IDL.Int32,\n 'to_principal' : IDL.Opt(IDL.Principal),\n 'to_subaccount' : IDL.Opt(Subaccount),\n 'memo' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'mode' : IDL.Opt(IDL.Int32),\n 'canister_id' : IDL.Opt(IDL.Principal),\n 'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),\n 'canister_upgrade_arg' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const DeregisterDappCanisters = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n 'new_controllers' : IDL.Vec(IDL.Principal),\n });\n const MintSnsTokens = IDL.Record({\n 'to_principal' : IDL.Opt(IDL.Principal),\n 'to_subaccount' : IDL.Opt(Subaccount),\n 'memo' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n });\n const AdvanceSnsTargetVersion = IDL.Record({\n 'new_target' : IDL.Opt(SnsVersion),\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 ManageLedgerParameters = IDL.Record({\n 'token_symbol' : IDL.Opt(IDL.Text),\n 'transfer_fee' : IDL.Opt(IDL.Nat64),\n 'token_logo' : IDL.Opt(IDL.Text),\n 'token_name' : IDL.Opt(IDL.Text),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'ManageDappCanisterSettings' : ManageDappCanisterSettings,\n 'ExecuteExtensionOperation' : ExecuteExtensionOperation,\n 'UpgradeExtension' : UpgradeExtension,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'SetTopicsForCustomProposals' : SetTopicsForCustomProposals,\n 'RegisterExtension' : RegisterExtension,\n 'UpgradeSnsToNextVersion' : IDL.Record({}),\n 'RegisterDappCanisters' : RegisterDappCanisters,\n 'TransferSnsTreasuryFunds' : TransferSnsTreasuryFunds,\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'DeregisterDappCanisters' : DeregisterDappCanisters,\n 'MintSnsTokens' : MintSnsTokens,\n 'AdvanceSnsTargetVersion' : AdvanceSnsTargetVersion,\n 'Unspecified' : IDL.Record({}),\n 'ManageSnsMetadata' : ManageSnsMetadata,\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'ManageLedgerParameters' : ManageLedgerParameters,\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 'topic' : IDL.Opt(Topic),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'action_auxiliary' : IDL.Opt(ActionAuxiliary),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'minimum_yes_proportion_of_total' : IDL.Opt(Percentage),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'reward_event_end_timestamp_seconds' : IDL.Opt(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 'minimum_yes_proportion_of_exercised' : IDL.Opt(Percentage),\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 DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const ChangeAutoStakeMaturity = IDL.Record({\n 'requested_setting_for_auto_stake_maturity' : IDL.Bool,\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 'ChangeAutoStakeMaturity' : ChangeAutoStakeMaturity,\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 Followee = IDL.Record({\n 'alias' : IDL.Opt(IDL.Text),\n 'neuron_id' : IDL.Opt(NeuronId),\n });\n const FolloweesForTopic = IDL.Record({\n 'topic' : IDL.Opt(Topic),\n 'followees' : IDL.Vec(Followee),\n });\n const SetFollowing = IDL.Record({\n 'topic_following' : IDL.Vec(FolloweesForTopic),\n });\n const FinalizeDisburseMaturity = IDL.Record({\n 'amount_to_be_disbursed_e8s' : IDL.Nat64,\n 'to_account' : IDL.Opt(Account),\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 'SetFollowing' : SetFollowing,\n 'SyncCommand' : IDL.Record({}),\n 'MakeProposal' : Proposal,\n 'FinalizeDisburseMaturity' : FinalizeDisburseMaturity,\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 DisburseMaturityInProgress = IDL.Record({\n 'timestamp_of_disbursement_seconds' : IDL.Nat64,\n 'amount_e8s' : IDL.Nat64,\n 'account_to_disburse_to' : IDL.Opt(Account),\n 'finalize_disbursement_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'staked_maturity_e8s_equivalent' : IDL.Opt(IDL.Nat64),\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 'topic_followees' : IDL.Opt(\n IDL.Record({\n 'topic_id_to_followees' : IDL.Vec(\n IDL.Tuple(IDL.Int32, FolloweesForTopic)\n ),\n })\n ),\n 'source_nns_neuron_id' : IDL.Opt(IDL.Nat64),\n 'auto_stake_maturity' : IDL.Opt(IDL.Bool),\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'voting_power_percentage_multiplier' : IDL.Nat64,\n 'vesting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'disburse_maturity_in_progress' : IDL.Vec(DisburseMaturityInProgress),\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 'timers' : IDL.Opt(Timers),\n 'cached_upgrade_steps' : IDL.Opt(CachedUpgradeSteps),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'maturity_modulation' : IDL.Opt(MaturityModulation),\n 'upgrade_journal' : IDL.Opt(UpgradeJournal),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'is_finalizing_disburse_maturity' : IDL.Opt(IDL.Bool),\n 'deployed_version' : IDL.Opt(Version),\n 'sns_initialization_parameters' : IDL.Text,\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'pending_version' : IDL.Opt(PendingVersion),\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 'target_version' : IDL.Opt(Version),\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 PreciseValue = IDL.Rec();\n const Timers = IDL.Record({\n 'last_spawned_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'last_reset_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'requires_periodic_tasks' : IDL.Opt(IDL.Bool),\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 'index_wasm_hash' : IDL.Vec(IDL.Nat8),\n });\n const Versions = IDL.Record({ 'versions' : IDL.Vec(Version) });\n const CachedUpgradeSteps = IDL.Record({\n 'upgrade_steps' : IDL.Opt(Versions),\n 'response_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'requested_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Topic = IDL.Variant({\n 'DappCanisterManagement' : IDL.Null,\n 'DaoCommunitySettings' : IDL.Null,\n 'ApplicationBusinessLogic' : IDL.Null,\n 'CriticalDappOperations' : IDL.Null,\n 'TreasuryAssetManagement' : IDL.Null,\n 'Governance' : IDL.Null,\n 'SnsFrameworkManagement' : IDL.Null,\n });\n const GenericNervousSystemFunction = IDL.Record({\n 'topic' : IDL.Opt(Topic),\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 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 TreasuryMetrics = IDL.Record({\n 'name' : IDL.Opt(IDL.Text),\n 'original_amount_e8s' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n 'account' : IDL.Opt(Account),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'treasury' : IDL.Int32,\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const VotingPowerMetrics = IDL.Record({\n 'governance_total_potential_voting_power' : IDL.Opt(IDL.Nat64),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'treasury_metrics' : IDL.Vec(TreasuryMetrics),\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 'voting_power_metrics' : IDL.Opt(VotingPowerMetrics),\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 MaturityModulation = IDL.Record({\n 'current_basis_points' : IDL.Opt(IDL.Int32),\n 'updated_at_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const TargetVersionSet = IDL.Record({\n 'old_target_version' : IDL.Opt(Version),\n 'new_target_version' : IDL.Opt(Version),\n 'is_advanced_automatically' : IDL.Opt(IDL.Bool),\n });\n const UpgradeStepsReset = IDL.Record({\n 'human_readable' : IDL.Opt(IDL.Text),\n 'upgrade_steps' : IDL.Opt(Versions),\n });\n const UpgradeOutcome = IDL.Record({\n 'status' : IDL.Opt(\n IDL.Variant({\n 'Success' : IDL.Record({}),\n 'Timeout' : IDL.Record({}),\n 'ExternalFailure' : IDL.Record({}),\n 'InvalidState' : IDL.Record({ 'version' : IDL.Opt(Version) }),\n })\n ),\n 'human_readable' : IDL.Opt(IDL.Text),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const UpgradeStarted = IDL.Record({\n 'current_version' : IDL.Opt(Version),\n 'expected_version' : IDL.Opt(Version),\n 'reason' : IDL.Opt(\n IDL.Variant({\n 'UpgradeSnsToNextVersionProposal' : ProposalId,\n 'BehindTargetVersion' : IDL.Record({}),\n })\n ),\n });\n const UpgradeStepsRefreshed = IDL.Record({\n 'upgrade_steps' : IDL.Opt(Versions),\n });\n const TargetVersionReset = IDL.Record({\n 'human_readable' : IDL.Opt(IDL.Text),\n 'old_target_version' : IDL.Opt(Version),\n 'new_target_version' : IDL.Opt(Version),\n });\n const UpgradeJournalEntry = IDL.Record({\n 'event' : IDL.Opt(\n IDL.Variant({\n 'TargetVersionSet' : TargetVersionSet,\n 'UpgradeStepsReset' : UpgradeStepsReset,\n 'UpgradeOutcome' : UpgradeOutcome,\n 'UpgradeStarted' : UpgradeStarted,\n 'UpgradeStepsRefreshed' : UpgradeStepsRefreshed,\n 'TargetVersionReset' : TargetVersionReset,\n })\n ),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const UpgradeJournal = IDL.Record({\n 'entries' : IDL.Vec(UpgradeJournalEntry),\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 '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_dissolve_delay_bonus_percentage' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'automatically_advance_target_version' : IDL.Opt(IDL.Bool),\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 'max_age_bonus_percentage' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'voting_rewards_parameters' : IDL.Opt(VotingRewardsParameters),\n 'maturity_modulation_disabled' : IDL.Opt(IDL.Bool),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const RewardEvent = IDL.Record({\n 'rounds_since_last_distribution' : IDL.Opt(IDL.Nat64),\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'end_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'total_available_e8s_equivalent' : IDL.Opt(IDL.Nat64),\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'round' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const PendingVersion = IDL.Record({\n 'mark_failed_at_seconds' : IDL.Nat64,\n 'checking_upgrade_lock' : IDL.Nat64,\n 'proposal_id' : IDL.Opt(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 Decimal = IDL.Record({ 'human_readable' : IDL.Opt(IDL.Text) });\n const Tokens = IDL.Record({ 'e8s' : IDL.Opt(IDL.Nat64) });\n const ValuationFactors = IDL.Record({\n 'xdrs_per_icp' : IDL.Opt(Decimal),\n 'icps_per_token' : IDL.Opt(Decimal),\n 'tokens' : IDL.Opt(Tokens),\n });\n const Valuation = IDL.Record({\n 'token' : IDL.Opt(IDL.Int32),\n 'account' : IDL.Opt(Account),\n 'valuation_factors' : IDL.Opt(ValuationFactors),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const MintSnsTokensActionAuxiliary = IDL.Record({\n 'valuation' : IDL.Opt(Valuation),\n });\n const SnsVersion = IDL.Record({\n 'archive_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'root_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'swap_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'ledger_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'governance_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'index_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const AdvanceSnsTargetVersionActionAuxiliary = IDL.Record({\n 'target_version' : IDL.Opt(SnsVersion),\n });\n const ActionAuxiliary = IDL.Variant({\n 'TransferSnsTreasuryFunds' : MintSnsTokensActionAuxiliary,\n 'MintSnsTokens' : MintSnsTokensActionAuxiliary,\n 'AdvanceSnsTargetVersion' : AdvanceSnsTargetVersionActionAuxiliary,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Percentage = IDL.Record({ 'basis_points' : IDL.Opt(IDL.Nat64) });\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 ManageDappCanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Opt(IDL.Nat64),\n 'wasm_memory_threshold' : IDL.Opt(IDL.Nat64),\n 'canister_ids' : IDL.Vec(IDL.Principal),\n 'reserved_cycles_limit' : IDL.Opt(IDL.Nat64),\n 'log_visibility' : IDL.Opt(IDL.Int32),\n 'wasm_memory_limit' : IDL.Opt(IDL.Nat64),\n 'memory_allocation' : IDL.Opt(IDL.Nat64),\n 'compute_allocation' : IDL.Opt(IDL.Nat64),\n });\n PreciseValue.fill(\n IDL.Variant({\n 'Int' : IDL.Int64,\n 'Map' : IDL.Vec(IDL.Tuple(IDL.Text, PreciseValue)),\n 'Nat' : IDL.Nat64,\n 'Blob' : IDL.Vec(IDL.Nat8),\n 'Bool' : IDL.Bool,\n 'Text' : IDL.Text,\n 'Array' : IDL.Vec(PreciseValue),\n })\n );\n const ExtensionOperationArg = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });\n const ExecuteExtensionOperation = IDL.Record({\n 'extension_canister_id' : IDL.Opt(IDL.Principal),\n 'operation_name' : IDL.Opt(IDL.Text),\n 'operation_arg' : IDL.Opt(ExtensionOperationArg),\n });\n const ChunkedCanisterWasm = IDL.Record({\n 'wasm_module_hash' : IDL.Vec(IDL.Nat8),\n 'chunk_hashes_list' : IDL.Vec(IDL.Vec(IDL.Nat8)),\n 'store_canister_id' : IDL.Opt(IDL.Principal),\n });\n const Wasm = IDL.Variant({\n 'Chunked' : ChunkedCanisterWasm,\n 'Bytes' : IDL.Vec(IDL.Nat8),\n });\n const ExtensionUpgradeArg = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });\n const UpgradeExtension = IDL.Record({\n 'extension_canister_id' : IDL.Opt(IDL.Principal),\n 'wasm' : IDL.Opt(Wasm),\n 'canister_upgrade_arg' : IDL.Opt(ExtensionUpgradeArg),\n });\n const SetTopicsForCustomProposals = IDL.Record({\n 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),\n });\n const ExtensionInit = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });\n const RegisterExtension = IDL.Record({\n 'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),\n 'extension_init' : IDL.Opt(ExtensionInit),\n });\n const RegisterDappCanisters = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n });\n const TransferSnsTreasuryFunds = IDL.Record({\n 'from_treasury' : IDL.Int32,\n 'to_principal' : IDL.Opt(IDL.Principal),\n 'to_subaccount' : IDL.Opt(Subaccount),\n 'memo' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'mode' : IDL.Opt(IDL.Int32),\n 'canister_id' : IDL.Opt(IDL.Principal),\n 'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),\n 'canister_upgrade_arg' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const DeregisterDappCanisters = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n 'new_controllers' : IDL.Vec(IDL.Principal),\n });\n const MintSnsTokens = IDL.Record({\n 'to_principal' : IDL.Opt(IDL.Principal),\n 'to_subaccount' : IDL.Opt(Subaccount),\n 'memo' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n });\n const AdvanceSnsTargetVersion = IDL.Record({\n 'new_target' : IDL.Opt(SnsVersion),\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 ManageLedgerParameters = IDL.Record({\n 'token_symbol' : IDL.Opt(IDL.Text),\n 'transfer_fee' : IDL.Opt(IDL.Nat64),\n 'token_logo' : IDL.Opt(IDL.Text),\n 'token_name' : IDL.Opt(IDL.Text),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'ManageDappCanisterSettings' : ManageDappCanisterSettings,\n 'ExecuteExtensionOperation' : ExecuteExtensionOperation,\n 'UpgradeExtension' : UpgradeExtension,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'SetTopicsForCustomProposals' : SetTopicsForCustomProposals,\n 'RegisterExtension' : RegisterExtension,\n 'UpgradeSnsToNextVersion' : IDL.Record({}),\n 'RegisterDappCanisters' : RegisterDappCanisters,\n 'TransferSnsTreasuryFunds' : TransferSnsTreasuryFunds,\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'DeregisterDappCanisters' : DeregisterDappCanisters,\n 'MintSnsTokens' : MintSnsTokens,\n 'AdvanceSnsTargetVersion' : AdvanceSnsTargetVersion,\n 'Unspecified' : IDL.Record({}),\n 'ManageSnsMetadata' : ManageSnsMetadata,\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'ManageLedgerParameters' : ManageLedgerParameters,\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 'topic' : IDL.Opt(Topic),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'action_auxiliary' : IDL.Opt(ActionAuxiliary),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'minimum_yes_proportion_of_total' : IDL.Opt(Percentage),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'reward_event_end_timestamp_seconds' : IDL.Opt(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 'minimum_yes_proportion_of_exercised' : IDL.Opt(Percentage),\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 DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const ChangeAutoStakeMaturity = IDL.Record({\n 'requested_setting_for_auto_stake_maturity' : IDL.Bool,\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 'ChangeAutoStakeMaturity' : ChangeAutoStakeMaturity,\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 Followee = IDL.Record({\n 'alias' : IDL.Opt(IDL.Text),\n 'neuron_id' : IDL.Opt(NeuronId),\n });\n const FolloweesForTopic = IDL.Record({\n 'topic' : IDL.Opt(Topic),\n 'followees' : IDL.Vec(Followee),\n });\n const SetFollowing = IDL.Record({\n 'topic_following' : IDL.Vec(FolloweesForTopic),\n });\n const FinalizeDisburseMaturity = IDL.Record({\n 'amount_to_be_disbursed_e8s' : IDL.Nat64,\n 'to_account' : IDL.Opt(Account),\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 'SetFollowing' : SetFollowing,\n 'SyncCommand' : IDL.Record({}),\n 'MakeProposal' : Proposal,\n 'FinalizeDisburseMaturity' : FinalizeDisburseMaturity,\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 DisburseMaturityInProgress = IDL.Record({\n 'timestamp_of_disbursement_seconds' : IDL.Nat64,\n 'amount_e8s' : IDL.Nat64,\n 'account_to_disburse_to' : IDL.Opt(Account),\n 'finalize_disbursement_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'staked_maturity_e8s_equivalent' : IDL.Opt(IDL.Nat64),\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 'topic_followees' : IDL.Opt(\n IDL.Record({\n 'topic_id_to_followees' : IDL.Vec(\n IDL.Tuple(IDL.Int32, FolloweesForTopic)\n ),\n })\n ),\n 'source_nns_neuron_id' : IDL.Opt(IDL.Nat64),\n 'auto_stake_maturity' : IDL.Opt(IDL.Bool),\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'voting_power_percentage_multiplier' : IDL.Nat64,\n 'vesting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'disburse_maturity_in_progress' : IDL.Vec(DisburseMaturityInProgress),\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 'timers' : IDL.Opt(Timers),\n 'cached_upgrade_steps' : IDL.Opt(CachedUpgradeSteps),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'maturity_modulation' : IDL.Opt(MaturityModulation),\n 'upgrade_journal' : IDL.Opt(UpgradeJournal),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'is_finalizing_disburse_maturity' : IDL.Opt(IDL.Bool),\n 'deployed_version' : IDL.Opt(Version),\n 'sns_initialization_parameters' : IDL.Text,\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'pending_version' : IDL.Opt(PendingVersion),\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 'target_version' : IDL.Opt(Version),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n const Principals = IDL.Record({ 'principals' : IDL.Vec(IDL.Principal) });\n const NeuronsFund = IDL.Record({\n 'nns_neuron_hotkeys' : IDL.Opt(Principals),\n 'nns_neuron_controller' : IDL.Opt(IDL.Principal),\n 'nns_neuron_id' : IDL.Opt(IDL.Nat64),\n });\n const Participant = IDL.Variant({\n 'NeuronsFund' : NeuronsFund,\n 'Direct' : IDL.Record({}),\n });\n const NeuronIds = IDL.Record({ 'neuron_ids' : IDL.Vec(NeuronId) });\n const NeuronRecipe = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'participant' : IDL.Opt(Participant),\n 'stake_e8s' : IDL.Opt(IDL.Nat64),\n 'followees' : IDL.Opt(NeuronIds),\n 'neuron_id' : IDL.Opt(NeuronId),\n });\n const NeuronRecipes = IDL.Record({\n 'neuron_recipes' : IDL.Vec(NeuronRecipe),\n });\n const ClaimSwapNeuronsRequest = IDL.Record({\n 'neuron_recipes' : IDL.Opt(NeuronRecipes),\n });\n const SwapNeuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'status' : IDL.Int32,\n });\n const ClaimedSwapNeurons = IDL.Record({\n 'swap_neurons' : IDL.Vec(SwapNeuron),\n });\n const ClaimSwapNeuronsResult = IDL.Variant({\n 'Ok' : ClaimedSwapNeurons,\n 'Err' : IDL.Int32,\n });\n const ClaimSwapNeuronsResponse = IDL.Record({\n 'claim_swap_neurons_result' : IDL.Opt(ClaimSwapNeuronsResult),\n });\n const GetMaturityModulationResponse = IDL.Record({\n 'maturity_modulation' : IDL.Opt(MaturityModulation),\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 GetMetricsRequest = IDL.Record({\n 'time_window_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Metrics = IDL.Record({\n 'treasury_metrics' : IDL.Opt(IDL.Vec(TreasuryMetrics)),\n 'voting_power_metrics' : IDL.Opt(VotingPowerMetrics),\n 'last_ledger_block_timestamp' : IDL.Opt(IDL.Nat64),\n 'num_recently_executed_proposals' : IDL.Opt(IDL.Nat64),\n 'num_recently_submitted_proposals' : IDL.Opt(IDL.Nat64),\n 'genesis_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const GetMetricsResult = IDL.Variant({\n 'Ok' : Metrics,\n 'Err' : GovernanceError,\n });\n const GetMetricsResponse = IDL.Record({\n 'get_metrics_result' : IDL.Opt(GetMetricsResult),\n });\n const GetModeResponse = IDL.Record({ 'mode' : IDL.Opt(IDL.Int32) });\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 MemoryMetrics = IDL.Record({\n 'wasm_binary_size' : IDL.Opt(IDL.Nat),\n 'wasm_chunk_store_size' : IDL.Opt(IDL.Nat),\n 'canister_history_size' : IDL.Opt(IDL.Nat),\n 'stable_memory_size' : IDL.Opt(IDL.Nat),\n 'snapshots_size' : IDL.Opt(IDL.Nat),\n 'wasm_memory_size' : IDL.Opt(IDL.Nat),\n 'global_memory_size' : IDL.Opt(IDL.Nat),\n 'custom_sections_size' : IDL.Opt(IDL.Nat),\n });\n const CanisterStatusType = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const DefiniteCanisterSettingsArgs = IDL.Record({\n 'freezing_threshold' : IDL.Nat,\n 'wasm_memory_threshold' : IDL.Opt(IDL.Nat),\n 'controllers' : IDL.Vec(IDL.Principal),\n 'wasm_memory_limit' : IDL.Opt(IDL.Nat),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const QueryStats = IDL.Record({\n 'response_payload_bytes_total' : IDL.Opt(IDL.Nat),\n 'num_instructions_total' : IDL.Opt(IDL.Nat),\n 'num_calls_total' : IDL.Opt(IDL.Nat),\n 'request_payload_bytes_total' : IDL.Opt(IDL.Nat),\n });\n const CanisterStatusResultV2 = IDL.Record({\n 'memory_metrics' : IDL.Opt(MemoryMetrics),\n 'status' : CanisterStatusType,\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettingsArgs,\n 'query_stats' : IDL.Opt(QueryStats),\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(\n 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 ),\n });\n const GetSnsInitializationParametersResponse = IDL.Record({\n 'sns_initialization_parameters' : IDL.Text,\n });\n const GetTimersResponse = IDL.Record({ 'timers' : IDL.Opt(Timers) });\n const GetUpgradeJournalRequest = IDL.Record({\n 'offset' : IDL.Opt(IDL.Nat64),\n 'limit' : IDL.Opt(IDL.Nat64),\n });\n const GetUpgradeJournalResponse = IDL.Record({\n 'upgrade_journal' : IDL.Opt(UpgradeJournal),\n 'upgrade_steps' : IDL.Opt(Versions),\n 'response_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'deployed_version' : IDL.Opt(Version),\n 'target_version' : IDL.Opt(Version),\n 'upgrade_journal_entry_count' : IDL.Opt(IDL.Nat64),\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 TopicSelector = IDL.Record({ 'topic' : IDL.Opt(Topic) });\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_topics' : IDL.Opt(IDL.Vec(TopicSelector)),\n 'include_status' : IDL.Vec(IDL.Int32),\n });\n const ListProposalsResponse = IDL.Record({\n 'include_ballots_by_caller' : IDL.Opt(IDL.Bool),\n 'proposals' : IDL.Vec(ProposalData),\n 'include_topic_filtering' : IDL.Opt(IDL.Bool),\n });\n const ListTopicsRequest = IDL.Record({});\n const ExtensionOperationType = IDL.Variant({\n 'TreasuryManagerWithdraw' : IDL.Null,\n 'TreasuryManagerDeposit' : IDL.Null,\n });\n const ExtensionType = IDL.Variant({ 'TreasuryManager' : IDL.Null });\n const ExtensionOperationSpec = IDL.Record({\n 'topic' : IDL.Opt(Topic),\n 'operation_type' : IDL.Opt(ExtensionOperationType),\n 'description' : IDL.Opt(IDL.Text),\n 'extension_type' : IDL.Opt(ExtensionType),\n });\n const RegisteredExtensionOperationSpec = IDL.Record({\n 'spec' : IDL.Opt(ExtensionOperationSpec),\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const TopicInfo = IDL.Record({\n 'extension_operations' : IDL.Opt(IDL.Vec(RegisteredExtensionOperationSpec)),\n 'native_functions' : IDL.Opt(IDL.Vec(NervousSystemFunction)),\n 'topic' : IDL.Opt(Topic),\n 'is_critical' : IDL.Opt(IDL.Bool),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n 'custom_functions' : IDL.Opt(IDL.Vec(NervousSystemFunction)),\n });\n const ListTopicsResponse = IDL.Record({\n 'uncategorized_functions' : IDL.Opt(IDL.Vec(NervousSystemFunction)),\n 'topics' : IDL.Opt(IDL.Vec(TopicInfo)),\n });\n const StakeMaturity = IDL.Record({\n 'percentage_to_stake' : IDL.Opt(IDL.Nat32),\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 'SetFollowing' : SetFollowing,\n 'MakeProposal' : Proposal,\n 'StakeMaturity' : StakeMaturity,\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 'amount_disbursed_e8s' : IDL.Nat64,\n 'amount_deducted_e8s' : IDL.Opt(IDL.Nat64),\n });\n const ClaimOrRefreshResponse = IDL.Record({\n 'refreshed_neuron_id' : IDL.Opt(NeuronId),\n });\n const StakeMaturityResponse = IDL.Record({\n 'maturity_e8s' : IDL.Nat64,\n 'staked_maturity_e8s' : IDL.Nat64,\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 'SetFollowing' : IDL.Record({}),\n 'MakeProposal' : GetProposal,\n 'RemoveNeuronPermission' : IDL.Record({}),\n 'StakeMaturity' : StakeMaturityResponse,\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 'claim_swap_neurons' : IDL.Func(\n [ClaimSwapNeuronsRequest],\n [ClaimSwapNeuronsResponse],\n [],\n ),\n 'fail_stuck_upgrade_in_progress' : IDL.Func(\n [IDL.Record({})],\n [IDL.Record({})],\n [],\n ),\n 'get_build_metadata' : IDL.Func([], [IDL.Text], ['query']),\n 'get_latest_reward_event' : IDL.Func([], [RewardEvent], ['query']),\n 'get_maturity_modulation' : IDL.Func(\n [IDL.Record({})],\n [GetMaturityModulationResponse],\n [],\n ),\n 'get_metadata' : IDL.Func(\n [IDL.Record({})],\n [GetMetadataResponse],\n ['query'],\n ),\n 'get_metrics' : IDL.Func(\n [GetMetricsRequest],\n [GetMetricsResponse],\n ['composite_query'],\n ),\n 'get_metrics_replicated' : IDL.Func(\n [GetMetricsRequest],\n [GetMetricsResponse],\n [],\n ),\n 'get_mode' : IDL.Func([IDL.Record({})], [GetModeResponse], ['query']),\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 'get_timers' : IDL.Func([IDL.Record({})], [GetTimersResponse], ['query']),\n 'get_upgrade_journal' : IDL.Func(\n [GetUpgradeJournalRequest],\n [GetUpgradeJournalResponse],\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 'list_topics' : IDL.Func(\n [ListTopicsRequest],\n [ListTopicsResponse],\n ['query'],\n ),\n 'manage_neuron' : IDL.Func([ManageNeuron], [ManageNeuronResponse], []),\n 'reset_timers' : IDL.Func([IDL.Record({})], [IDL.Record({})], []),\n 'set_mode' : IDL.Func([SetMode], [IDL.Record({})], []),\n });\n};\nexport const init = ({ IDL }) => {\n const PreciseValue = IDL.Rec();\n const Timers = IDL.Record({\n 'last_spawned_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'last_reset_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'requires_periodic_tasks' : IDL.Opt(IDL.Bool),\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 'index_wasm_hash' : IDL.Vec(IDL.Nat8),\n });\n const Versions = IDL.Record({ 'versions' : IDL.Vec(Version) });\n const CachedUpgradeSteps = IDL.Record({\n 'upgrade_steps' : IDL.Opt(Versions),\n 'response_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'requested_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Topic = IDL.Variant({\n 'DappCanisterManagement' : IDL.Null,\n 'DaoCommunitySettings' : IDL.Null,\n 'ApplicationBusinessLogic' : IDL.Null,\n 'CriticalDappOperations' : IDL.Null,\n 'TreasuryAssetManagement' : IDL.Null,\n 'Governance' : IDL.Null,\n 'SnsFrameworkManagement' : IDL.Null,\n });\n const GenericNervousSystemFunction = IDL.Record({\n 'topic' : IDL.Opt(Topic),\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 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 TreasuryMetrics = IDL.Record({\n 'name' : IDL.Opt(IDL.Text),\n 'original_amount_e8s' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n 'account' : IDL.Opt(Account),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'treasury' : IDL.Int32,\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const VotingPowerMetrics = IDL.Record({\n 'governance_total_potential_voting_power' : IDL.Opt(IDL.Nat64),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'treasury_metrics' : IDL.Vec(TreasuryMetrics),\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 'voting_power_metrics' : IDL.Opt(VotingPowerMetrics),\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 MaturityModulation = IDL.Record({\n 'current_basis_points' : IDL.Opt(IDL.Int32),\n 'updated_at_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const TargetVersionSet = IDL.Record({\n 'old_target_version' : IDL.Opt(Version),\n 'new_target_version' : IDL.Opt(Version),\n 'is_advanced_automatically' : IDL.Opt(IDL.Bool),\n });\n const UpgradeStepsReset = IDL.Record({\n 'human_readable' : IDL.Opt(IDL.Text),\n 'upgrade_steps' : IDL.Opt(Versions),\n });\n const UpgradeOutcome = IDL.Record({\n 'status' : IDL.Opt(\n IDL.Variant({\n 'Success' : IDL.Record({}),\n 'Timeout' : IDL.Record({}),\n 'ExternalFailure' : IDL.Record({}),\n 'InvalidState' : IDL.Record({ 'version' : IDL.Opt(Version) }),\n })\n ),\n 'human_readable' : IDL.Opt(IDL.Text),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const UpgradeStarted = IDL.Record({\n 'current_version' : IDL.Opt(Version),\n 'expected_version' : IDL.Opt(Version),\n 'reason' : IDL.Opt(\n IDL.Variant({\n 'UpgradeSnsToNextVersionProposal' : ProposalId,\n 'BehindTargetVersion' : IDL.Record({}),\n })\n ),\n });\n const UpgradeStepsRefreshed = IDL.Record({\n 'upgrade_steps' : IDL.Opt(Versions),\n });\n const TargetVersionReset = IDL.Record({\n 'human_readable' : IDL.Opt(IDL.Text),\n 'old_target_version' : IDL.Opt(Version),\n 'new_target_version' : IDL.Opt(Version),\n });\n const UpgradeJournalEntry = IDL.Record({\n 'event' : IDL.Opt(\n IDL.Variant({\n 'TargetVersionSet' : TargetVersionSet,\n 'UpgradeStepsReset' : UpgradeStepsReset,\n 'UpgradeOutcome' : UpgradeOutcome,\n 'UpgradeStarted' : UpgradeStarted,\n 'UpgradeStepsRefreshed' : UpgradeStepsRefreshed,\n 'TargetVersionReset' : TargetVersionReset,\n })\n ),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const UpgradeJournal = IDL.Record({\n 'entries' : IDL.Vec(UpgradeJournalEntry),\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 '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_dissolve_delay_bonus_percentage' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'automatically_advance_target_version' : IDL.Opt(IDL.Bool),\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 'max_age_bonus_percentage' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'voting_rewards_parameters' : IDL.Opt(VotingRewardsParameters),\n 'maturity_modulation_disabled' : IDL.Opt(IDL.Bool),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const RewardEvent = IDL.Record({\n 'rounds_since_last_distribution' : IDL.Opt(IDL.Nat64),\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'end_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'total_available_e8s_equivalent' : IDL.Opt(IDL.Nat64),\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'round' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const PendingVersion = IDL.Record({\n 'mark_failed_at_seconds' : IDL.Nat64,\n 'checking_upgrade_lock' : IDL.Nat64,\n 'proposal_id' : IDL.Opt(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 Decimal = IDL.Record({ 'human_readable' : IDL.Opt(IDL.Text) });\n const Tokens = IDL.Record({ 'e8s' : IDL.Opt(IDL.Nat64) });\n const ValuationFactors = IDL.Record({\n 'xdrs_per_icp' : IDL.Opt(Decimal),\n 'icps_per_token' : IDL.Opt(Decimal),\n 'tokens' : IDL.Opt(Tokens),\n });\n const Valuation = IDL.Record({\n 'token' : IDL.Opt(IDL.Int32),\n 'account' : IDL.Opt(Account),\n 'valuation_factors' : IDL.Opt(ValuationFactors),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const MintSnsTokensActionAuxiliary = IDL.Record({\n 'valuation' : IDL.Opt(Valuation),\n });\n const SnsVersion = IDL.Record({\n 'archive_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'root_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'swap_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'ledger_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'governance_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'index_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const AdvanceSnsTargetVersionActionAuxiliary = IDL.Record({\n 'target_version' : IDL.Opt(SnsVersion),\n });\n const ActionAuxiliary = IDL.Variant({\n 'TransferSnsTreasuryFunds' : MintSnsTokensActionAuxiliary,\n 'MintSnsTokens' : MintSnsTokensActionAuxiliary,\n 'AdvanceSnsTargetVersion' : AdvanceSnsTargetVersionActionAuxiliary,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Percentage = IDL.Record({ 'basis_points' : IDL.Opt(IDL.Nat64) });\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 ManageDappCanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Opt(IDL.Nat64),\n 'wasm_memory_threshold' : IDL.Opt(IDL.Nat64),\n 'canister_ids' : IDL.Vec(IDL.Principal),\n 'reserved_cycles_limit' : IDL.Opt(IDL.Nat64),\n 'log_visibility' : IDL.Opt(IDL.Int32),\n 'wasm_memory_limit' : IDL.Opt(IDL.Nat64),\n 'memory_allocation' : IDL.Opt(IDL.Nat64),\n 'compute_allocation' : IDL.Opt(IDL.Nat64),\n });\n PreciseValue.fill(\n IDL.Variant({\n 'Int' : IDL.Int64,\n 'Map' : IDL.Vec(IDL.Tuple(IDL.Text, PreciseValue)),\n 'Nat' : IDL.Nat64,\n 'Blob' : IDL.Vec(IDL.Nat8),\n 'Bool' : IDL.Bool,\n 'Text' : IDL.Text,\n 'Array' : IDL.Vec(PreciseValue),\n })\n );\n const ExtensionOperationArg = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });\n const ExecuteExtensionOperation = IDL.Record({\n 'extension_canister_id' : IDL.Opt(IDL.Principal),\n 'operation_name' : IDL.Opt(IDL.Text),\n 'operation_arg' : IDL.Opt(ExtensionOperationArg),\n });\n const ChunkedCanisterWasm = IDL.Record({\n 'wasm_module_hash' : IDL.Vec(IDL.Nat8),\n 'chunk_hashes_list' : IDL.Vec(IDL.Vec(IDL.Nat8)),\n 'store_canister_id' : IDL.Opt(IDL.Principal),\n });\n const Wasm = IDL.Variant({\n 'Chunked' : ChunkedCanisterWasm,\n 'Bytes' : IDL.Vec(IDL.Nat8),\n });\n const ExtensionUpgradeArg = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });\n const UpgradeExtension = IDL.Record({\n 'extension_canister_id' : IDL.Opt(IDL.Principal),\n 'wasm' : IDL.Opt(Wasm),\n 'canister_upgrade_arg' : IDL.Opt(ExtensionUpgradeArg),\n });\n const SetTopicsForCustomProposals = IDL.Record({\n 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),\n });\n const ExtensionInit = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });\n const RegisterExtension = IDL.Record({\n 'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),\n 'extension_init' : IDL.Opt(ExtensionInit),\n });\n const RegisterDappCanisters = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n });\n const TransferSnsTreasuryFunds = IDL.Record({\n 'from_treasury' : IDL.Int32,\n 'to_principal' : IDL.Opt(IDL.Principal),\n 'to_subaccount' : IDL.Opt(Subaccount),\n 'memo' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'mode' : IDL.Opt(IDL.Int32),\n 'canister_id' : IDL.Opt(IDL.Principal),\n 'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),\n 'canister_upgrade_arg' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const DeregisterDappCanisters = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n 'new_controllers' : IDL.Vec(IDL.Principal),\n });\n const MintSnsTokens = IDL.Record({\n 'to_principal' : IDL.Opt(IDL.Principal),\n 'to_subaccount' : IDL.Opt(Subaccount),\n 'memo' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n });\n const AdvanceSnsTargetVersion = IDL.Record({\n 'new_target' : IDL.Opt(SnsVersion),\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 ManageLedgerParameters = IDL.Record({\n 'token_symbol' : IDL.Opt(IDL.Text),\n 'transfer_fee' : IDL.Opt(IDL.Nat64),\n 'token_logo' : IDL.Opt(IDL.Text),\n 'token_name' : IDL.Opt(IDL.Text),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'ManageDappCanisterSettings' : ManageDappCanisterSettings,\n 'ExecuteExtensionOperation' : ExecuteExtensionOperation,\n 'UpgradeExtension' : UpgradeExtension,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'SetTopicsForCustomProposals' : SetTopicsForCustomProposals,\n 'RegisterExtension' : RegisterExtension,\n 'UpgradeSnsToNextVersion' : IDL.Record({}),\n 'RegisterDappCanisters' : RegisterDappCanisters,\n 'TransferSnsTreasuryFunds' : TransferSnsTreasuryFunds,\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'DeregisterDappCanisters' : DeregisterDappCanisters,\n 'MintSnsTokens' : MintSnsTokens,\n 'AdvanceSnsTargetVersion' : AdvanceSnsTargetVersion,\n 'Unspecified' : IDL.Record({}),\n 'ManageSnsMetadata' : ManageSnsMetadata,\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'ManageLedgerParameters' : ManageLedgerParameters,\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 'topic' : IDL.Opt(Topic),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'action_auxiliary' : IDL.Opt(ActionAuxiliary),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'minimum_yes_proportion_of_total' : IDL.Opt(Percentage),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'reward_event_end_timestamp_seconds' : IDL.Opt(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 'minimum_yes_proportion_of_exercised' : IDL.Opt(Percentage),\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 DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const ChangeAutoStakeMaturity = IDL.Record({\n 'requested_setting_for_auto_stake_maturity' : IDL.Bool,\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 'ChangeAutoStakeMaturity' : ChangeAutoStakeMaturity,\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 Followee = IDL.Record({\n 'alias' : IDL.Opt(IDL.Text),\n 'neuron_id' : IDL.Opt(NeuronId),\n });\n const FolloweesForTopic = IDL.Record({\n 'topic' : IDL.Opt(Topic),\n 'followees' : IDL.Vec(Followee),\n });\n const SetFollowing = IDL.Record({\n 'topic_following' : IDL.Vec(FolloweesForTopic),\n });\n const FinalizeDisburseMaturity = IDL.Record({\n 'amount_to_be_disbursed_e8s' : IDL.Nat64,\n 'to_account' : IDL.Opt(Account),\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 'SetFollowing' : SetFollowing,\n 'SyncCommand' : IDL.Record({}),\n 'MakeProposal' : Proposal,\n 'FinalizeDisburseMaturity' : FinalizeDisburseMaturity,\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 DisburseMaturityInProgress = IDL.Record({\n 'timestamp_of_disbursement_seconds' : IDL.Nat64,\n 'amount_e8s' : IDL.Nat64,\n 'account_to_disburse_to' : IDL.Opt(Account),\n 'finalize_disbursement_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'staked_maturity_e8s_equivalent' : IDL.Opt(IDL.Nat64),\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 'topic_followees' : IDL.Opt(\n IDL.Record({\n 'topic_id_to_followees' : IDL.Vec(\n IDL.Tuple(IDL.Int32, FolloweesForTopic)\n ),\n })\n ),\n 'source_nns_neuron_id' : IDL.Opt(IDL.Nat64),\n 'auto_stake_maturity' : IDL.Opt(IDL.Bool),\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'voting_power_percentage_multiplier' : IDL.Nat64,\n 'vesting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'disburse_maturity_in_progress' : IDL.Vec(DisburseMaturityInProgress),\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 'timers' : IDL.Opt(Timers),\n 'cached_upgrade_steps' : IDL.Opt(CachedUpgradeSteps),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'maturity_modulation' : IDL.Opt(MaturityModulation),\n 'upgrade_journal' : IDL.Opt(UpgradeJournal),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'is_finalizing_disburse_maturity' : IDL.Opt(IDL.Bool),\n 'deployed_version' : IDL.Opt(Version),\n 'sns_initialization_parameters' : IDL.Text,\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'pending_version' : IDL.Opt(PendingVersion),\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 'target_version' : IDL.Opt(Version),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n return [Governance];\n};\n", "import type { IcrcAccount } from \"@dfinity/ledger-icrc\";\nimport { fromNullable, toNullable } from \"@dfinity/utils\";\nimport type {\n Account,\n Action as ActionCandid,\n ChunkedCanisterWasm as ChunkedCanisterWasmCandid,\n Command,\n FunctionType as FunctionTypeCandid,\n GenericNervousSystemFunction as GenericNervousSystemFunctionCandid,\n ListProposals,\n ManageNeuron,\n ManageSnsMetadata as ManageSnsMetadataCandid,\n NervousSystemFunction as NervousSystemFunctionCandid,\n NervousSystemParameters as NervousSystemParametersCandid,\n NeuronId,\n Operation,\n RegisterExtension as RegisterExtensionCandid,\n TransferSnsTreasuryFunds as TransferSnsTreasuryFundsCandid,\n UpgradeSnsControlledCanister as UpgradeSnsControlledCanisterCandid,\n VotingRewardsParameters as VotingRewardsParametersCandid,\n} from \"../../candid/sns_governance\";\nimport { DEFAULT_PROPOSALS_LIMIT } from \"../constants/governance.constants\";\nimport type {\n Action,\n ChunkedCanisterWasm,\n FunctionType,\n GenericNervousSystemFunction,\n ManageSnsMetadata,\n NervousSystemFunction,\n NervousSystemParameters,\n RegisterExtension,\n TransferSnsTreasuryFunds,\n UpgradeSnsControlledCanister,\n VotingRewardsParameters,\n} from \"../types/actions\";\nimport type {\n SnsClaimOrRefreshArgs,\n SnsDisburseNeuronParams,\n SnsIncreaseDissolveDelayParams,\n SnsListProposalsParams,\n SnsNeuronAutoStakeMaturityParams,\n SnsNeuronDisburseMaturityParams,\n SnsNeuronPermissionsParams,\n SnsNeuronStakeMaturityParams,\n SnsRegisterVoteParams,\n SnsSetDissolveTimestampParams,\n SnsSetFollowingParams,\n SnsSetTopicFollowees,\n SnsSplitNeuronParams,\n} from \"../types/governance.params\";\n\n// Helper for building `ManageNeuron` structure\nconst toManageNeuronCommand = ({\n neuronId: { id },\n command,\n}: {\n neuronId: NeuronId;\n command: Command;\n}): ManageNeuron => ({\n subaccount: id,\n command: [command],\n});\n\n// Helper for building `ManageNeuron` structure for type `Operation` commands\nconst toManageNeuronConfigureCommand = ({\n neuronId,\n operation,\n}: {\n neuronId: NeuronId;\n operation: Operation;\n}): ManageNeuron =>\n toManageNeuronCommand({\n neuronId,\n command: {\n Configure: {\n operation: [operation],\n },\n },\n });\n\nexport const toCandidAccount = ({\n owner,\n subaccount,\n}: IcrcAccount): Account => ({\n owner: toNullable(owner),\n subaccount: subaccount === undefined ? [] : toNullable({ subaccount }),\n});\n\nexport const toAddPermissionsRequest = ({\n neuronId,\n permissions,\n principal,\n}: SnsNeuronPermissionsParams): ManageNeuron =>\n toManageNeuronCommand({\n neuronId,\n command: {\n AddNeuronPermissions: {\n permissions_to_add: [{ permissions: Int32Array.from(permissions) }],\n principal_id: [principal],\n },\n },\n });\n\nexport const toRemovePermissionsRequest = ({\n neuronId,\n permissions,\n principal,\n}: SnsNeuronPermissionsParams): ManageNeuron =>\n toManageNeuronCommand({\n neuronId,\n command: {\n RemoveNeuronPermissions: {\n permissions_to_remove: [{ permissions: Int32Array.from(permissions) }],\n principal_id: [principal],\n },\n },\n });\n\nexport const toSplitNeuronRequest = ({\n neuronId,\n memo,\n amount: amount_e8s,\n}: SnsSplitNeuronParams): ManageNeuron =>\n toManageNeuronCommand({\n neuronId,\n command: {\n Split: {\n memo,\n amount_e8s,\n },\n },\n });\n\nexport const toDisburseNeuronRequest = ({\n neuronId,\n amount,\n toAccount,\n}: SnsDisburseNeuronParams): ManageNeuron =>\n toManageNeuronCommand({\n neuronId,\n command: {\n Disburse: {\n // currently there is a main account only support\n to_account:\n toAccount === undefined ? [] : toNullable(toCandidAccount(toAccount)),\n amount:\n amount === undefined\n ? []\n : [\n {\n e8s: amount,\n },\n ],\n },\n },\n });\n\nexport const toStartDissolvingNeuronRequest = (\n neuronId: NeuronId,\n): ManageNeuron =>\n toManageNeuronConfigureCommand({\n neuronId,\n operation: { StartDissolving: {} },\n });\n\nexport const toStopDissolvingNeuronRequest = (\n neuronId: NeuronId,\n): ManageNeuron =>\n toManageNeuronConfigureCommand({\n neuronId,\n operation: { StopDissolving: {} },\n });\n\nexport const toStakeMaturityRequest = ({\n neuronId,\n percentageToStake,\n}: SnsNeuronStakeMaturityParams): ManageNeuron =>\n toManageNeuronCommand({\n neuronId,\n command: {\n StakeMaturity: {\n percentage_to_stake: toNullable(percentageToStake),\n },\n },\n });\n\nexport const toDisburseMaturityRequest = ({\n neuronId,\n percentageToDisburse,\n toAccount,\n}: SnsNeuronDisburseMaturityParams): ManageNeuron =>\n toManageNeuronCommand({\n neuronId,\n command: {\n DisburseMaturity: {\n // currently there is a main account only support\n to_account:\n toAccount === undefined ? [] : toNullable(toCandidAccount(toAccount)),\n percentage_to_disburse: percentageToDisburse,\n },\n },\n });\n\nexport const toAutoStakeMaturityNeuronRequest = ({\n neuronId,\n autoStake: requested_setting_for_auto_stake_maturity,\n}: SnsNeuronAutoStakeMaturityParams): ManageNeuron =>\n toManageNeuronConfigureCommand({\n neuronId,\n operation: {\n ChangeAutoStakeMaturity: {\n requested_setting_for_auto_stake_maturity,\n },\n },\n });\n\nexport const toSetDissolveTimestampRequest = ({\n neuronId,\n dissolveTimestampSeconds,\n}: SnsSetDissolveTimestampParams): ManageNeuron =>\n toManageNeuronConfigureCommand({\n neuronId,\n operation: {\n SetDissolveTimestamp: {\n dissolve_timestamp_seconds: dissolveTimestampSeconds,\n },\n },\n });\n\nexport const toIncreaseDissolveDelayRequest = ({\n neuronId,\n additionalDissolveDelaySeconds,\n}: SnsIncreaseDissolveDelayParams): ManageNeuron =>\n toManageNeuronConfigureCommand({\n neuronId,\n operation: {\n IncreaseDissolveDelay: {\n additional_dissolve_delay_seconds: additionalDissolveDelaySeconds,\n },\n },\n });\n\nexport const toFollowRequest = ({\n neuronId,\n functionId,\n followees,\n}: SnsSetTopicFollowees): ManageNeuron => ({\n subaccount: neuronId.id,\n command: [\n {\n Follow: {\n function_id: functionId,\n followees,\n },\n },\n ],\n});\n\nexport const toSetFollowingRequest = ({\n neuronId,\n topicFollowing,\n}: SnsSetFollowingParams): ManageNeuron => ({\n subaccount: neuronId.id,\n command: [\n {\n SetFollowing: {\n topic_following: topicFollowing.map(({ topic, followees }) => ({\n topic: [topic],\n followees: followees.map(({ neuronId, alias }) => ({\n neuron_id: toNullable(neuronId),\n alias: toNullable(alias),\n })),\n })),\n },\n },\n ],\n});\n\nexport const toRegisterVoteRequest = ({\n neuronId,\n proposalId,\n vote,\n}: SnsRegisterVoteParams): ManageNeuron => ({\n subaccount: neuronId.id,\n command: [\n {\n RegisterVote: {\n vote,\n proposal: [proposalId],\n },\n },\n ],\n});\n\nexport const toClaimOrRefreshRequest = ({\n subaccount,\n memo,\n controller,\n}: SnsClaimOrRefreshArgs): ManageNeuron => ({\n subaccount,\n command: [\n {\n ClaimOrRefresh: {\n by: [\n // If memo is not passed, we consider it a neuronId request because the memo is mandatory for MemoAndController\n memo === undefined\n ? { NeuronId: {} }\n : {\n MemoAndController: { memo, controller: toNullable(controller) },\n },\n ],\n },\n },\n ],\n});\n\nexport const toListProposalRequest = ({\n excludeType,\n beforeProposal,\n includeRewardStatus,\n includeStatus,\n limit,\n includeTopics,\n}: SnsListProposalsParams): ListProposals => ({\n exclude_type: BigUint64Array.from(excludeType ?? []),\n before_proposal: toNullable(beforeProposal),\n include_reward_status: Int32Array.from(includeRewardStatus ?? []),\n include_status: Int32Array.from(includeStatus ?? []),\n limit: limit ?? DEFAULT_PROPOSALS_LIMIT,\n include_topics: toNullable(\n includeTopics?.map((topic) => ({\n topic: toNullable(topic),\n })) ?? [],\n ),\n});\n\nexport const fromCandidAction = (action: ActionCandid): Action => {\n if (\"ManageNervousSystemParameters\" in action) {\n return {\n ManageNervousSystemParameters: convertNervousSystemParams(\n action.ManageNervousSystemParameters,\n ),\n };\n }\n\n if (\"AddGenericNervousSystemFunction\" in action) {\n return {\n AddGenericNervousSystemFunction: convertNervousSystemFunction(\n action.AddGenericNervousSystemFunction,\n ),\n };\n }\n\n if (\"SetTopicsForCustomProposals\" in action) {\n return {\n SetTopicsForCustomProposals: action.SetTopicsForCustomProposals,\n };\n }\n\n if (\"RegisterExtension\" in action) {\n return {\n RegisterExtension: convertRegisterExtension(action.RegisterExtension),\n };\n }\n\n if (\"RemoveGenericNervousSystemFunction\" in action) {\n return {\n RemoveGenericNervousSystemFunction:\n action.RemoveGenericNervousSystemFunction,\n };\n }\n\n if (\"UpgradeSnsToNextVersion\" in action) {\n return { UpgradeSnsToNextVersion: action.UpgradeSnsToNextVersion };\n }\n\n if (\"RegisterDappCanisters\" in action) {\n return { RegisterDappCanisters: action.RegisterDappCanisters };\n }\n\n if (\"TransferSnsTreasuryFunds\" in action) {\n return {\n TransferSnsTreasuryFunds: convertTransferSnsTreasuryFunds(\n action.TransferSnsTreasuryFunds,\n ),\n };\n }\n\n if (\"UpgradeSnsControlledCanister\" in action) {\n return {\n UpgradeSnsControlledCanister: convertUpgradeSnsControlledCanister(\n action.UpgradeSnsControlledCanister,\n ),\n };\n }\n\n if (\"DeregisterDappCanisters\" in action) {\n return { DeregisterDappCanisters: action.DeregisterDappCanisters };\n }\n\n if (\"Unspecified\" in action) {\n return { Unspecified: action.Unspecified };\n }\n\n if (\"ManageSnsMetadata\" in action) {\n return {\n ManageSnsMetadata: convertManageSnsMetadata(action.ManageSnsMetadata),\n };\n }\n\n if (\"ExecuteGenericNervousSystemFunction\" in action) {\n return {\n ExecuteGenericNervousSystemFunction:\n action.ExecuteGenericNervousSystemFunction,\n };\n }\n\n if (\"Motion\" in action) {\n return { Motion: action.Motion };\n }\n\n // TODO: Find a better way to log this because JSON.stringify doesn't support BigInt.\n throw new Error(`Unknown action type ${JSON.stringify(action)}`);\n};\n\nconst convertManageSnsMetadata = (\n params: ManageSnsMetadataCandid,\n): ManageSnsMetadata => ({\n url: fromNullable(params.url),\n logo: fromNullable(params.logo),\n name: fromNullable(params.name),\n description: fromNullable(params.description),\n});\n\nconst convertChunkedCanisterWasm = (\n params: ChunkedCanisterWasmCandid | undefined,\n): ChunkedCanisterWasm | undefined => {\n if (params === undefined) {\n return undefined;\n }\n return {\n wasm_module_hash: params.wasm_module_hash,\n store_canister_id: fromNullable(params.store_canister_id),\n chunk_hashes_list: params.chunk_hashes_list,\n };\n};\n\nconst convertUpgradeSnsControlledCanister = (\n params: UpgradeSnsControlledCanisterCandid,\n): UpgradeSnsControlledCanister => ({\n new_canister_wasm: params.new_canister_wasm,\n chunked_canister_wasm: convertChunkedCanisterWasm(\n fromNullable(params.chunked_canister_wasm),\n ),\n canister_id: fromNullable(params.canister_id),\n canister_upgrade_arg: fromNullable(params.canister_upgrade_arg),\n mode: fromNullable(params.mode),\n});\n\nconst convertTransferSnsTreasuryFunds = (\n params: TransferSnsTreasuryFundsCandid,\n): TransferSnsTreasuryFunds => ({\n from_treasury: params.from_treasury,\n to_principal: fromNullable(params.to_principal),\n to_subaccount: fromNullable(params.to_subaccount),\n memo: fromNullable(params.memo),\n amount_e8s: params.amount_e8s,\n});\n\nconst convertGenericNervousSystemFunction = (\n params: GenericNervousSystemFunctionCandid,\n): GenericNervousSystemFunction => ({\n validator_canister_id: fromNullable(params.validator_canister_id),\n target_canister_id: fromNullable(params.target_canister_id),\n validator_method_name: fromNullable(params.validator_method_name),\n target_method_name: fromNullable(params.target_method_name),\n topic: fromNullable(params.topic),\n});\n\nconst convertFunctionType = (\n params: FunctionTypeCandid | undefined,\n): FunctionType | undefined => {\n if (params === undefined) {\n return undefined;\n }\n\n if (\"NativeNervousSystemFunction\" in params) {\n return { NativeNervousSystemFunction: params.NativeNervousSystemFunction };\n }\n\n if (\"GenericNervousSystemFunction\" in params) {\n return {\n GenericNervousSystemFunction: convertGenericNervousSystemFunction(\n params.GenericNervousSystemFunction,\n ),\n };\n }\n\n throw new Error(`Unknown FunctionType ${JSON.stringify(params)}`);\n};\n\nconst convertNervousSystemFunction = (\n params: NervousSystemFunctionCandid,\n): NervousSystemFunction => ({\n id: params.id,\n name: params.name,\n description: fromNullable(params.description),\n function_type: convertFunctionType(fromNullable(params.function_type)),\n});\n\nconst convertVotingRewardsParameters = (\n params: VotingRewardsParametersCandid | undefined,\n): VotingRewardsParameters | undefined =>\n params && {\n final_reward_rate_basis_points: fromNullable(\n params.final_reward_rate_basis_points,\n ),\n initial_reward_rate_basis_points: fromNullable(\n params.initial_reward_rate_basis_points,\n ),\n reward_rate_transition_duration_seconds: fromNullable(\n params.reward_rate_transition_duration_seconds,\n ),\n round_duration_seconds: fromNullable(params.round_duration_seconds),\n };\n\nconst convertNervousSystemParams = (\n params: NervousSystemParametersCandid,\n): NervousSystemParameters => ({\n default_followees: fromNullable(params.default_followees),\n max_dissolve_delay_seconds: fromNullable(params.max_dissolve_delay_seconds),\n max_dissolve_delay_bonus_percentage: fromNullable(\n params.max_dissolve_delay_bonus_percentage,\n ),\n max_followees_per_function: fromNullable(params.max_followees_per_function),\n neuron_claimer_permissions: fromNullable(params.neuron_claimer_permissions),\n neuron_minimum_stake_e8s: fromNullable(params.neuron_minimum_stake_e8s),\n max_neuron_age_for_age_bonus: fromNullable(\n params.max_neuron_age_for_age_bonus,\n ),\n initial_voting_period_seconds: fromNullable(\n params.initial_voting_period_seconds,\n ),\n neuron_minimum_dissolve_delay_to_vote_seconds: fromNullable(\n params.neuron_minimum_dissolve_delay_to_vote_seconds,\n ),\n reject_cost_e8s: fromNullable(params.reject_cost_e8s),\n max_proposals_to_keep_per_action: fromNullable(\n params.max_proposals_to_keep_per_action,\n ),\n wait_for_quiet_deadline_increase_seconds: fromNullable(\n params.wait_for_quiet_deadline_increase_seconds,\n ),\n max_number_of_neurons: fromNullable(params.max_number_of_neurons),\n transaction_fee_e8s: fromNullable(params.transaction_fee_e8s),\n max_number_of_proposals_with_ballots: fromNullable(\n params.max_number_of_proposals_with_ballots,\n ),\n max_age_bonus_percentage: fromNullable(params.max_age_bonus_percentage),\n neuron_grantable_permissions: fromNullable(\n params.neuron_grantable_permissions,\n ),\n voting_rewards_parameters: convertVotingRewardsParameters(\n fromNullable(params.voting_rewards_parameters),\n ),\n max_number_of_principals_per_neuron: fromNullable(\n params.max_number_of_principals_per_neuron,\n ),\n automatically_advance_target_version: fromNullable(\n params.automatically_advance_target_version,\n ),\n});\n\nconst convertRegisterExtension = (\n params: RegisterExtensionCandid,\n): RegisterExtension => ({\n chunked_canister_wasm: convertChunkedCanisterWasm(\n fromNullable(params.chunked_canister_wasm),\n ),\n extension_init: fromNullable(params.extension_init),\n});\n"],
5
- "mappings": "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",
6
- "names": ["Canister", "assertPercentageNumber", "createServices", "fromNullable", "toNullable", "idlFactory", "IDL", "PreciseValue", "Timers", "Version", "Versions", "CachedUpgradeSteps", "Topic", "GenericNervousSystemFunction", "FunctionType", "NervousSystemFunction", "Subaccount", "Account", "TreasuryMetrics", "VotingPowerMetrics", "GovernanceCachedMetrics", "MaturityModulation", "TargetVersionSet", "UpgradeStepsReset", "UpgradeOutcome", "ProposalId", "UpgradeStarted", "UpgradeStepsRefreshed", "TargetVersionReset", "UpgradeJournalEntry", "UpgradeJournal", "NeuronId", "Followees", "DefaultFollowees", "NeuronPermissionList", "VotingRewardsParameters", "NervousSystemParameters", "RewardEvent", "PendingVersion", "GovernanceError", "Decimal", "Tokens", "ValuationFactors", "Valuation", "MintSnsTokensActionAuxiliary", "SnsVersion", "AdvanceSnsTargetVersionActionAuxiliary", "ActionAuxiliary", "Ballot", "Percentage", "Tally", "ManageDappCanisterSettings", "ExtensionOperationArg", "ExecuteExtensionOperation", "ChunkedCanisterWasm", "Wasm", "ExtensionUpgradeArg", "UpgradeExtension", "SetTopicsForCustomProposals", "ExtensionInit", "RegisterExtension", "RegisterDappCanisters", "TransferSnsTreasuryFunds", "UpgradeSnsControlledCanister", "DeregisterDappCanisters", "MintSnsTokens", "AdvanceSnsTargetVersion", "ManageSnsMetadata", "ExecuteGenericNervousSystemFunction", "ManageLedgerParameters", "Motion", "Action", "Proposal", "WaitForQuietState", "ProposalData", "Split", "Follow", "DisburseMaturity", "ChangeAutoStakeMaturity", "IncreaseDissolveDelay", "SetDissolveTimestamp", "Operation", "Configure", "RegisterVote", "Followee", "FolloweesForTopic", "SetFollowing", "FinalizeDisburseMaturity", "MemoAndController", "By", "ClaimOrRefresh", "RemoveNeuronPermissions", "AddNeuronPermissions", "MergeMaturity", "Amount", "Disburse", "Command_2", "NeuronInFlightCommand", "NeuronPermission", "DissolveState", "DisburseMaturityInProgress", "Neuron", "Governance", "Principals", "NeuronsFund", "Participant", "NeuronIds", "NeuronRecipe", "NeuronRecipes", "ClaimSwapNeuronsRequest", "SwapNeuron", "ClaimedSwapNeurons", "ClaimSwapNeuronsResult", "ClaimSwapNeuronsResponse", "GetMaturityModulationResponse", "GetMetadataResponse", "GetMetricsRequest", "Metrics", "GetMetricsResult", "GetMetricsResponse", "GetModeResponse", "GetNeuron", "Result", "GetNeuronResponse", "GetProposal", "Result_1", "GetProposalResponse", "MemoryMetrics", "CanisterStatusType", "DefiniteCanisterSettingsArgs", "QueryStats", "CanisterStatusResultV2", "GetRunningSnsVersionResponse", "GetSnsInitializationParametersResponse", "GetTimersResponse", "GetUpgradeJournalRequest", "GetUpgradeJournalResponse", "ListNervousSystemFunctionsResponse", "ListNeurons", "ListNeuronsResponse", "TopicSelector", "ListProposals", "ListProposalsResponse", "ListTopicsRequest", "ExtensionOperationType", "ExtensionType", "ExtensionOperationSpec", "RegisteredExtensionOperationSpec", "TopicInfo", "ListTopicsResponse", "StakeMaturity", "Command", "ManageNeuron", "SplitResponse", "DisburseMaturityResponse", "ClaimOrRefreshResponse", "StakeMaturityResponse", "MergeMaturityResponse", "DisburseResponse", "Command_1", "ManageNeuronResponse", "SetMode", "idlFactory", "IDL", "PreciseValue", "Timers", "Version", "Versions", "CachedUpgradeSteps", "Topic", "GenericNervousSystemFunction", "FunctionType", "NervousSystemFunction", "Subaccount", "Account", "TreasuryMetrics", "VotingPowerMetrics", "GovernanceCachedMetrics", "MaturityModulation", "TargetVersionSet", "UpgradeStepsReset", "UpgradeOutcome", "ProposalId", "UpgradeStarted", "UpgradeStepsRefreshed", "TargetVersionReset", "UpgradeJournalEntry", "UpgradeJournal", "NeuronId", "Followees", "DefaultFollowees", "NeuronPermissionList", "VotingRewardsParameters", "NervousSystemParameters", "RewardEvent", "PendingVersion", "GovernanceError", "Decimal", "Tokens", "ValuationFactors", "Valuation", "MintSnsTokensActionAuxiliary", "SnsVersion", "AdvanceSnsTargetVersionActionAuxiliary", "ActionAuxiliary", "Ballot", "Percentage", "Tally", "ManageDappCanisterSettings", "ExtensionOperationArg", "ExecuteExtensionOperation", "ChunkedCanisterWasm", "Wasm", "ExtensionUpgradeArg", "UpgradeExtension", "SetTopicsForCustomProposals", "ExtensionInit", "RegisterExtension", "RegisterDappCanisters", "TransferSnsTreasuryFunds", "UpgradeSnsControlledCanister", "DeregisterDappCanisters", "MintSnsTokens", "AdvanceSnsTargetVersion", "ManageSnsMetadata", "ExecuteGenericNervousSystemFunction", "ManageLedgerParameters", "Motion", "Action", "Proposal", "WaitForQuietState", "ProposalData", "Split", "Follow", "DisburseMaturity", "ChangeAutoStakeMaturity", "IncreaseDissolveDelay", "SetDissolveTimestamp", "Operation", "Configure", "RegisterVote", "Followee", "FolloweesForTopic", "SetFollowing", "FinalizeDisburseMaturity", "MemoAndController", "By", "ClaimOrRefresh", "RemoveNeuronPermissions", "AddNeuronPermissions", "MergeMaturity", "Amount", "Disburse", "Command_2", "NeuronInFlightCommand", "NeuronPermission", "DissolveState", "DisburseMaturityInProgress", "Neuron", "Governance", "Principals", "NeuronsFund", "Participant", "NeuronIds", "NeuronRecipe", "NeuronRecipes", "ClaimSwapNeuronsRequest", "SwapNeuron", "ClaimedSwapNeurons", "ClaimSwapNeuronsResult", "ClaimSwapNeuronsResponse", "GetMaturityModulationResponse", "GetMetadataResponse", "GetMetricsRequest", "Metrics", "GetMetricsResult", "GetMetricsResponse", "GetModeResponse", "GetNeuron", "Result", "GetNeuronResponse", "GetProposal", "Result_1", "GetProposalResponse", "MemoryMetrics", "CanisterStatusType", "DefiniteCanisterSettingsArgs", "QueryStats", "CanisterStatusResultV2", "GetRunningSnsVersionResponse", "GetSnsInitializationParametersResponse", "GetTimersResponse", "GetUpgradeJournalRequest", "GetUpgradeJournalResponse", "ListNervousSystemFunctionsResponse", "ListNeurons", "ListNeuronsResponse", "TopicSelector", "ListProposals", "ListProposalsResponse", "ListTopicsRequest", "ExtensionOperationType", "ExtensionType", "ExtensionOperationSpec", "RegisteredExtensionOperationSpec", "TopicInfo", "ListTopicsResponse", "StakeMaturity", "Command", "ManageNeuron", "SplitResponse", "DisburseMaturityResponse", "ClaimOrRefreshResponse", "StakeMaturityResponse", "MergeMaturityResponse", "DisburseResponse", "Command_1", "ManageNeuronResponse", "SetMode", "fromNullable", "toNullable", "toManageNeuronCommand", "id", "command", "toManageNeuronConfigureCommand", "neuronId", "operation", "toCandidAccount", "owner", "subaccount", "toNullable", "toAddPermissionsRequest", "permissions", "principal", "toRemovePermissionsRequest", "toSplitNeuronRequest", "memo", "amount_e8s", "toDisburseNeuronRequest", "amount", "toAccount", "toStartDissolvingNeuronRequest", "toStopDissolvingNeuronRequest", "toStakeMaturityRequest", "percentageToStake", "toDisburseMaturityRequest", "percentageToDisburse", "toAutoStakeMaturityNeuronRequest", "requested_setting_for_auto_stake_maturity", "toSetDissolveTimestampRequest", "dissolveTimestampSeconds", "toIncreaseDissolveDelayRequest", "additionalDissolveDelaySeconds", "toFollowRequest", "functionId", "followees", "toSetFollowingRequest", "topicFollowing", "topic", "alias", "toRegisterVoteRequest", "proposalId", "vote", "toClaimOrRefreshRequest", "controller", "toListProposalRequest", "excludeType", "beforeProposal", "includeRewardStatus", "includeStatus", "limit", "includeTopics", "fromCandidAction", "action", "convertNervousSystemParams", "convertNervousSystemFunction", "convertRegisterExtension", "convertTransferSnsTreasuryFunds", "convertUpgradeSnsControlledCanister", "convertManageSnsMetadata", "params", "fromNullable", "convertChunkedCanisterWasm", "convertGenericNervousSystemFunction", "convertFunctionType", "convertVotingRewardsParameters", "SnsGovernanceCanister", "_SnsGovernanceCanister", "Canister", "options", "service", "certifiedService", "canisterId", "createServices", "idlFactory", "params", "principal", "limit", "beforeNeuronId", "neurons", "toNullable", "certified", "toListProposalRequest", "proposalId", "result", "data", "fromNullable", "SnsGovernanceError", "neuronId", "error", "request", "response", "toAddPermissionsRequest", "toRemovePermissionsRequest", "toSplitNeuronRequest", "command", "errorMessage", "details", "split", "toDisburseNeuronRequest", "toStartDissolvingNeuronRequest", "toStopDissolvingNeuronRequest", "percentageToStake", "assertPercentageNumber", "toStakeMaturityRequest", "toDisburseMaturityRequest", "toAutoStakeMaturityNeuronRequest", "toSetDissolveTimestampRequest", "toIncreaseDissolveDelayRequest", "toFollowRequest", "toSetFollowingRequest", "toRegisterVoteRequest", "toClaimOrRefreshRequest", "memo", "controller", "subaccount", "firstCommand"]
4
+ "sourcesContent": ["import type { Principal } from \"@dfinity/principal\";\nimport {\n Canister,\n assertPercentageNumber,\n createServices,\n fromNullable,\n toNullable,\n type QueryParams,\n} from \"@dfinity/utils\";\nimport type {\n GetMetadataResponse,\n ListNervousSystemFunctionsResponse,\n ListProposalsResponse,\n ListTopicsResponse,\n ManageNeuron,\n ManageNeuronResponse,\n NervousSystemParameters,\n Neuron,\n NeuronId,\n ProposalData,\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 toAutoStakeMaturityNeuronRequest,\n toClaimOrRefreshRequest,\n toDisburseMaturityRequest,\n toDisburseNeuronRequest,\n toFollowRequest,\n toIncreaseDissolveDelayRequest,\n toListProposalRequest,\n toRegisterVoteRequest,\n toRemovePermissionsRequest,\n toSetDissolveTimestampRequest,\n toSetFollowingRequest,\n toSplitNeuronRequest,\n toStakeMaturityRequest,\n toStartDissolvingNeuronRequest,\n toStopDissolvingNeuronRequest,\n} from \"./converters/governance.converters\";\nimport { SnsGovernanceError } from \"./errors/governance.errors\";\nimport type { SnsCanisterOptions } from \"./types/canister.options\";\nimport type {\n SnsClaimNeuronParams,\n SnsDisburseNeuronParams,\n SnsGetNeuronParams,\n SnsGetProposalParams,\n SnsIncreaseDissolveDelayParams,\n SnsListNeuronsParams,\n SnsListProposalsParams,\n SnsListTopicsParams,\n SnsNeuronAutoStakeMaturityParams,\n SnsNeuronDisburseMaturityParams,\n SnsNeuronPermissionsParams,\n SnsNeuronStakeMaturityParams,\n SnsRegisterVoteParams,\n SnsSetDissolveTimestampParams,\n SnsSetFollowingParams,\n SnsSetTopicFollowees,\n SnsSplitNeuronParams,\n} from \"./types/governance.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 * List the proposals of the Sns\n */\n listProposals = async (\n params: SnsListProposalsParams,\n ): Promise<ListProposalsResponse> => {\n const { certified } = params;\n\n const response = await this.caller({ certified }).list_proposals(\n toListProposalRequest(params),\n );\n return response;\n };\n\n /**\n *\n * List the topics of the Sns\n */\n listTopics = async (\n params: SnsListTopicsParams,\n ): Promise<ListTopicsResponse> => {\n const { certified } = params;\n const response = await this.caller({ certified }).list_topics({});\n return response;\n };\n\n /**\n * Get the proposal of the Sns\n */\n getProposal = async (params: SnsGetProposalParams): Promise<ProposalData> => {\n const { proposalId } = params;\n\n const { result } = await this.caller(params).get_proposal({\n proposal_id: toNullable(proposalId),\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.Proposal;\n };\n\n /**\n * List Nervous System Functions\n * Neurons can follow other neurons in specific Nervous System Functions.\n */\n listNervousSystemFunctions = (\n params: QueryParams,\n ): Promise<ListNervousSystemFunctionsResponse> =>\n this.caller(params).list_nervous_system_functions();\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 Sns nervous system parameters (default followees, max dissolve delay, max number of neurons, etc.)\n */\n nervousSystemParameters = (\n params: QueryParams,\n ): Promise<NervousSystemParameters> =>\n this.caller(params).get_nervous_system_parameters(null);\n\n /**\n * Get the neuron of the Sns\n */\n getNeuron = async (params: SnsGetNeuronParams): 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 * Same as `getNeuron` but returns undefined instead of raising error when not found.\n */\n queryNeuron = async (\n params: SnsGetNeuronParams,\n ): Promise<Neuron | undefined> => {\n try {\n return await this.getNeuron(params);\n } catch (error: unknown) {\n // Source: https://github.com/dfinity/ic/blob/master/rs/sns/governance/src/governance.rs#L914\n if (\n error instanceof Error &&\n error.message.includes(\"No neuron for given NeuronId\")\n ) {\n return undefined;\n }\n throw error;\n }\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 * Split neuron\n */\n public splitNeuron = async (\n params: SnsSplitNeuronParams,\n ): Promise<NeuronId | undefined> => {\n const request: ManageNeuron = toSplitNeuronRequest(params);\n const { command } = await this.manageNeuron(request);\n const response = fromNullable(command);\n const errorMessage = (details: string) =>\n `Split neuron failed (${details})`;\n\n // Validate response\n if (response === undefined) {\n throw new SnsGovernanceError(errorMessage(\"no response\"));\n }\n\n if (\"Split\" in response) {\n const split = response.Split;\n const neuronId = fromNullable(split.created_neuron_id) as NeuronId;\n\n if (neuronId !== undefined) {\n return neuronId;\n }\n\n throw new SnsGovernanceError(errorMessage(\"no id\"));\n }\n\n throw new SnsGovernanceError(errorMessage(\"unknown\"));\n };\n\n /**\n * Disburse neuron on Account\n */\n disburse = async (params: SnsDisburseNeuronParams): Promise<void> => {\n const request: ManageNeuron = toDisburseNeuronRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Start dissolving process of a neuron\n */\n startDissolving = async (neuronId: NeuronId): Promise<void> => {\n const request: ManageNeuron = toStartDissolvingNeuronRequest(neuronId);\n await this.manageNeuron(request);\n };\n\n /**\n * Stop dissolving process of a neuron\n */\n stopDissolving = async (neuronId: NeuronId): Promise<void> => {\n const request: ManageNeuron = toStopDissolvingNeuronRequest(neuronId);\n await this.manageNeuron(request);\n };\n\n /**\n * Stake the maturity of a neuron.\n *\n * @param {neuronId: NeuronId; percentageToStake: number;} params\n * @param {NeuronId} neuronId The id of the neuron for which to stake the maturity\n * @param {number} percentageToStake Optional. Percentage of the current maturity to stake. If not provided, all of the neuron's current maturity will be staked.\n */\n stakeMaturity = async ({\n neuronId,\n percentageToStake,\n }: SnsNeuronStakeMaturityParams): Promise<void> => {\n assertPercentageNumber(percentageToStake ?? 100);\n\n const request: ManageNeuron = toStakeMaturityRequest({\n neuronId,\n percentageToStake,\n });\n await this.manageNeuron(request);\n };\n\n /**\n * Disburse the maturity of a neuron.\n *\n * @param {neuronId: NeuronId; toAccount?: IcrcAccount; percentageToDisburse: number; } params\n * @param {IcrcAccount} toAccount. Account to disburse maturity.\n * @param {NeuronId} neuronId The id of the neuron for which to disburse the maturity\n * @param {number} percentageToDisburse What percentage of the available maturity to disburse.\n */\n disburseMaturity = async (\n params: SnsNeuronDisburseMaturityParams,\n ): Promise<void> => {\n assertPercentageNumber(params.percentageToDisburse);\n\n const request: ManageNeuron = toDisburseMaturityRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Changes auto-stake maturity for a Neuron.\n *\n * @param {neuronId: NeuronId; autoStake: boolean;} params\n * @param {NeuronId} neuronId The id of the neuron for which to request a change of the auto stake feature\n * @param {number} autoStake `true` to enable the auto-stake maturity for this neuron, `false` to turn it off\n */\n autoStakeMaturity = async (\n params: SnsNeuronAutoStakeMaturityParams,\n ): Promise<void> => {\n const request: ManageNeuron = toAutoStakeMaturityNeuronRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Increase dissolve delay of a neuron\n */\n setDissolveTimestamp = async (\n params: SnsSetDissolveTimestampParams,\n ): Promise<void> => {\n const request: ManageNeuron = toSetDissolveTimestampRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Increase dissolve delay of a neuron\n */\n increaseDissolveDelay = async (\n params: SnsIncreaseDissolveDelayParams,\n ): Promise<void> => {\n const request: ManageNeuron = toIncreaseDissolveDelayRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Sets followees of a neuron for a specific Nervous System Function\n * @deprecated will be replaced by `setFollowing` in the future.\n */\n setTopicFollowees = async (params: SnsSetTopicFollowees): Promise<void> => {\n const request: ManageNeuron = toFollowRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Sets followees of a neuron for topics\n */\n setFollowing = async (params: SnsSetFollowingParams): Promise<void> => {\n const request: ManageNeuron = toSetFollowingRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Registers vote for a proposal from the neuron passed.\n */\n registerVote = async (params: SnsRegisterVoteParams): Promise<void> => {\n const request: ManageNeuron = toRegisterVoteRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Refresh neuron\n */\n refreshNeuron = async (neuronId: NeuronId): Promise<void> => {\n const request: ManageNeuron = toClaimOrRefreshRequest({\n subaccount: neuronId.id,\n });\n await this.manageNeuron(request);\n };\n\n /**\n * Claim neuron\n */\n claimNeuron = async ({\n memo,\n controller,\n subaccount,\n }: SnsClaimNeuronParams): Promise<NeuronId> => {\n const request: ManageNeuron = toClaimOrRefreshRequest({\n subaccount,\n memo,\n controller,\n });\n const { command } = await this.manageNeuron(request);\n const response = fromNullable(command);\n // Edge case. This should not happen\n if (response === undefined) {\n throw new SnsGovernanceError(\"Claim neuron failed\");\n }\n if (\"ClaimOrRefresh\" in response) {\n const neuronId = fromNullable(\n response.ClaimOrRefresh.refreshed_neuron_id,\n );\n // This might happen.\n if (neuronId === undefined) {\n throw new SnsGovernanceError(\"Claim neuron failed\");\n }\n return neuronId;\n }\n // Edge case. manage_neuron for ClaimOrRefresh returns only ClaimOrRefresh response.\n throw new SnsGovernanceError(\"Claim neuron failed\");\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;\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 PreciseValue = IDL.Rec();\n const Timers = IDL.Record({\n 'last_spawned_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'last_reset_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'requires_periodic_tasks' : IDL.Opt(IDL.Bool),\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 'index_wasm_hash' : IDL.Vec(IDL.Nat8),\n });\n const Versions = IDL.Record({ 'versions' : IDL.Vec(Version) });\n const CachedUpgradeSteps = IDL.Record({\n 'upgrade_steps' : IDL.Opt(Versions),\n 'response_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'requested_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Topic = IDL.Variant({\n 'DappCanisterManagement' : IDL.Null,\n 'DaoCommunitySettings' : IDL.Null,\n 'ApplicationBusinessLogic' : IDL.Null,\n 'CriticalDappOperations' : IDL.Null,\n 'TreasuryAssetManagement' : IDL.Null,\n 'Governance' : IDL.Null,\n 'SnsFrameworkManagement' : IDL.Null,\n });\n const GenericNervousSystemFunction = IDL.Record({\n 'topic' : IDL.Opt(Topic),\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 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 TreasuryMetrics = IDL.Record({\n 'name' : IDL.Opt(IDL.Text),\n 'original_amount_e8s' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n 'account' : IDL.Opt(Account),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'treasury' : IDL.Int32,\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const VotingPowerMetrics = IDL.Record({\n 'governance_total_potential_voting_power' : IDL.Opt(IDL.Nat64),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'treasury_metrics' : IDL.Vec(TreasuryMetrics),\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 'voting_power_metrics' : IDL.Opt(VotingPowerMetrics),\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 MaturityModulation = IDL.Record({\n 'current_basis_points' : IDL.Opt(IDL.Int32),\n 'updated_at_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const TargetVersionSet = IDL.Record({\n 'old_target_version' : IDL.Opt(Version),\n 'new_target_version' : IDL.Opt(Version),\n 'is_advanced_automatically' : IDL.Opt(IDL.Bool),\n });\n const UpgradeStepsReset = IDL.Record({\n 'human_readable' : IDL.Opt(IDL.Text),\n 'upgrade_steps' : IDL.Opt(Versions),\n });\n const UpgradeOutcome = IDL.Record({\n 'status' : IDL.Opt(\n IDL.Variant({\n 'Success' : IDL.Record({}),\n 'Timeout' : IDL.Record({}),\n 'ExternalFailure' : IDL.Record({}),\n 'InvalidState' : IDL.Record({ 'version' : IDL.Opt(Version) }),\n })\n ),\n 'human_readable' : IDL.Opt(IDL.Text),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const UpgradeStarted = IDL.Record({\n 'current_version' : IDL.Opt(Version),\n 'expected_version' : IDL.Opt(Version),\n 'reason' : IDL.Opt(\n IDL.Variant({\n 'UpgradeSnsToNextVersionProposal' : ProposalId,\n 'BehindTargetVersion' : IDL.Record({}),\n })\n ),\n });\n const UpgradeStepsRefreshed = IDL.Record({\n 'upgrade_steps' : IDL.Opt(Versions),\n });\n const TargetVersionReset = IDL.Record({\n 'human_readable' : IDL.Opt(IDL.Text),\n 'old_target_version' : IDL.Opt(Version),\n 'new_target_version' : IDL.Opt(Version),\n });\n const UpgradeJournalEntry = IDL.Record({\n 'event' : IDL.Opt(\n IDL.Variant({\n 'TargetVersionSet' : TargetVersionSet,\n 'UpgradeStepsReset' : UpgradeStepsReset,\n 'UpgradeOutcome' : UpgradeOutcome,\n 'UpgradeStarted' : UpgradeStarted,\n 'UpgradeStepsRefreshed' : UpgradeStepsRefreshed,\n 'TargetVersionReset' : TargetVersionReset,\n })\n ),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const UpgradeJournal = IDL.Record({\n 'entries' : IDL.Vec(UpgradeJournalEntry),\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 '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_dissolve_delay_bonus_percentage' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'automatically_advance_target_version' : IDL.Opt(IDL.Bool),\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 'max_age_bonus_percentage' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'voting_rewards_parameters' : IDL.Opt(VotingRewardsParameters),\n 'maturity_modulation_disabled' : IDL.Opt(IDL.Bool),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const RewardEvent = IDL.Record({\n 'rounds_since_last_distribution' : IDL.Opt(IDL.Nat64),\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'end_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'total_available_e8s_equivalent' : IDL.Opt(IDL.Nat64),\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'round' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const PendingVersion = IDL.Record({\n 'mark_failed_at_seconds' : IDL.Nat64,\n 'checking_upgrade_lock' : IDL.Nat64,\n 'proposal_id' : IDL.Opt(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 Decimal = IDL.Record({ 'human_readable' : IDL.Opt(IDL.Text) });\n const Tokens = IDL.Record({ 'e8s' : IDL.Opt(IDL.Nat64) });\n const ValuationFactors = IDL.Record({\n 'xdrs_per_icp' : IDL.Opt(Decimal),\n 'icps_per_token' : IDL.Opt(Decimal),\n 'tokens' : IDL.Opt(Tokens),\n });\n const Valuation = IDL.Record({\n 'token' : IDL.Opt(IDL.Int32),\n 'account' : IDL.Opt(Account),\n 'valuation_factors' : IDL.Opt(ValuationFactors),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const MintSnsTokensActionAuxiliary = IDL.Record({\n 'valuation' : IDL.Opt(Valuation),\n });\n const SnsVersion = IDL.Record({\n 'archive_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'root_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'swap_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'ledger_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'governance_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'index_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const AdvanceSnsTargetVersionActionAuxiliary = IDL.Record({\n 'target_version' : IDL.Opt(SnsVersion),\n });\n const ActionAuxiliary = IDL.Variant({\n 'TransferSnsTreasuryFunds' : MintSnsTokensActionAuxiliary,\n 'MintSnsTokens' : MintSnsTokensActionAuxiliary,\n 'AdvanceSnsTargetVersion' : AdvanceSnsTargetVersionActionAuxiliary,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Percentage = IDL.Record({ 'basis_points' : IDL.Opt(IDL.Nat64) });\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 ManageDappCanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Opt(IDL.Nat64),\n 'wasm_memory_threshold' : IDL.Opt(IDL.Nat64),\n 'canister_ids' : IDL.Vec(IDL.Principal),\n 'reserved_cycles_limit' : IDL.Opt(IDL.Nat64),\n 'log_visibility' : IDL.Opt(IDL.Int32),\n 'wasm_memory_limit' : IDL.Opt(IDL.Nat64),\n 'memory_allocation' : IDL.Opt(IDL.Nat64),\n 'compute_allocation' : IDL.Opt(IDL.Nat64),\n });\n PreciseValue.fill(\n IDL.Variant({\n 'Int' : IDL.Int64,\n 'Map' : IDL.Vec(IDL.Tuple(IDL.Text, PreciseValue)),\n 'Nat' : IDL.Nat64,\n 'Blob' : IDL.Vec(IDL.Nat8),\n 'Bool' : IDL.Bool,\n 'Text' : IDL.Text,\n 'Array' : IDL.Vec(PreciseValue),\n })\n );\n const ExtensionOperationArg = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });\n const ExecuteExtensionOperation = IDL.Record({\n 'extension_canister_id' : IDL.Opt(IDL.Principal),\n 'operation_name' : IDL.Opt(IDL.Text),\n 'operation_arg' : IDL.Opt(ExtensionOperationArg),\n });\n const ChunkedCanisterWasm = IDL.Record({\n 'wasm_module_hash' : IDL.Vec(IDL.Nat8),\n 'chunk_hashes_list' : IDL.Vec(IDL.Vec(IDL.Nat8)),\n 'store_canister_id' : IDL.Opt(IDL.Principal),\n });\n const Wasm = IDL.Variant({\n 'Chunked' : ChunkedCanisterWasm,\n 'Bytes' : IDL.Vec(IDL.Nat8),\n });\n const ExtensionUpgradeArg = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });\n const UpgradeExtension = IDL.Record({\n 'extension_canister_id' : IDL.Opt(IDL.Principal),\n 'wasm' : IDL.Opt(Wasm),\n 'canister_upgrade_arg' : IDL.Opt(ExtensionUpgradeArg),\n });\n const SetTopicsForCustomProposals = IDL.Record({\n 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),\n });\n const ExtensionInit = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });\n const RegisterExtension = IDL.Record({\n 'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),\n 'extension_init' : IDL.Opt(ExtensionInit),\n });\n const RegisterDappCanisters = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n });\n const TransferSnsTreasuryFunds = IDL.Record({\n 'from_treasury' : IDL.Int32,\n 'to_principal' : IDL.Opt(IDL.Principal),\n 'to_subaccount' : IDL.Opt(Subaccount),\n 'memo' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'mode' : IDL.Opt(IDL.Int32),\n 'canister_id' : IDL.Opt(IDL.Principal),\n 'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),\n 'canister_upgrade_arg' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const DeregisterDappCanisters = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n 'new_controllers' : IDL.Vec(IDL.Principal),\n });\n const MintSnsTokens = IDL.Record({\n 'to_principal' : IDL.Opt(IDL.Principal),\n 'to_subaccount' : IDL.Opt(Subaccount),\n 'memo' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n });\n const AdvanceSnsTargetVersion = IDL.Record({\n 'new_target' : IDL.Opt(SnsVersion),\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 ManageLedgerParameters = IDL.Record({\n 'token_symbol' : IDL.Opt(IDL.Text),\n 'transfer_fee' : IDL.Opt(IDL.Nat64),\n 'token_logo' : IDL.Opt(IDL.Text),\n 'token_name' : IDL.Opt(IDL.Text),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'ManageDappCanisterSettings' : ManageDappCanisterSettings,\n 'ExecuteExtensionOperation' : ExecuteExtensionOperation,\n 'UpgradeExtension' : UpgradeExtension,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'SetTopicsForCustomProposals' : SetTopicsForCustomProposals,\n 'RegisterExtension' : RegisterExtension,\n 'UpgradeSnsToNextVersion' : IDL.Record({}),\n 'RegisterDappCanisters' : RegisterDappCanisters,\n 'TransferSnsTreasuryFunds' : TransferSnsTreasuryFunds,\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'DeregisterDappCanisters' : DeregisterDappCanisters,\n 'MintSnsTokens' : MintSnsTokens,\n 'AdvanceSnsTargetVersion' : AdvanceSnsTargetVersion,\n 'Unspecified' : IDL.Record({}),\n 'ManageSnsMetadata' : ManageSnsMetadata,\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'ManageLedgerParameters' : ManageLedgerParameters,\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 'topic' : IDL.Opt(Topic),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'action_auxiliary' : IDL.Opt(ActionAuxiliary),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'minimum_yes_proportion_of_total' : IDL.Opt(Percentage),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'reward_event_end_timestamp_seconds' : IDL.Opt(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 'minimum_yes_proportion_of_exercised' : IDL.Opt(Percentage),\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 DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const ChangeAutoStakeMaturity = IDL.Record({\n 'requested_setting_for_auto_stake_maturity' : IDL.Bool,\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 'ChangeAutoStakeMaturity' : ChangeAutoStakeMaturity,\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 Followee = IDL.Record({\n 'alias' : IDL.Opt(IDL.Text),\n 'neuron_id' : IDL.Opt(NeuronId),\n });\n const FolloweesForTopic = IDL.Record({\n 'topic' : IDL.Opt(Topic),\n 'followees' : IDL.Vec(Followee),\n });\n const SetFollowing = IDL.Record({\n 'topic_following' : IDL.Vec(FolloweesForTopic),\n });\n const FinalizeDisburseMaturity = IDL.Record({\n 'amount_to_be_disbursed_e8s' : IDL.Nat64,\n 'to_account' : IDL.Opt(Account),\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 'SetFollowing' : SetFollowing,\n 'SyncCommand' : IDL.Record({}),\n 'MakeProposal' : Proposal,\n 'FinalizeDisburseMaturity' : FinalizeDisburseMaturity,\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 DisburseMaturityInProgress = IDL.Record({\n 'timestamp_of_disbursement_seconds' : IDL.Nat64,\n 'amount_e8s' : IDL.Nat64,\n 'account_to_disburse_to' : IDL.Opt(Account),\n 'finalize_disbursement_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'staked_maturity_e8s_equivalent' : IDL.Opt(IDL.Nat64),\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 'topic_followees' : IDL.Opt(\n IDL.Record({\n 'topic_id_to_followees' : IDL.Vec(\n IDL.Tuple(IDL.Int32, FolloweesForTopic)\n ),\n })\n ),\n 'source_nns_neuron_id' : IDL.Opt(IDL.Nat64),\n 'auto_stake_maturity' : IDL.Opt(IDL.Bool),\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'voting_power_percentage_multiplier' : IDL.Nat64,\n 'vesting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'disburse_maturity_in_progress' : IDL.Vec(DisburseMaturityInProgress),\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 'timers' : IDL.Opt(Timers),\n 'cached_upgrade_steps' : IDL.Opt(CachedUpgradeSteps),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'maturity_modulation' : IDL.Opt(MaturityModulation),\n 'upgrade_journal' : IDL.Opt(UpgradeJournal),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'is_finalizing_disburse_maturity' : IDL.Opt(IDL.Bool),\n 'deployed_version' : IDL.Opt(Version),\n 'sns_initialization_parameters' : IDL.Text,\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'pending_version' : IDL.Opt(PendingVersion),\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 'target_version' : IDL.Opt(Version),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n const Principals = IDL.Record({ 'principals' : IDL.Vec(IDL.Principal) });\n const NeuronsFund = IDL.Record({\n 'nns_neuron_hotkeys' : IDL.Opt(Principals),\n 'nns_neuron_controller' : IDL.Opt(IDL.Principal),\n 'nns_neuron_id' : IDL.Opt(IDL.Nat64),\n });\n const Participant = IDL.Variant({\n 'NeuronsFund' : NeuronsFund,\n 'Direct' : IDL.Record({}),\n });\n const NeuronIds = IDL.Record({ 'neuron_ids' : IDL.Vec(NeuronId) });\n const NeuronRecipe = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'participant' : IDL.Opt(Participant),\n 'stake_e8s' : IDL.Opt(IDL.Nat64),\n 'followees' : IDL.Opt(NeuronIds),\n 'neuron_id' : IDL.Opt(NeuronId),\n });\n const NeuronRecipes = IDL.Record({\n 'neuron_recipes' : IDL.Vec(NeuronRecipe),\n });\n const ClaimSwapNeuronsRequest = IDL.Record({\n 'neuron_recipes' : IDL.Opt(NeuronRecipes),\n });\n const SwapNeuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'status' : IDL.Int32,\n });\n const ClaimedSwapNeurons = IDL.Record({\n 'swap_neurons' : IDL.Vec(SwapNeuron),\n });\n const ClaimSwapNeuronsResult = IDL.Variant({\n 'Ok' : ClaimedSwapNeurons,\n 'Err' : IDL.Int32,\n });\n const ClaimSwapNeuronsResponse = IDL.Record({\n 'claim_swap_neurons_result' : IDL.Opt(ClaimSwapNeuronsResult),\n });\n const GetMaturityModulationResponse = IDL.Record({\n 'maturity_modulation' : IDL.Opt(MaturityModulation),\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 GetMetricsRequest = IDL.Record({\n 'time_window_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Metrics = IDL.Record({\n 'treasury_metrics' : IDL.Opt(IDL.Vec(TreasuryMetrics)),\n 'voting_power_metrics' : IDL.Opt(VotingPowerMetrics),\n 'last_ledger_block_timestamp' : IDL.Opt(IDL.Nat64),\n 'num_recently_executed_proposals' : IDL.Opt(IDL.Nat64),\n 'num_recently_submitted_proposals' : IDL.Opt(IDL.Nat64),\n 'genesis_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const GetMetricsResult = IDL.Variant({\n 'Ok' : Metrics,\n 'Err' : GovernanceError,\n });\n const GetMetricsResponse = IDL.Record({\n 'get_metrics_result' : IDL.Opt(GetMetricsResult),\n });\n const GetModeResponse = IDL.Record({ 'mode' : IDL.Opt(IDL.Int32) });\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 MemoryMetrics = IDL.Record({\n 'wasm_binary_size' : IDL.Opt(IDL.Nat),\n 'wasm_chunk_store_size' : IDL.Opt(IDL.Nat),\n 'canister_history_size' : IDL.Opt(IDL.Nat),\n 'stable_memory_size' : IDL.Opt(IDL.Nat),\n 'snapshots_size' : IDL.Opt(IDL.Nat),\n 'wasm_memory_size' : IDL.Opt(IDL.Nat),\n 'global_memory_size' : IDL.Opt(IDL.Nat),\n 'custom_sections_size' : IDL.Opt(IDL.Nat),\n });\n const CanisterStatusType = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const DefiniteCanisterSettingsArgs = IDL.Record({\n 'freezing_threshold' : IDL.Nat,\n 'wasm_memory_threshold' : IDL.Opt(IDL.Nat),\n 'controllers' : IDL.Vec(IDL.Principal),\n 'wasm_memory_limit' : IDL.Opt(IDL.Nat),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const QueryStats = IDL.Record({\n 'response_payload_bytes_total' : IDL.Opt(IDL.Nat),\n 'num_instructions_total' : IDL.Opt(IDL.Nat),\n 'num_calls_total' : IDL.Opt(IDL.Nat),\n 'request_payload_bytes_total' : IDL.Opt(IDL.Nat),\n });\n const CanisterStatusResultV2 = IDL.Record({\n 'memory_metrics' : IDL.Opt(MemoryMetrics),\n 'status' : CanisterStatusType,\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettingsArgs,\n 'query_stats' : IDL.Opt(QueryStats),\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(\n 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 ),\n });\n const GetSnsInitializationParametersResponse = IDL.Record({\n 'sns_initialization_parameters' : IDL.Text,\n });\n const GetTimersResponse = IDL.Record({ 'timers' : IDL.Opt(Timers) });\n const GetUpgradeJournalRequest = IDL.Record({\n 'offset' : IDL.Opt(IDL.Nat64),\n 'limit' : IDL.Opt(IDL.Nat64),\n });\n const GetUpgradeJournalResponse = IDL.Record({\n 'upgrade_journal' : IDL.Opt(UpgradeJournal),\n 'upgrade_steps' : IDL.Opt(Versions),\n 'response_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'deployed_version' : IDL.Opt(Version),\n 'target_version' : IDL.Opt(Version),\n 'upgrade_journal_entry_count' : IDL.Opt(IDL.Nat64),\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 TopicSelector = IDL.Record({ 'topic' : IDL.Opt(Topic) });\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_topics' : IDL.Opt(IDL.Vec(TopicSelector)),\n 'include_status' : IDL.Vec(IDL.Int32),\n });\n const ListProposalsResponse = IDL.Record({\n 'include_ballots_by_caller' : IDL.Opt(IDL.Bool),\n 'proposals' : IDL.Vec(ProposalData),\n 'include_topic_filtering' : IDL.Opt(IDL.Bool),\n });\n const ListTopicsRequest = IDL.Record({});\n const ExtensionOperationType = IDL.Variant({\n 'TreasuryManagerWithdraw' : IDL.Null,\n 'TreasuryManagerDeposit' : IDL.Null,\n });\n const ExtensionType = IDL.Variant({ 'TreasuryManager' : IDL.Null });\n const ExtensionOperationSpec = IDL.Record({\n 'topic' : IDL.Opt(Topic),\n 'operation_type' : IDL.Opt(ExtensionOperationType),\n 'description' : IDL.Opt(IDL.Text),\n 'extension_type' : IDL.Opt(ExtensionType),\n });\n const RegisteredExtensionOperationSpec = IDL.Record({\n 'spec' : IDL.Opt(ExtensionOperationSpec),\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const TopicInfo = IDL.Record({\n 'extension_operations' : IDL.Opt(IDL.Vec(RegisteredExtensionOperationSpec)),\n 'native_functions' : IDL.Opt(IDL.Vec(NervousSystemFunction)),\n 'topic' : IDL.Opt(Topic),\n 'is_critical' : IDL.Opt(IDL.Bool),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n 'custom_functions' : IDL.Opt(IDL.Vec(NervousSystemFunction)),\n });\n const ListTopicsResponse = IDL.Record({\n 'uncategorized_functions' : IDL.Opt(IDL.Vec(NervousSystemFunction)),\n 'topics' : IDL.Opt(IDL.Vec(TopicInfo)),\n });\n const StakeMaturity = IDL.Record({\n 'percentage_to_stake' : IDL.Opt(IDL.Nat32),\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 'SetFollowing' : SetFollowing,\n 'MakeProposal' : Proposal,\n 'StakeMaturity' : StakeMaturity,\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 'amount_disbursed_e8s' : IDL.Nat64,\n 'amount_deducted_e8s' : IDL.Opt(IDL.Nat64),\n });\n const ClaimOrRefreshResponse = IDL.Record({\n 'refreshed_neuron_id' : IDL.Opt(NeuronId),\n });\n const StakeMaturityResponse = IDL.Record({\n 'maturity_e8s' : IDL.Nat64,\n 'staked_maturity_e8s' : IDL.Nat64,\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 'SetFollowing' : IDL.Record({}),\n 'MakeProposal' : GetProposal,\n 'RemoveNeuronPermission' : IDL.Record({}),\n 'StakeMaturity' : StakeMaturityResponse,\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 'claim_swap_neurons' : IDL.Func(\n [ClaimSwapNeuronsRequest],\n [ClaimSwapNeuronsResponse],\n [],\n ),\n 'fail_stuck_upgrade_in_progress' : IDL.Func(\n [IDL.Record({})],\n [IDL.Record({})],\n [],\n ),\n 'get_build_metadata' : IDL.Func([], [IDL.Text], []),\n 'get_latest_reward_event' : IDL.Func([], [RewardEvent], []),\n 'get_maturity_modulation' : IDL.Func(\n [IDL.Record({})],\n [GetMaturityModulationResponse],\n [],\n ),\n 'get_metadata' : IDL.Func([IDL.Record({})], [GetMetadataResponse], []),\n 'get_metrics' : IDL.Func([GetMetricsRequest], [GetMetricsResponse], []),\n 'get_metrics_replicated' : IDL.Func(\n [GetMetricsRequest],\n [GetMetricsResponse],\n [],\n ),\n 'get_mode' : IDL.Func([IDL.Record({})], [GetModeResponse], []),\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 'get_timers' : IDL.Func([IDL.Record({})], [GetTimersResponse], []),\n 'get_upgrade_journal' : IDL.Func(\n [GetUpgradeJournalRequest],\n [GetUpgradeJournalResponse],\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 'list_topics' : IDL.Func([ListTopicsRequest], [ListTopicsResponse], []),\n 'manage_neuron' : IDL.Func([ManageNeuron], [ManageNeuronResponse], []),\n 'reset_timers' : IDL.Func([IDL.Record({})], [IDL.Record({})], []),\n 'set_mode' : IDL.Func([SetMode], [IDL.Record({})], []),\n });\n};\nexport const init = ({ IDL }) => {\n const PreciseValue = IDL.Rec();\n const Timers = IDL.Record({\n 'last_spawned_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'last_reset_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'requires_periodic_tasks' : IDL.Opt(IDL.Bool),\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 'index_wasm_hash' : IDL.Vec(IDL.Nat8),\n });\n const Versions = IDL.Record({ 'versions' : IDL.Vec(Version) });\n const CachedUpgradeSteps = IDL.Record({\n 'upgrade_steps' : IDL.Opt(Versions),\n 'response_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'requested_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Topic = IDL.Variant({\n 'DappCanisterManagement' : IDL.Null,\n 'DaoCommunitySettings' : IDL.Null,\n 'ApplicationBusinessLogic' : IDL.Null,\n 'CriticalDappOperations' : IDL.Null,\n 'TreasuryAssetManagement' : IDL.Null,\n 'Governance' : IDL.Null,\n 'SnsFrameworkManagement' : IDL.Null,\n });\n const GenericNervousSystemFunction = IDL.Record({\n 'topic' : IDL.Opt(Topic),\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 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 TreasuryMetrics = IDL.Record({\n 'name' : IDL.Opt(IDL.Text),\n 'original_amount_e8s' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n 'account' : IDL.Opt(Account),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'treasury' : IDL.Int32,\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const VotingPowerMetrics = IDL.Record({\n 'governance_total_potential_voting_power' : IDL.Opt(IDL.Nat64),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'treasury_metrics' : IDL.Vec(TreasuryMetrics),\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 'voting_power_metrics' : IDL.Opt(VotingPowerMetrics),\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 MaturityModulation = IDL.Record({\n 'current_basis_points' : IDL.Opt(IDL.Int32),\n 'updated_at_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const TargetVersionSet = IDL.Record({\n 'old_target_version' : IDL.Opt(Version),\n 'new_target_version' : IDL.Opt(Version),\n 'is_advanced_automatically' : IDL.Opt(IDL.Bool),\n });\n const UpgradeStepsReset = IDL.Record({\n 'human_readable' : IDL.Opt(IDL.Text),\n 'upgrade_steps' : IDL.Opt(Versions),\n });\n const UpgradeOutcome = IDL.Record({\n 'status' : IDL.Opt(\n IDL.Variant({\n 'Success' : IDL.Record({}),\n 'Timeout' : IDL.Record({}),\n 'ExternalFailure' : IDL.Record({}),\n 'InvalidState' : IDL.Record({ 'version' : IDL.Opt(Version) }),\n })\n ),\n 'human_readable' : IDL.Opt(IDL.Text),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const UpgradeStarted = IDL.Record({\n 'current_version' : IDL.Opt(Version),\n 'expected_version' : IDL.Opt(Version),\n 'reason' : IDL.Opt(\n IDL.Variant({\n 'UpgradeSnsToNextVersionProposal' : ProposalId,\n 'BehindTargetVersion' : IDL.Record({}),\n })\n ),\n });\n const UpgradeStepsRefreshed = IDL.Record({\n 'upgrade_steps' : IDL.Opt(Versions),\n });\n const TargetVersionReset = IDL.Record({\n 'human_readable' : IDL.Opt(IDL.Text),\n 'old_target_version' : IDL.Opt(Version),\n 'new_target_version' : IDL.Opt(Version),\n });\n const UpgradeJournalEntry = IDL.Record({\n 'event' : IDL.Opt(\n IDL.Variant({\n 'TargetVersionSet' : TargetVersionSet,\n 'UpgradeStepsReset' : UpgradeStepsReset,\n 'UpgradeOutcome' : UpgradeOutcome,\n 'UpgradeStarted' : UpgradeStarted,\n 'UpgradeStepsRefreshed' : UpgradeStepsRefreshed,\n 'TargetVersionReset' : TargetVersionReset,\n })\n ),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const UpgradeJournal = IDL.Record({\n 'entries' : IDL.Vec(UpgradeJournalEntry),\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 '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_dissolve_delay_bonus_percentage' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'automatically_advance_target_version' : IDL.Opt(IDL.Bool),\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 'max_age_bonus_percentage' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'voting_rewards_parameters' : IDL.Opt(VotingRewardsParameters),\n 'maturity_modulation_disabled' : IDL.Opt(IDL.Bool),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const RewardEvent = IDL.Record({\n 'rounds_since_last_distribution' : IDL.Opt(IDL.Nat64),\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'end_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'total_available_e8s_equivalent' : IDL.Opt(IDL.Nat64),\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'round' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const PendingVersion = IDL.Record({\n 'mark_failed_at_seconds' : IDL.Nat64,\n 'checking_upgrade_lock' : IDL.Nat64,\n 'proposal_id' : IDL.Opt(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 Decimal = IDL.Record({ 'human_readable' : IDL.Opt(IDL.Text) });\n const Tokens = IDL.Record({ 'e8s' : IDL.Opt(IDL.Nat64) });\n const ValuationFactors = IDL.Record({\n 'xdrs_per_icp' : IDL.Opt(Decimal),\n 'icps_per_token' : IDL.Opt(Decimal),\n 'tokens' : IDL.Opt(Tokens),\n });\n const Valuation = IDL.Record({\n 'token' : IDL.Opt(IDL.Int32),\n 'account' : IDL.Opt(Account),\n 'valuation_factors' : IDL.Opt(ValuationFactors),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const MintSnsTokensActionAuxiliary = IDL.Record({\n 'valuation' : IDL.Opt(Valuation),\n });\n const SnsVersion = IDL.Record({\n 'archive_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'root_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'swap_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'ledger_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'governance_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'index_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const AdvanceSnsTargetVersionActionAuxiliary = IDL.Record({\n 'target_version' : IDL.Opt(SnsVersion),\n });\n const ActionAuxiliary = IDL.Variant({\n 'TransferSnsTreasuryFunds' : MintSnsTokensActionAuxiliary,\n 'MintSnsTokens' : MintSnsTokensActionAuxiliary,\n 'AdvanceSnsTargetVersion' : AdvanceSnsTargetVersionActionAuxiliary,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Percentage = IDL.Record({ 'basis_points' : IDL.Opt(IDL.Nat64) });\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 ManageDappCanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Opt(IDL.Nat64),\n 'wasm_memory_threshold' : IDL.Opt(IDL.Nat64),\n 'canister_ids' : IDL.Vec(IDL.Principal),\n 'reserved_cycles_limit' : IDL.Opt(IDL.Nat64),\n 'log_visibility' : IDL.Opt(IDL.Int32),\n 'wasm_memory_limit' : IDL.Opt(IDL.Nat64),\n 'memory_allocation' : IDL.Opt(IDL.Nat64),\n 'compute_allocation' : IDL.Opt(IDL.Nat64),\n });\n PreciseValue.fill(\n IDL.Variant({\n 'Int' : IDL.Int64,\n 'Map' : IDL.Vec(IDL.Tuple(IDL.Text, PreciseValue)),\n 'Nat' : IDL.Nat64,\n 'Blob' : IDL.Vec(IDL.Nat8),\n 'Bool' : IDL.Bool,\n 'Text' : IDL.Text,\n 'Array' : IDL.Vec(PreciseValue),\n })\n );\n const ExtensionOperationArg = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });\n const ExecuteExtensionOperation = IDL.Record({\n 'extension_canister_id' : IDL.Opt(IDL.Principal),\n 'operation_name' : IDL.Opt(IDL.Text),\n 'operation_arg' : IDL.Opt(ExtensionOperationArg),\n });\n const ChunkedCanisterWasm = IDL.Record({\n 'wasm_module_hash' : IDL.Vec(IDL.Nat8),\n 'chunk_hashes_list' : IDL.Vec(IDL.Vec(IDL.Nat8)),\n 'store_canister_id' : IDL.Opt(IDL.Principal),\n });\n const Wasm = IDL.Variant({\n 'Chunked' : ChunkedCanisterWasm,\n 'Bytes' : IDL.Vec(IDL.Nat8),\n });\n const ExtensionUpgradeArg = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });\n const UpgradeExtension = IDL.Record({\n 'extension_canister_id' : IDL.Opt(IDL.Principal),\n 'wasm' : IDL.Opt(Wasm),\n 'canister_upgrade_arg' : IDL.Opt(ExtensionUpgradeArg),\n });\n const SetTopicsForCustomProposals = IDL.Record({\n 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),\n });\n const ExtensionInit = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });\n const RegisterExtension = IDL.Record({\n 'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),\n 'extension_init' : IDL.Opt(ExtensionInit),\n });\n const RegisterDappCanisters = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n });\n const TransferSnsTreasuryFunds = IDL.Record({\n 'from_treasury' : IDL.Int32,\n 'to_principal' : IDL.Opt(IDL.Principal),\n 'to_subaccount' : IDL.Opt(Subaccount),\n 'memo' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'mode' : IDL.Opt(IDL.Int32),\n 'canister_id' : IDL.Opt(IDL.Principal),\n 'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),\n 'canister_upgrade_arg' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const DeregisterDappCanisters = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n 'new_controllers' : IDL.Vec(IDL.Principal),\n });\n const MintSnsTokens = IDL.Record({\n 'to_principal' : IDL.Opt(IDL.Principal),\n 'to_subaccount' : IDL.Opt(Subaccount),\n 'memo' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n });\n const AdvanceSnsTargetVersion = IDL.Record({\n 'new_target' : IDL.Opt(SnsVersion),\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 ManageLedgerParameters = IDL.Record({\n 'token_symbol' : IDL.Opt(IDL.Text),\n 'transfer_fee' : IDL.Opt(IDL.Nat64),\n 'token_logo' : IDL.Opt(IDL.Text),\n 'token_name' : IDL.Opt(IDL.Text),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'ManageDappCanisterSettings' : ManageDappCanisterSettings,\n 'ExecuteExtensionOperation' : ExecuteExtensionOperation,\n 'UpgradeExtension' : UpgradeExtension,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'SetTopicsForCustomProposals' : SetTopicsForCustomProposals,\n 'RegisterExtension' : RegisterExtension,\n 'UpgradeSnsToNextVersion' : IDL.Record({}),\n 'RegisterDappCanisters' : RegisterDappCanisters,\n 'TransferSnsTreasuryFunds' : TransferSnsTreasuryFunds,\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'DeregisterDappCanisters' : DeregisterDappCanisters,\n 'MintSnsTokens' : MintSnsTokens,\n 'AdvanceSnsTargetVersion' : AdvanceSnsTargetVersion,\n 'Unspecified' : IDL.Record({}),\n 'ManageSnsMetadata' : ManageSnsMetadata,\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'ManageLedgerParameters' : ManageLedgerParameters,\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 'topic' : IDL.Opt(Topic),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'action_auxiliary' : IDL.Opt(ActionAuxiliary),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'minimum_yes_proportion_of_total' : IDL.Opt(Percentage),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'reward_event_end_timestamp_seconds' : IDL.Opt(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 'minimum_yes_proportion_of_exercised' : IDL.Opt(Percentage),\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 DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const ChangeAutoStakeMaturity = IDL.Record({\n 'requested_setting_for_auto_stake_maturity' : IDL.Bool,\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 'ChangeAutoStakeMaturity' : ChangeAutoStakeMaturity,\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 Followee = IDL.Record({\n 'alias' : IDL.Opt(IDL.Text),\n 'neuron_id' : IDL.Opt(NeuronId),\n });\n const FolloweesForTopic = IDL.Record({\n 'topic' : IDL.Opt(Topic),\n 'followees' : IDL.Vec(Followee),\n });\n const SetFollowing = IDL.Record({\n 'topic_following' : IDL.Vec(FolloweesForTopic),\n });\n const FinalizeDisburseMaturity = IDL.Record({\n 'amount_to_be_disbursed_e8s' : IDL.Nat64,\n 'to_account' : IDL.Opt(Account),\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 'SetFollowing' : SetFollowing,\n 'SyncCommand' : IDL.Record({}),\n 'MakeProposal' : Proposal,\n 'FinalizeDisburseMaturity' : FinalizeDisburseMaturity,\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 DisburseMaturityInProgress = IDL.Record({\n 'timestamp_of_disbursement_seconds' : IDL.Nat64,\n 'amount_e8s' : IDL.Nat64,\n 'account_to_disburse_to' : IDL.Opt(Account),\n 'finalize_disbursement_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'staked_maturity_e8s_equivalent' : IDL.Opt(IDL.Nat64),\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 'topic_followees' : IDL.Opt(\n IDL.Record({\n 'topic_id_to_followees' : IDL.Vec(\n IDL.Tuple(IDL.Int32, FolloweesForTopic)\n ),\n })\n ),\n 'source_nns_neuron_id' : IDL.Opt(IDL.Nat64),\n 'auto_stake_maturity' : IDL.Opt(IDL.Bool),\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'voting_power_percentage_multiplier' : IDL.Nat64,\n 'vesting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'disburse_maturity_in_progress' : IDL.Vec(DisburseMaturityInProgress),\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 'timers' : IDL.Opt(Timers),\n 'cached_upgrade_steps' : IDL.Opt(CachedUpgradeSteps),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'maturity_modulation' : IDL.Opt(MaturityModulation),\n 'upgrade_journal' : IDL.Opt(UpgradeJournal),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'is_finalizing_disburse_maturity' : IDL.Opt(IDL.Bool),\n 'deployed_version' : IDL.Opt(Version),\n 'sns_initialization_parameters' : IDL.Text,\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'pending_version' : IDL.Opt(PendingVersion),\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 'target_version' : IDL.Opt(Version),\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 PreciseValue = IDL.Rec();\n const Timers = IDL.Record({\n 'last_spawned_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'last_reset_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'requires_periodic_tasks' : IDL.Opt(IDL.Bool),\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 'index_wasm_hash' : IDL.Vec(IDL.Nat8),\n });\n const Versions = IDL.Record({ 'versions' : IDL.Vec(Version) });\n const CachedUpgradeSteps = IDL.Record({\n 'upgrade_steps' : IDL.Opt(Versions),\n 'response_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'requested_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Topic = IDL.Variant({\n 'DappCanisterManagement' : IDL.Null,\n 'DaoCommunitySettings' : IDL.Null,\n 'ApplicationBusinessLogic' : IDL.Null,\n 'CriticalDappOperations' : IDL.Null,\n 'TreasuryAssetManagement' : IDL.Null,\n 'Governance' : IDL.Null,\n 'SnsFrameworkManagement' : IDL.Null,\n });\n const GenericNervousSystemFunction = IDL.Record({\n 'topic' : IDL.Opt(Topic),\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 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 TreasuryMetrics = IDL.Record({\n 'name' : IDL.Opt(IDL.Text),\n 'original_amount_e8s' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n 'account' : IDL.Opt(Account),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'treasury' : IDL.Int32,\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const VotingPowerMetrics = IDL.Record({\n 'governance_total_potential_voting_power' : IDL.Opt(IDL.Nat64),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'treasury_metrics' : IDL.Vec(TreasuryMetrics),\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 'voting_power_metrics' : IDL.Opt(VotingPowerMetrics),\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 MaturityModulation = IDL.Record({\n 'current_basis_points' : IDL.Opt(IDL.Int32),\n 'updated_at_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const TargetVersionSet = IDL.Record({\n 'old_target_version' : IDL.Opt(Version),\n 'new_target_version' : IDL.Opt(Version),\n 'is_advanced_automatically' : IDL.Opt(IDL.Bool),\n });\n const UpgradeStepsReset = IDL.Record({\n 'human_readable' : IDL.Opt(IDL.Text),\n 'upgrade_steps' : IDL.Opt(Versions),\n });\n const UpgradeOutcome = IDL.Record({\n 'status' : IDL.Opt(\n IDL.Variant({\n 'Success' : IDL.Record({}),\n 'Timeout' : IDL.Record({}),\n 'ExternalFailure' : IDL.Record({}),\n 'InvalidState' : IDL.Record({ 'version' : IDL.Opt(Version) }),\n })\n ),\n 'human_readable' : IDL.Opt(IDL.Text),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const UpgradeStarted = IDL.Record({\n 'current_version' : IDL.Opt(Version),\n 'expected_version' : IDL.Opt(Version),\n 'reason' : IDL.Opt(\n IDL.Variant({\n 'UpgradeSnsToNextVersionProposal' : ProposalId,\n 'BehindTargetVersion' : IDL.Record({}),\n })\n ),\n });\n const UpgradeStepsRefreshed = IDL.Record({\n 'upgrade_steps' : IDL.Opt(Versions),\n });\n const TargetVersionReset = IDL.Record({\n 'human_readable' : IDL.Opt(IDL.Text),\n 'old_target_version' : IDL.Opt(Version),\n 'new_target_version' : IDL.Opt(Version),\n });\n const UpgradeJournalEntry = IDL.Record({\n 'event' : IDL.Opt(\n IDL.Variant({\n 'TargetVersionSet' : TargetVersionSet,\n 'UpgradeStepsReset' : UpgradeStepsReset,\n 'UpgradeOutcome' : UpgradeOutcome,\n 'UpgradeStarted' : UpgradeStarted,\n 'UpgradeStepsRefreshed' : UpgradeStepsRefreshed,\n 'TargetVersionReset' : TargetVersionReset,\n })\n ),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const UpgradeJournal = IDL.Record({\n 'entries' : IDL.Vec(UpgradeJournalEntry),\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 '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_dissolve_delay_bonus_percentage' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'automatically_advance_target_version' : IDL.Opt(IDL.Bool),\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 'max_age_bonus_percentage' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'voting_rewards_parameters' : IDL.Opt(VotingRewardsParameters),\n 'maturity_modulation_disabled' : IDL.Opt(IDL.Bool),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const RewardEvent = IDL.Record({\n 'rounds_since_last_distribution' : IDL.Opt(IDL.Nat64),\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'end_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'total_available_e8s_equivalent' : IDL.Opt(IDL.Nat64),\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'round' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const PendingVersion = IDL.Record({\n 'mark_failed_at_seconds' : IDL.Nat64,\n 'checking_upgrade_lock' : IDL.Nat64,\n 'proposal_id' : IDL.Opt(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 Decimal = IDL.Record({ 'human_readable' : IDL.Opt(IDL.Text) });\n const Tokens = IDL.Record({ 'e8s' : IDL.Opt(IDL.Nat64) });\n const ValuationFactors = IDL.Record({\n 'xdrs_per_icp' : IDL.Opt(Decimal),\n 'icps_per_token' : IDL.Opt(Decimal),\n 'tokens' : IDL.Opt(Tokens),\n });\n const Valuation = IDL.Record({\n 'token' : IDL.Opt(IDL.Int32),\n 'account' : IDL.Opt(Account),\n 'valuation_factors' : IDL.Opt(ValuationFactors),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const MintSnsTokensActionAuxiliary = IDL.Record({\n 'valuation' : IDL.Opt(Valuation),\n });\n const SnsVersion = IDL.Record({\n 'archive_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'root_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'swap_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'ledger_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'governance_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'index_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const AdvanceSnsTargetVersionActionAuxiliary = IDL.Record({\n 'target_version' : IDL.Opt(SnsVersion),\n });\n const ActionAuxiliary = IDL.Variant({\n 'TransferSnsTreasuryFunds' : MintSnsTokensActionAuxiliary,\n 'MintSnsTokens' : MintSnsTokensActionAuxiliary,\n 'AdvanceSnsTargetVersion' : AdvanceSnsTargetVersionActionAuxiliary,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Percentage = IDL.Record({ 'basis_points' : IDL.Opt(IDL.Nat64) });\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 ManageDappCanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Opt(IDL.Nat64),\n 'wasm_memory_threshold' : IDL.Opt(IDL.Nat64),\n 'canister_ids' : IDL.Vec(IDL.Principal),\n 'reserved_cycles_limit' : IDL.Opt(IDL.Nat64),\n 'log_visibility' : IDL.Opt(IDL.Int32),\n 'wasm_memory_limit' : IDL.Opt(IDL.Nat64),\n 'memory_allocation' : IDL.Opt(IDL.Nat64),\n 'compute_allocation' : IDL.Opt(IDL.Nat64),\n });\n PreciseValue.fill(\n IDL.Variant({\n 'Int' : IDL.Int64,\n 'Map' : IDL.Vec(IDL.Tuple(IDL.Text, PreciseValue)),\n 'Nat' : IDL.Nat64,\n 'Blob' : IDL.Vec(IDL.Nat8),\n 'Bool' : IDL.Bool,\n 'Text' : IDL.Text,\n 'Array' : IDL.Vec(PreciseValue),\n })\n );\n const ExtensionOperationArg = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });\n const ExecuteExtensionOperation = IDL.Record({\n 'extension_canister_id' : IDL.Opt(IDL.Principal),\n 'operation_name' : IDL.Opt(IDL.Text),\n 'operation_arg' : IDL.Opt(ExtensionOperationArg),\n });\n const ChunkedCanisterWasm = IDL.Record({\n 'wasm_module_hash' : IDL.Vec(IDL.Nat8),\n 'chunk_hashes_list' : IDL.Vec(IDL.Vec(IDL.Nat8)),\n 'store_canister_id' : IDL.Opt(IDL.Principal),\n });\n const Wasm = IDL.Variant({\n 'Chunked' : ChunkedCanisterWasm,\n 'Bytes' : IDL.Vec(IDL.Nat8),\n });\n const ExtensionUpgradeArg = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });\n const UpgradeExtension = IDL.Record({\n 'extension_canister_id' : IDL.Opt(IDL.Principal),\n 'wasm' : IDL.Opt(Wasm),\n 'canister_upgrade_arg' : IDL.Opt(ExtensionUpgradeArg),\n });\n const SetTopicsForCustomProposals = IDL.Record({\n 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),\n });\n const ExtensionInit = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });\n const RegisterExtension = IDL.Record({\n 'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),\n 'extension_init' : IDL.Opt(ExtensionInit),\n });\n const RegisterDappCanisters = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n });\n const TransferSnsTreasuryFunds = IDL.Record({\n 'from_treasury' : IDL.Int32,\n 'to_principal' : IDL.Opt(IDL.Principal),\n 'to_subaccount' : IDL.Opt(Subaccount),\n 'memo' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'mode' : IDL.Opt(IDL.Int32),\n 'canister_id' : IDL.Opt(IDL.Principal),\n 'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),\n 'canister_upgrade_arg' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const DeregisterDappCanisters = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n 'new_controllers' : IDL.Vec(IDL.Principal),\n });\n const MintSnsTokens = IDL.Record({\n 'to_principal' : IDL.Opt(IDL.Principal),\n 'to_subaccount' : IDL.Opt(Subaccount),\n 'memo' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n });\n const AdvanceSnsTargetVersion = IDL.Record({\n 'new_target' : IDL.Opt(SnsVersion),\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 ManageLedgerParameters = IDL.Record({\n 'token_symbol' : IDL.Opt(IDL.Text),\n 'transfer_fee' : IDL.Opt(IDL.Nat64),\n 'token_logo' : IDL.Opt(IDL.Text),\n 'token_name' : IDL.Opt(IDL.Text),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'ManageDappCanisterSettings' : ManageDappCanisterSettings,\n 'ExecuteExtensionOperation' : ExecuteExtensionOperation,\n 'UpgradeExtension' : UpgradeExtension,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'SetTopicsForCustomProposals' : SetTopicsForCustomProposals,\n 'RegisterExtension' : RegisterExtension,\n 'UpgradeSnsToNextVersion' : IDL.Record({}),\n 'RegisterDappCanisters' : RegisterDappCanisters,\n 'TransferSnsTreasuryFunds' : TransferSnsTreasuryFunds,\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'DeregisterDappCanisters' : DeregisterDappCanisters,\n 'MintSnsTokens' : MintSnsTokens,\n 'AdvanceSnsTargetVersion' : AdvanceSnsTargetVersion,\n 'Unspecified' : IDL.Record({}),\n 'ManageSnsMetadata' : ManageSnsMetadata,\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'ManageLedgerParameters' : ManageLedgerParameters,\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 'topic' : IDL.Opt(Topic),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'action_auxiliary' : IDL.Opt(ActionAuxiliary),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'minimum_yes_proportion_of_total' : IDL.Opt(Percentage),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'reward_event_end_timestamp_seconds' : IDL.Opt(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 'minimum_yes_proportion_of_exercised' : IDL.Opt(Percentage),\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 DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const ChangeAutoStakeMaturity = IDL.Record({\n 'requested_setting_for_auto_stake_maturity' : IDL.Bool,\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 'ChangeAutoStakeMaturity' : ChangeAutoStakeMaturity,\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 Followee = IDL.Record({\n 'alias' : IDL.Opt(IDL.Text),\n 'neuron_id' : IDL.Opt(NeuronId),\n });\n const FolloweesForTopic = IDL.Record({\n 'topic' : IDL.Opt(Topic),\n 'followees' : IDL.Vec(Followee),\n });\n const SetFollowing = IDL.Record({\n 'topic_following' : IDL.Vec(FolloweesForTopic),\n });\n const FinalizeDisburseMaturity = IDL.Record({\n 'amount_to_be_disbursed_e8s' : IDL.Nat64,\n 'to_account' : IDL.Opt(Account),\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 'SetFollowing' : SetFollowing,\n 'SyncCommand' : IDL.Record({}),\n 'MakeProposal' : Proposal,\n 'FinalizeDisburseMaturity' : FinalizeDisburseMaturity,\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 DisburseMaturityInProgress = IDL.Record({\n 'timestamp_of_disbursement_seconds' : IDL.Nat64,\n 'amount_e8s' : IDL.Nat64,\n 'account_to_disburse_to' : IDL.Opt(Account),\n 'finalize_disbursement_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'staked_maturity_e8s_equivalent' : IDL.Opt(IDL.Nat64),\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 'topic_followees' : IDL.Opt(\n IDL.Record({\n 'topic_id_to_followees' : IDL.Vec(\n IDL.Tuple(IDL.Int32, FolloweesForTopic)\n ),\n })\n ),\n 'source_nns_neuron_id' : IDL.Opt(IDL.Nat64),\n 'auto_stake_maturity' : IDL.Opt(IDL.Bool),\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'voting_power_percentage_multiplier' : IDL.Nat64,\n 'vesting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'disburse_maturity_in_progress' : IDL.Vec(DisburseMaturityInProgress),\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 'timers' : IDL.Opt(Timers),\n 'cached_upgrade_steps' : IDL.Opt(CachedUpgradeSteps),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'maturity_modulation' : IDL.Opt(MaturityModulation),\n 'upgrade_journal' : IDL.Opt(UpgradeJournal),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'is_finalizing_disburse_maturity' : IDL.Opt(IDL.Bool),\n 'deployed_version' : IDL.Opt(Version),\n 'sns_initialization_parameters' : IDL.Text,\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'pending_version' : IDL.Opt(PendingVersion),\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 'target_version' : IDL.Opt(Version),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n const Principals = IDL.Record({ 'principals' : IDL.Vec(IDL.Principal) });\n const NeuronsFund = IDL.Record({\n 'nns_neuron_hotkeys' : IDL.Opt(Principals),\n 'nns_neuron_controller' : IDL.Opt(IDL.Principal),\n 'nns_neuron_id' : IDL.Opt(IDL.Nat64),\n });\n const Participant = IDL.Variant({\n 'NeuronsFund' : NeuronsFund,\n 'Direct' : IDL.Record({}),\n });\n const NeuronIds = IDL.Record({ 'neuron_ids' : IDL.Vec(NeuronId) });\n const NeuronRecipe = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'participant' : IDL.Opt(Participant),\n 'stake_e8s' : IDL.Opt(IDL.Nat64),\n 'followees' : IDL.Opt(NeuronIds),\n 'neuron_id' : IDL.Opt(NeuronId),\n });\n const NeuronRecipes = IDL.Record({\n 'neuron_recipes' : IDL.Vec(NeuronRecipe),\n });\n const ClaimSwapNeuronsRequest = IDL.Record({\n 'neuron_recipes' : IDL.Opt(NeuronRecipes),\n });\n const SwapNeuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'status' : IDL.Int32,\n });\n const ClaimedSwapNeurons = IDL.Record({\n 'swap_neurons' : IDL.Vec(SwapNeuron),\n });\n const ClaimSwapNeuronsResult = IDL.Variant({\n 'Ok' : ClaimedSwapNeurons,\n 'Err' : IDL.Int32,\n });\n const ClaimSwapNeuronsResponse = IDL.Record({\n 'claim_swap_neurons_result' : IDL.Opt(ClaimSwapNeuronsResult),\n });\n const GetMaturityModulationResponse = IDL.Record({\n 'maturity_modulation' : IDL.Opt(MaturityModulation),\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 GetMetricsRequest = IDL.Record({\n 'time_window_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Metrics = IDL.Record({\n 'treasury_metrics' : IDL.Opt(IDL.Vec(TreasuryMetrics)),\n 'voting_power_metrics' : IDL.Opt(VotingPowerMetrics),\n 'last_ledger_block_timestamp' : IDL.Opt(IDL.Nat64),\n 'num_recently_executed_proposals' : IDL.Opt(IDL.Nat64),\n 'num_recently_submitted_proposals' : IDL.Opt(IDL.Nat64),\n 'genesis_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const GetMetricsResult = IDL.Variant({\n 'Ok' : Metrics,\n 'Err' : GovernanceError,\n });\n const GetMetricsResponse = IDL.Record({\n 'get_metrics_result' : IDL.Opt(GetMetricsResult),\n });\n const GetModeResponse = IDL.Record({ 'mode' : IDL.Opt(IDL.Int32) });\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 MemoryMetrics = IDL.Record({\n 'wasm_binary_size' : IDL.Opt(IDL.Nat),\n 'wasm_chunk_store_size' : IDL.Opt(IDL.Nat),\n 'canister_history_size' : IDL.Opt(IDL.Nat),\n 'stable_memory_size' : IDL.Opt(IDL.Nat),\n 'snapshots_size' : IDL.Opt(IDL.Nat),\n 'wasm_memory_size' : IDL.Opt(IDL.Nat),\n 'global_memory_size' : IDL.Opt(IDL.Nat),\n 'custom_sections_size' : IDL.Opt(IDL.Nat),\n });\n const CanisterStatusType = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const DefiniteCanisterSettingsArgs = IDL.Record({\n 'freezing_threshold' : IDL.Nat,\n 'wasm_memory_threshold' : IDL.Opt(IDL.Nat),\n 'controllers' : IDL.Vec(IDL.Principal),\n 'wasm_memory_limit' : IDL.Opt(IDL.Nat),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const QueryStats = IDL.Record({\n 'response_payload_bytes_total' : IDL.Opt(IDL.Nat),\n 'num_instructions_total' : IDL.Opt(IDL.Nat),\n 'num_calls_total' : IDL.Opt(IDL.Nat),\n 'request_payload_bytes_total' : IDL.Opt(IDL.Nat),\n });\n const CanisterStatusResultV2 = IDL.Record({\n 'memory_metrics' : IDL.Opt(MemoryMetrics),\n 'status' : CanisterStatusType,\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettingsArgs,\n 'query_stats' : IDL.Opt(QueryStats),\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(\n 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 ),\n });\n const GetSnsInitializationParametersResponse = IDL.Record({\n 'sns_initialization_parameters' : IDL.Text,\n });\n const GetTimersResponse = IDL.Record({ 'timers' : IDL.Opt(Timers) });\n const GetUpgradeJournalRequest = IDL.Record({\n 'offset' : IDL.Opt(IDL.Nat64),\n 'limit' : IDL.Opt(IDL.Nat64),\n });\n const GetUpgradeJournalResponse = IDL.Record({\n 'upgrade_journal' : IDL.Opt(UpgradeJournal),\n 'upgrade_steps' : IDL.Opt(Versions),\n 'response_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'deployed_version' : IDL.Opt(Version),\n 'target_version' : IDL.Opt(Version),\n 'upgrade_journal_entry_count' : IDL.Opt(IDL.Nat64),\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 TopicSelector = IDL.Record({ 'topic' : IDL.Opt(Topic) });\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_topics' : IDL.Opt(IDL.Vec(TopicSelector)),\n 'include_status' : IDL.Vec(IDL.Int32),\n });\n const ListProposalsResponse = IDL.Record({\n 'include_ballots_by_caller' : IDL.Opt(IDL.Bool),\n 'proposals' : IDL.Vec(ProposalData),\n 'include_topic_filtering' : IDL.Opt(IDL.Bool),\n });\n const ListTopicsRequest = IDL.Record({});\n const ExtensionOperationType = IDL.Variant({\n 'TreasuryManagerWithdraw' : IDL.Null,\n 'TreasuryManagerDeposit' : IDL.Null,\n });\n const ExtensionType = IDL.Variant({ 'TreasuryManager' : IDL.Null });\n const ExtensionOperationSpec = IDL.Record({\n 'topic' : IDL.Opt(Topic),\n 'operation_type' : IDL.Opt(ExtensionOperationType),\n 'description' : IDL.Opt(IDL.Text),\n 'extension_type' : IDL.Opt(ExtensionType),\n });\n const RegisteredExtensionOperationSpec = IDL.Record({\n 'spec' : IDL.Opt(ExtensionOperationSpec),\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const TopicInfo = IDL.Record({\n 'extension_operations' : IDL.Opt(IDL.Vec(RegisteredExtensionOperationSpec)),\n 'native_functions' : IDL.Opt(IDL.Vec(NervousSystemFunction)),\n 'topic' : IDL.Opt(Topic),\n 'is_critical' : IDL.Opt(IDL.Bool),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n 'custom_functions' : IDL.Opt(IDL.Vec(NervousSystemFunction)),\n });\n const ListTopicsResponse = IDL.Record({\n 'uncategorized_functions' : IDL.Opt(IDL.Vec(NervousSystemFunction)),\n 'topics' : IDL.Opt(IDL.Vec(TopicInfo)),\n });\n const StakeMaturity = IDL.Record({\n 'percentage_to_stake' : IDL.Opt(IDL.Nat32),\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 'SetFollowing' : SetFollowing,\n 'MakeProposal' : Proposal,\n 'StakeMaturity' : StakeMaturity,\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 'amount_disbursed_e8s' : IDL.Nat64,\n 'amount_deducted_e8s' : IDL.Opt(IDL.Nat64),\n });\n const ClaimOrRefreshResponse = IDL.Record({\n 'refreshed_neuron_id' : IDL.Opt(NeuronId),\n });\n const StakeMaturityResponse = IDL.Record({\n 'maturity_e8s' : IDL.Nat64,\n 'staked_maturity_e8s' : IDL.Nat64,\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 'SetFollowing' : IDL.Record({}),\n 'MakeProposal' : GetProposal,\n 'RemoveNeuronPermission' : IDL.Record({}),\n 'StakeMaturity' : StakeMaturityResponse,\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 'claim_swap_neurons' : IDL.Func(\n [ClaimSwapNeuronsRequest],\n [ClaimSwapNeuronsResponse],\n [],\n ),\n 'fail_stuck_upgrade_in_progress' : IDL.Func(\n [IDL.Record({})],\n [IDL.Record({})],\n [],\n ),\n 'get_build_metadata' : IDL.Func([], [IDL.Text], ['query']),\n 'get_latest_reward_event' : IDL.Func([], [RewardEvent], ['query']),\n 'get_maturity_modulation' : IDL.Func(\n [IDL.Record({})],\n [GetMaturityModulationResponse],\n [],\n ),\n 'get_metadata' : IDL.Func(\n [IDL.Record({})],\n [GetMetadataResponse],\n ['query'],\n ),\n 'get_metrics' : IDL.Func(\n [GetMetricsRequest],\n [GetMetricsResponse],\n ['composite_query'],\n ),\n 'get_metrics_replicated' : IDL.Func(\n [GetMetricsRequest],\n [GetMetricsResponse],\n [],\n ),\n 'get_mode' : IDL.Func([IDL.Record({})], [GetModeResponse], ['query']),\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 'get_timers' : IDL.Func([IDL.Record({})], [GetTimersResponse], ['query']),\n 'get_upgrade_journal' : IDL.Func(\n [GetUpgradeJournalRequest],\n [GetUpgradeJournalResponse],\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 'list_topics' : IDL.Func(\n [ListTopicsRequest],\n [ListTopicsResponse],\n ['query'],\n ),\n 'manage_neuron' : IDL.Func([ManageNeuron], [ManageNeuronResponse], []),\n 'reset_timers' : IDL.Func([IDL.Record({})], [IDL.Record({})], []),\n 'set_mode' : IDL.Func([SetMode], [IDL.Record({})], []),\n });\n};\nexport const init = ({ IDL }) => {\n const PreciseValue = IDL.Rec();\n const Timers = IDL.Record({\n 'last_spawned_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'last_reset_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'requires_periodic_tasks' : IDL.Opt(IDL.Bool),\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 'index_wasm_hash' : IDL.Vec(IDL.Nat8),\n });\n const Versions = IDL.Record({ 'versions' : IDL.Vec(Version) });\n const CachedUpgradeSteps = IDL.Record({\n 'upgrade_steps' : IDL.Opt(Versions),\n 'response_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'requested_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Topic = IDL.Variant({\n 'DappCanisterManagement' : IDL.Null,\n 'DaoCommunitySettings' : IDL.Null,\n 'ApplicationBusinessLogic' : IDL.Null,\n 'CriticalDappOperations' : IDL.Null,\n 'TreasuryAssetManagement' : IDL.Null,\n 'Governance' : IDL.Null,\n 'SnsFrameworkManagement' : IDL.Null,\n });\n const GenericNervousSystemFunction = IDL.Record({\n 'topic' : IDL.Opt(Topic),\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 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 TreasuryMetrics = IDL.Record({\n 'name' : IDL.Opt(IDL.Text),\n 'original_amount_e8s' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n 'account' : IDL.Opt(Account),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'treasury' : IDL.Int32,\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const VotingPowerMetrics = IDL.Record({\n 'governance_total_potential_voting_power' : IDL.Opt(IDL.Nat64),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'treasury_metrics' : IDL.Vec(TreasuryMetrics),\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 'voting_power_metrics' : IDL.Opt(VotingPowerMetrics),\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 MaturityModulation = IDL.Record({\n 'current_basis_points' : IDL.Opt(IDL.Int32),\n 'updated_at_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const TargetVersionSet = IDL.Record({\n 'old_target_version' : IDL.Opt(Version),\n 'new_target_version' : IDL.Opt(Version),\n 'is_advanced_automatically' : IDL.Opt(IDL.Bool),\n });\n const UpgradeStepsReset = IDL.Record({\n 'human_readable' : IDL.Opt(IDL.Text),\n 'upgrade_steps' : IDL.Opt(Versions),\n });\n const UpgradeOutcome = IDL.Record({\n 'status' : IDL.Opt(\n IDL.Variant({\n 'Success' : IDL.Record({}),\n 'Timeout' : IDL.Record({}),\n 'ExternalFailure' : IDL.Record({}),\n 'InvalidState' : IDL.Record({ 'version' : IDL.Opt(Version) }),\n })\n ),\n 'human_readable' : IDL.Opt(IDL.Text),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const UpgradeStarted = IDL.Record({\n 'current_version' : IDL.Opt(Version),\n 'expected_version' : IDL.Opt(Version),\n 'reason' : IDL.Opt(\n IDL.Variant({\n 'UpgradeSnsToNextVersionProposal' : ProposalId,\n 'BehindTargetVersion' : IDL.Record({}),\n })\n ),\n });\n const UpgradeStepsRefreshed = IDL.Record({\n 'upgrade_steps' : IDL.Opt(Versions),\n });\n const TargetVersionReset = IDL.Record({\n 'human_readable' : IDL.Opt(IDL.Text),\n 'old_target_version' : IDL.Opt(Version),\n 'new_target_version' : IDL.Opt(Version),\n });\n const UpgradeJournalEntry = IDL.Record({\n 'event' : IDL.Opt(\n IDL.Variant({\n 'TargetVersionSet' : TargetVersionSet,\n 'UpgradeStepsReset' : UpgradeStepsReset,\n 'UpgradeOutcome' : UpgradeOutcome,\n 'UpgradeStarted' : UpgradeStarted,\n 'UpgradeStepsRefreshed' : UpgradeStepsRefreshed,\n 'TargetVersionReset' : TargetVersionReset,\n })\n ),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const UpgradeJournal = IDL.Record({\n 'entries' : IDL.Vec(UpgradeJournalEntry),\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 '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_dissolve_delay_bonus_percentage' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'automatically_advance_target_version' : IDL.Opt(IDL.Bool),\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 'max_age_bonus_percentage' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'voting_rewards_parameters' : IDL.Opt(VotingRewardsParameters),\n 'maturity_modulation_disabled' : IDL.Opt(IDL.Bool),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const RewardEvent = IDL.Record({\n 'rounds_since_last_distribution' : IDL.Opt(IDL.Nat64),\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'end_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'total_available_e8s_equivalent' : IDL.Opt(IDL.Nat64),\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'round' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const PendingVersion = IDL.Record({\n 'mark_failed_at_seconds' : IDL.Nat64,\n 'checking_upgrade_lock' : IDL.Nat64,\n 'proposal_id' : IDL.Opt(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 Decimal = IDL.Record({ 'human_readable' : IDL.Opt(IDL.Text) });\n const Tokens = IDL.Record({ 'e8s' : IDL.Opt(IDL.Nat64) });\n const ValuationFactors = IDL.Record({\n 'xdrs_per_icp' : IDL.Opt(Decimal),\n 'icps_per_token' : IDL.Opt(Decimal),\n 'tokens' : IDL.Opt(Tokens),\n });\n const Valuation = IDL.Record({\n 'token' : IDL.Opt(IDL.Int32),\n 'account' : IDL.Opt(Account),\n 'valuation_factors' : IDL.Opt(ValuationFactors),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const MintSnsTokensActionAuxiliary = IDL.Record({\n 'valuation' : IDL.Opt(Valuation),\n });\n const SnsVersion = IDL.Record({\n 'archive_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'root_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'swap_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'ledger_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'governance_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'index_wasm_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const AdvanceSnsTargetVersionActionAuxiliary = IDL.Record({\n 'target_version' : IDL.Opt(SnsVersion),\n });\n const ActionAuxiliary = IDL.Variant({\n 'TransferSnsTreasuryFunds' : MintSnsTokensActionAuxiliary,\n 'MintSnsTokens' : MintSnsTokensActionAuxiliary,\n 'AdvanceSnsTargetVersion' : AdvanceSnsTargetVersionActionAuxiliary,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Percentage = IDL.Record({ 'basis_points' : IDL.Opt(IDL.Nat64) });\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 ManageDappCanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Opt(IDL.Nat64),\n 'wasm_memory_threshold' : IDL.Opt(IDL.Nat64),\n 'canister_ids' : IDL.Vec(IDL.Principal),\n 'reserved_cycles_limit' : IDL.Opt(IDL.Nat64),\n 'log_visibility' : IDL.Opt(IDL.Int32),\n 'wasm_memory_limit' : IDL.Opt(IDL.Nat64),\n 'memory_allocation' : IDL.Opt(IDL.Nat64),\n 'compute_allocation' : IDL.Opt(IDL.Nat64),\n });\n PreciseValue.fill(\n IDL.Variant({\n 'Int' : IDL.Int64,\n 'Map' : IDL.Vec(IDL.Tuple(IDL.Text, PreciseValue)),\n 'Nat' : IDL.Nat64,\n 'Blob' : IDL.Vec(IDL.Nat8),\n 'Bool' : IDL.Bool,\n 'Text' : IDL.Text,\n 'Array' : IDL.Vec(PreciseValue),\n })\n );\n const ExtensionOperationArg = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });\n const ExecuteExtensionOperation = IDL.Record({\n 'extension_canister_id' : IDL.Opt(IDL.Principal),\n 'operation_name' : IDL.Opt(IDL.Text),\n 'operation_arg' : IDL.Opt(ExtensionOperationArg),\n });\n const ChunkedCanisterWasm = IDL.Record({\n 'wasm_module_hash' : IDL.Vec(IDL.Nat8),\n 'chunk_hashes_list' : IDL.Vec(IDL.Vec(IDL.Nat8)),\n 'store_canister_id' : IDL.Opt(IDL.Principal),\n });\n const Wasm = IDL.Variant({\n 'Chunked' : ChunkedCanisterWasm,\n 'Bytes' : IDL.Vec(IDL.Nat8),\n });\n const ExtensionUpgradeArg = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });\n const UpgradeExtension = IDL.Record({\n 'extension_canister_id' : IDL.Opt(IDL.Principal),\n 'wasm' : IDL.Opt(Wasm),\n 'canister_upgrade_arg' : IDL.Opt(ExtensionUpgradeArg),\n });\n const SetTopicsForCustomProposals = IDL.Record({\n 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),\n });\n const ExtensionInit = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });\n const RegisterExtension = IDL.Record({\n 'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),\n 'extension_init' : IDL.Opt(ExtensionInit),\n });\n const RegisterDappCanisters = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n });\n const TransferSnsTreasuryFunds = IDL.Record({\n 'from_treasury' : IDL.Int32,\n 'to_principal' : IDL.Opt(IDL.Principal),\n 'to_subaccount' : IDL.Opt(Subaccount),\n 'memo' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'mode' : IDL.Opt(IDL.Int32),\n 'canister_id' : IDL.Opt(IDL.Principal),\n 'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),\n 'canister_upgrade_arg' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const DeregisterDappCanisters = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n 'new_controllers' : IDL.Vec(IDL.Principal),\n });\n const MintSnsTokens = IDL.Record({\n 'to_principal' : IDL.Opt(IDL.Principal),\n 'to_subaccount' : IDL.Opt(Subaccount),\n 'memo' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n });\n const AdvanceSnsTargetVersion = IDL.Record({\n 'new_target' : IDL.Opt(SnsVersion),\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 ManageLedgerParameters = IDL.Record({\n 'token_symbol' : IDL.Opt(IDL.Text),\n 'transfer_fee' : IDL.Opt(IDL.Nat64),\n 'token_logo' : IDL.Opt(IDL.Text),\n 'token_name' : IDL.Opt(IDL.Text),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'ManageDappCanisterSettings' : ManageDappCanisterSettings,\n 'ExecuteExtensionOperation' : ExecuteExtensionOperation,\n 'UpgradeExtension' : UpgradeExtension,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'SetTopicsForCustomProposals' : SetTopicsForCustomProposals,\n 'RegisterExtension' : RegisterExtension,\n 'UpgradeSnsToNextVersion' : IDL.Record({}),\n 'RegisterDappCanisters' : RegisterDappCanisters,\n 'TransferSnsTreasuryFunds' : TransferSnsTreasuryFunds,\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'DeregisterDappCanisters' : DeregisterDappCanisters,\n 'MintSnsTokens' : MintSnsTokens,\n 'AdvanceSnsTargetVersion' : AdvanceSnsTargetVersion,\n 'Unspecified' : IDL.Record({}),\n 'ManageSnsMetadata' : ManageSnsMetadata,\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'ManageLedgerParameters' : ManageLedgerParameters,\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 'topic' : IDL.Opt(Topic),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'action_auxiliary' : IDL.Opt(ActionAuxiliary),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'minimum_yes_proportion_of_total' : IDL.Opt(Percentage),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'reward_event_end_timestamp_seconds' : IDL.Opt(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 'minimum_yes_proportion_of_exercised' : IDL.Opt(Percentage),\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 DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const ChangeAutoStakeMaturity = IDL.Record({\n 'requested_setting_for_auto_stake_maturity' : IDL.Bool,\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 'ChangeAutoStakeMaturity' : ChangeAutoStakeMaturity,\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 Followee = IDL.Record({\n 'alias' : IDL.Opt(IDL.Text),\n 'neuron_id' : IDL.Opt(NeuronId),\n });\n const FolloweesForTopic = IDL.Record({\n 'topic' : IDL.Opt(Topic),\n 'followees' : IDL.Vec(Followee),\n });\n const SetFollowing = IDL.Record({\n 'topic_following' : IDL.Vec(FolloweesForTopic),\n });\n const FinalizeDisburseMaturity = IDL.Record({\n 'amount_to_be_disbursed_e8s' : IDL.Nat64,\n 'to_account' : IDL.Opt(Account),\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 'SetFollowing' : SetFollowing,\n 'SyncCommand' : IDL.Record({}),\n 'MakeProposal' : Proposal,\n 'FinalizeDisburseMaturity' : FinalizeDisburseMaturity,\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 DisburseMaturityInProgress = IDL.Record({\n 'timestamp_of_disbursement_seconds' : IDL.Nat64,\n 'amount_e8s' : IDL.Nat64,\n 'account_to_disburse_to' : IDL.Opt(Account),\n 'finalize_disbursement_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'staked_maturity_e8s_equivalent' : IDL.Opt(IDL.Nat64),\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 'topic_followees' : IDL.Opt(\n IDL.Record({\n 'topic_id_to_followees' : IDL.Vec(\n IDL.Tuple(IDL.Int32, FolloweesForTopic)\n ),\n })\n ),\n 'source_nns_neuron_id' : IDL.Opt(IDL.Nat64),\n 'auto_stake_maturity' : IDL.Opt(IDL.Bool),\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'voting_power_percentage_multiplier' : IDL.Nat64,\n 'vesting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'disburse_maturity_in_progress' : IDL.Vec(DisburseMaturityInProgress),\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 'timers' : IDL.Opt(Timers),\n 'cached_upgrade_steps' : IDL.Opt(CachedUpgradeSteps),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'maturity_modulation' : IDL.Opt(MaturityModulation),\n 'upgrade_journal' : IDL.Opt(UpgradeJournal),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'is_finalizing_disburse_maturity' : IDL.Opt(IDL.Bool),\n 'deployed_version' : IDL.Opt(Version),\n 'sns_initialization_parameters' : IDL.Text,\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'pending_version' : IDL.Opt(PendingVersion),\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 'target_version' : IDL.Opt(Version),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n return [Governance];\n};\n", "import type { IcrcAccount } from \"@dfinity/ledger-icrc\";\nimport {\n assertNever,\n fromNullable,\n jsonReplacer,\n toNullable,\n} from \"@dfinity/utils\";\nimport type {\n Account,\n Action as ActionCandid,\n AdvanceSnsTargetVersion as AdvanceSnsTargetVersionCandid,\n ChunkedCanisterWasm as ChunkedCanisterWasmCandid,\n Command,\n ExecuteExtensionOperation as ExecuteExtensionOperationCandid,\n ExtensionOperationArg as ExtensionOperationArgCandid,\n ExtensionUpgradeArg as ExtensionUpgradeArgCandid,\n FunctionType as FunctionTypeCandid,\n GenericNervousSystemFunction as GenericNervousSystemFunctionCandid,\n ListProposals,\n ManageDappCanisterSettings as ManageDappCanisterSettingsCandid,\n ManageLedgerParameters as ManageLedgerParametersCandid,\n ManageNeuron,\n ManageSnsMetadata as ManageSnsMetadataCandid,\n MintSnsTokens as MintSnsTokensCandid,\n NervousSystemFunction as NervousSystemFunctionCandid,\n NervousSystemParameters as NervousSystemParametersCandid,\n NeuronId,\n Operation,\n PreciseValue as PreciseValueCandid,\n RegisterExtension as RegisterExtensionCandid,\n SnsVersion as SnsVersionCandid,\n TransferSnsTreasuryFunds as TransferSnsTreasuryFundsCandid,\n UpgradeExtension as UpgradeExtensionCandid,\n UpgradeSnsControlledCanister as UpgradeSnsControlledCanisterCandid,\n VotingRewardsParameters as VotingRewardsParametersCandid,\n Wasm as WasmCandid,\n} from \"../../candid/sns_governance\";\nimport { DEFAULT_PROPOSALS_LIMIT } from \"../constants/governance.constants\";\nimport type {\n Action,\n AdvanceSnsTargetVersion,\n ChunkedCanisterWasm,\n ExecuteExtensionOperation,\n ExtensionOperationArg,\n ExtensionUpgradeArg,\n FunctionType,\n GenericNervousSystemFunction,\n ManageDappCanisterSettings,\n ManageLedgerParameters,\n ManageSnsMetadata,\n MintSnsTokens,\n NervousSystemFunction,\n NervousSystemParameters,\n PreciseValue,\n RegisterExtension,\n SnsVersion,\n TransferSnsTreasuryFunds,\n UpgradeExtension,\n UpgradeSnsControlledCanister,\n VotingRewardsParameters,\n Wasm,\n} from \"../types/actions\";\nimport type {\n SnsClaimOrRefreshArgs,\n SnsDisburseNeuronParams,\n SnsIncreaseDissolveDelayParams,\n SnsListProposalsParams,\n SnsNeuronAutoStakeMaturityParams,\n SnsNeuronDisburseMaturityParams,\n SnsNeuronPermissionsParams,\n SnsNeuronStakeMaturityParams,\n SnsRegisterVoteParams,\n SnsSetDissolveTimestampParams,\n SnsSetFollowingParams,\n SnsSetTopicFollowees,\n SnsSplitNeuronParams,\n} from \"../types/governance.params\";\n\n// Helper for building `ManageNeuron` structure\nconst toManageNeuronCommand = ({\n neuronId: { id },\n command,\n}: {\n neuronId: NeuronId;\n command: Command;\n}): ManageNeuron => ({\n subaccount: id,\n command: [command],\n});\n\n// Helper for building `ManageNeuron` structure for type `Operation` commands\nconst toManageNeuronConfigureCommand = ({\n neuronId,\n operation,\n}: {\n neuronId: NeuronId;\n operation: Operation;\n}): ManageNeuron =>\n toManageNeuronCommand({\n neuronId,\n command: {\n Configure: {\n operation: [operation],\n },\n },\n });\n\nexport const toCandidAccount = ({\n owner,\n subaccount,\n}: IcrcAccount): Account => ({\n owner: toNullable(owner),\n subaccount: subaccount === undefined ? [] : toNullable({ subaccount }),\n});\n\nexport const toAddPermissionsRequest = ({\n neuronId,\n permissions,\n principal,\n}: SnsNeuronPermissionsParams): ManageNeuron =>\n toManageNeuronCommand({\n neuronId,\n command: {\n AddNeuronPermissions: {\n permissions_to_add: [{ permissions: Int32Array.from(permissions) }],\n principal_id: [principal],\n },\n },\n });\n\nexport const toRemovePermissionsRequest = ({\n neuronId,\n permissions,\n principal,\n}: SnsNeuronPermissionsParams): ManageNeuron =>\n toManageNeuronCommand({\n neuronId,\n command: {\n RemoveNeuronPermissions: {\n permissions_to_remove: [{ permissions: Int32Array.from(permissions) }],\n principal_id: [principal],\n },\n },\n });\n\nexport const toSplitNeuronRequest = ({\n neuronId,\n memo,\n amount: amount_e8s,\n}: SnsSplitNeuronParams): ManageNeuron =>\n toManageNeuronCommand({\n neuronId,\n command: {\n Split: {\n memo,\n amount_e8s,\n },\n },\n });\n\nexport const toDisburseNeuronRequest = ({\n neuronId,\n amount,\n toAccount,\n}: SnsDisburseNeuronParams): ManageNeuron =>\n toManageNeuronCommand({\n neuronId,\n command: {\n Disburse: {\n // currently there is a main account only support\n to_account:\n toAccount === undefined ? [] : toNullable(toCandidAccount(toAccount)),\n amount:\n amount === undefined\n ? []\n : [\n {\n e8s: amount,\n },\n ],\n },\n },\n });\n\nexport const toStartDissolvingNeuronRequest = (\n neuronId: NeuronId,\n): ManageNeuron =>\n toManageNeuronConfigureCommand({\n neuronId,\n operation: { StartDissolving: {} },\n });\n\nexport const toStopDissolvingNeuronRequest = (\n neuronId: NeuronId,\n): ManageNeuron =>\n toManageNeuronConfigureCommand({\n neuronId,\n operation: { StopDissolving: {} },\n });\n\nexport const toStakeMaturityRequest = ({\n neuronId,\n percentageToStake,\n}: SnsNeuronStakeMaturityParams): ManageNeuron =>\n toManageNeuronCommand({\n neuronId,\n command: {\n StakeMaturity: {\n percentage_to_stake: toNullable(percentageToStake),\n },\n },\n });\n\nexport const toDisburseMaturityRequest = ({\n neuronId,\n percentageToDisburse,\n toAccount,\n}: SnsNeuronDisburseMaturityParams): ManageNeuron =>\n toManageNeuronCommand({\n neuronId,\n command: {\n DisburseMaturity: {\n // currently there is a main account only support\n to_account:\n toAccount === undefined ? [] : toNullable(toCandidAccount(toAccount)),\n percentage_to_disburse: percentageToDisburse,\n },\n },\n });\n\nexport const toAutoStakeMaturityNeuronRequest = ({\n neuronId,\n autoStake: requested_setting_for_auto_stake_maturity,\n}: SnsNeuronAutoStakeMaturityParams): ManageNeuron =>\n toManageNeuronConfigureCommand({\n neuronId,\n operation: {\n ChangeAutoStakeMaturity: {\n requested_setting_for_auto_stake_maturity,\n },\n },\n });\n\nexport const toSetDissolveTimestampRequest = ({\n neuronId,\n dissolveTimestampSeconds,\n}: SnsSetDissolveTimestampParams): ManageNeuron =>\n toManageNeuronConfigureCommand({\n neuronId,\n operation: {\n SetDissolveTimestamp: {\n dissolve_timestamp_seconds: dissolveTimestampSeconds,\n },\n },\n });\n\nexport const toIncreaseDissolveDelayRequest = ({\n neuronId,\n additionalDissolveDelaySeconds,\n}: SnsIncreaseDissolveDelayParams): ManageNeuron =>\n toManageNeuronConfigureCommand({\n neuronId,\n operation: {\n IncreaseDissolveDelay: {\n additional_dissolve_delay_seconds: additionalDissolveDelaySeconds,\n },\n },\n });\n\nexport const toFollowRequest = ({\n neuronId,\n functionId,\n followees,\n}: SnsSetTopicFollowees): ManageNeuron => ({\n subaccount: neuronId.id,\n command: [\n {\n Follow: {\n function_id: functionId,\n followees,\n },\n },\n ],\n});\n\nexport const toSetFollowingRequest = ({\n neuronId,\n topicFollowing,\n}: SnsSetFollowingParams): ManageNeuron => ({\n subaccount: neuronId.id,\n command: [\n {\n SetFollowing: {\n topic_following: topicFollowing.map(({ topic, followees }) => ({\n topic: [topic],\n followees: followees.map(({ neuronId, alias }) => ({\n neuron_id: toNullable(neuronId),\n alias: toNullable(alias),\n })),\n })),\n },\n },\n ],\n});\n\nexport const toRegisterVoteRequest = ({\n neuronId,\n proposalId,\n vote,\n}: SnsRegisterVoteParams): ManageNeuron => ({\n subaccount: neuronId.id,\n command: [\n {\n RegisterVote: {\n vote,\n proposal: [proposalId],\n },\n },\n ],\n});\n\nexport const toClaimOrRefreshRequest = ({\n subaccount,\n memo,\n controller,\n}: SnsClaimOrRefreshArgs): ManageNeuron => ({\n subaccount,\n command: [\n {\n ClaimOrRefresh: {\n by: [\n // If memo is not passed, we consider it a neuronId request because the memo is mandatory for MemoAndController\n memo === undefined\n ? { NeuronId: {} }\n : {\n MemoAndController: { memo, controller: toNullable(controller) },\n },\n ],\n },\n },\n ],\n});\n\nexport const toListProposalRequest = ({\n excludeType,\n beforeProposal,\n includeRewardStatus,\n includeStatus,\n limit,\n includeTopics,\n}: SnsListProposalsParams): ListProposals => ({\n exclude_type: BigUint64Array.from(excludeType ?? []),\n before_proposal: toNullable(beforeProposal),\n include_reward_status: Int32Array.from(includeRewardStatus ?? []),\n include_status: Int32Array.from(includeStatus ?? []),\n limit: limit ?? DEFAULT_PROPOSALS_LIMIT,\n include_topics: toNullable(\n includeTopics?.map((topic) => ({\n topic: toNullable(topic),\n })) ?? [],\n ),\n});\n\nexport const fromCandidAction = (action: ActionCandid): Action => {\n if (\"ManageNervousSystemParameters\" in action) {\n return {\n ManageNervousSystemParameters: convertNervousSystemParams(\n action.ManageNervousSystemParameters,\n ),\n };\n }\n\n if (\"AdvanceSnsTargetVersion\" in action) {\n return {\n AdvanceSnsTargetVersion: convertAdvanceSnsTargetVersion(\n action.AdvanceSnsTargetVersion,\n ),\n };\n }\n\n if (\"AddGenericNervousSystemFunction\" in action) {\n return {\n AddGenericNervousSystemFunction: convertNervousSystemFunction(\n action.AddGenericNervousSystemFunction,\n ),\n };\n }\n\n if (\"ManageDappCanisterSettings\" in action) {\n return {\n ManageDappCanisterSettings: convertManageDappCanisterSettings(\n action.ManageDappCanisterSettings,\n ),\n };\n }\n\n if (\"ManageLedgerParameters\" in action) {\n return {\n ManageLedgerParameters: convertManageLedgerParameters(\n action.ManageLedgerParameters,\n ),\n };\n }\n\n if (\"ExecuteExtensionOperation\" in action) {\n return {\n ExecuteExtensionOperation: convertExecuteExtensionOperation(\n action.ExecuteExtensionOperation,\n ),\n };\n }\n\n if (\"UpgradeExtension\" in action) {\n return {\n UpgradeExtension: convertUpgradeExtension(action.UpgradeExtension),\n };\n }\n\n if (\"SetTopicsForCustomProposals\" in action) {\n return {\n SetTopicsForCustomProposals: action.SetTopicsForCustomProposals,\n };\n }\n\n if (\"RegisterExtension\" in action) {\n return {\n RegisterExtension: convertRegisterExtension(action.RegisterExtension),\n };\n }\n\n if (\"RemoveGenericNervousSystemFunction\" in action) {\n return {\n RemoveGenericNervousSystemFunction:\n action.RemoveGenericNervousSystemFunction,\n };\n }\n\n if (\"UpgradeSnsToNextVersion\" in action) {\n return { UpgradeSnsToNextVersion: action.UpgradeSnsToNextVersion };\n }\n\n if (\"RegisterDappCanisters\" in action) {\n return { RegisterDappCanisters: action.RegisterDappCanisters };\n }\n\n if (\"TransferSnsTreasuryFunds\" in action) {\n return {\n TransferSnsTreasuryFunds: convertTransferSnsTreasuryFunds(\n action.TransferSnsTreasuryFunds,\n ),\n };\n }\n\n if (\"UpgradeSnsControlledCanister\" in action) {\n return {\n UpgradeSnsControlledCanister: convertUpgradeSnsControlledCanister(\n action.UpgradeSnsControlledCanister,\n ),\n };\n }\n\n if (\"DeregisterDappCanisters\" in action) {\n return { DeregisterDappCanisters: action.DeregisterDappCanisters };\n }\n\n if (\"MintSnsTokens\" in action) {\n return {\n MintSnsTokens: convertMintSnsTokens(action.MintSnsTokens),\n };\n }\n\n if (\"Unspecified\" in action) {\n return { Unspecified: action.Unspecified };\n }\n\n if (\"ManageSnsMetadata\" in action) {\n return {\n ManageSnsMetadata: convertManageSnsMetadata(action.ManageSnsMetadata),\n };\n }\n\n if (\"ExecuteGenericNervousSystemFunction\" in action) {\n return {\n ExecuteGenericNervousSystemFunction:\n action.ExecuteGenericNervousSystemFunction,\n };\n }\n\n if (\"Motion\" in action) {\n return { Motion: action.Motion };\n }\n\n assertNever(action, `Unknown action type ${JSON.stringify(action)}`);\n};\n\nconst convertManageSnsMetadata = (\n params: ManageSnsMetadataCandid,\n): ManageSnsMetadata => ({\n url: fromNullable(params.url),\n logo: fromNullable(params.logo),\n name: fromNullable(params.name),\n description: fromNullable(params.description),\n});\n\nconst convertManageLedgerParameters = (\n params: ManageLedgerParametersCandid,\n): ManageLedgerParameters => ({\n token_symbol: fromNullable(params.token_symbol),\n transfer_fee: fromNullable(params.transfer_fee),\n token_logo: fromNullable(params.token_logo),\n token_name: fromNullable(params.token_name),\n});\n\nconst convertAdvanceSnsTargetVersion = (\n params: AdvanceSnsTargetVersionCandid,\n): AdvanceSnsTargetVersion => ({\n new_target: convertSnsVersion(fromNullable(params.new_target)),\n});\n\nconst convertManageDappCanisterSettings = (\n params: ManageDappCanisterSettingsCandid,\n): ManageDappCanisterSettings => ({\n freezing_threshold: fromNullable(params.freezing_threshold),\n wasm_memory_threshold: fromNullable(params.wasm_memory_threshold),\n canister_ids: params.canister_ids,\n reserved_cycles_limit: fromNullable(params.reserved_cycles_limit),\n log_visibility: fromNullable(params.log_visibility),\n wasm_memory_limit: fromNullable(params.wasm_memory_limit),\n memory_allocation: fromNullable(params.memory_allocation),\n compute_allocation: fromNullable(params.compute_allocation),\n});\n\nconst convertExecuteExtensionOperation = (\n params: ExecuteExtensionOperationCandid,\n): ExecuteExtensionOperation => ({\n extension_canister_id: fromNullable(params.extension_canister_id),\n operation_name: fromNullable(params.operation_name),\n operation_arg: convertExtensionOperationArg(\n fromNullable(params.operation_arg),\n ),\n});\n\nconst convertUpgradeExtension = (\n params: UpgradeExtensionCandid,\n): UpgradeExtension => ({\n extension_canister_id: fromNullable(params.extension_canister_id),\n wasm: convertWasm(fromNullable(params.wasm)),\n canister_upgrade_arg: convertExtensionUpgradeArg(\n fromNullable(params.canister_upgrade_arg),\n ),\n});\n\nconst convertChunkedCanisterWasm = (\n params: ChunkedCanisterWasmCandid,\n): ChunkedCanisterWasm => ({\n wasm_module_hash: params.wasm_module_hash,\n store_canister_id: fromNullable(params.store_canister_id),\n chunk_hashes_list: params.chunk_hashes_list,\n});\n\nconst convertExtensionOperationArg = (\n params: ExtensionOperationArgCandid | undefined,\n): ExtensionOperationArg | undefined =>\n convertExtensionArg(params) as ExtensionOperationArg | undefined;\n\nconst convertExtensionUpgradeArg = (\n params: ExtensionUpgradeArgCandid | undefined,\n): ExtensionUpgradeArg | undefined =>\n convertExtensionArg(params) as ExtensionUpgradeArg | undefined;\n\nconst convertExtensionArg = (\n params: ExtensionOperationArgCandid | ExtensionUpgradeArgCandid | undefined,\n):\n | {\n value: PreciseValue | undefined;\n }\n | undefined => {\n if (params === undefined) {\n return undefined;\n }\n\n const preciseValue = fromNullable(params.value);\n\n return {\n value:\n preciseValue === undefined\n ? undefined\n : convertPreciseValue(preciseValue),\n };\n};\n\nconst convertPreciseValue = (value: PreciseValueCandid): PreciseValue => {\n if (\"Int\" in value) {\n return { Int: value.Int };\n }\n\n if (\"Nat\" in value) {\n return { Nat: value.Nat };\n }\n\n if (\"Blob\" in value) {\n return { Blob: value.Blob };\n }\n\n if (\"Bool\" in value) {\n return { Bool: value.Bool };\n }\n\n if (\"Text\" in value) {\n return { Text: value.Text };\n }\n\n if (\"Array\" in value) {\n return {\n Array: value.Array.map(convertPreciseValue),\n };\n }\n\n if (\"Map\" in value) {\n return {\n Map: value.Map.map(([key, val]) => [key, convertPreciseValue(val)]),\n };\n }\n\n assertNever(\n value,\n `Unknown PreciseValue ${JSON.stringify(value, jsonReplacer)}`,\n );\n};\n\nconst convertWasm = (params: WasmCandid | undefined): Wasm | undefined => {\n if (params === undefined) {\n return undefined;\n }\n\n if (\"Chunked\" in params) {\n return {\n Chunked: convertChunkedCanisterWasm(params.Chunked),\n };\n }\n\n if (\"Bytes\" in params) {\n return { Bytes: params.Bytes };\n }\n\n assertNever(\n params,\n `Unknown Wasm type ${JSON.stringify(params, jsonReplacer)}`,\n );\n};\n\nconst convertUpgradeSnsControlledCanister = (\n params: UpgradeSnsControlledCanisterCandid,\n): UpgradeSnsControlledCanister => ({\n new_canister_wasm: params.new_canister_wasm,\n chunked_canister_wasm:\n params.chunked_canister_wasm?.[0] !== undefined\n ? convertChunkedCanisterWasm(params.chunked_canister_wasm[0])\n : undefined,\n canister_id: fromNullable(params.canister_id),\n canister_upgrade_arg: fromNullable(params.canister_upgrade_arg),\n mode: fromNullable(params.mode),\n});\n\nconst convertTransferSnsTreasuryFunds = (\n params: TransferSnsTreasuryFundsCandid,\n): TransferSnsTreasuryFunds => ({\n from_treasury: params.from_treasury,\n to_principal: fromNullable(params.to_principal),\n to_subaccount: fromNullable(params.to_subaccount),\n memo: fromNullable(params.memo),\n amount_e8s: params.amount_e8s,\n});\n\nconst convertMintSnsTokens = (params: MintSnsTokensCandid): MintSnsTokens => ({\n to_principal: fromNullable(params.to_principal),\n to_subaccount: fromNullable(params.to_subaccount),\n memo: fromNullable(params.memo),\n amount_e8s: fromNullable(params.amount_e8s),\n});\n\nconst convertSnsVersion = (\n params: SnsVersionCandid | undefined,\n): SnsVersion | undefined => {\n if (params === undefined) {\n return undefined;\n }\n\n return {\n archive_wasm_hash: fromNullable(params.archive_wasm_hash),\n root_wasm_hash: fromNullable(params.root_wasm_hash),\n swap_wasm_hash: fromNullable(params.swap_wasm_hash),\n ledger_wasm_hash: fromNullable(params.ledger_wasm_hash),\n governance_wasm_hash: fromNullable(params.governance_wasm_hash),\n index_wasm_hash: fromNullable(params.index_wasm_hash),\n };\n};\n\nconst convertGenericNervousSystemFunction = (\n params: GenericNervousSystemFunctionCandid,\n): GenericNervousSystemFunction => ({\n validator_canister_id: fromNullable(params.validator_canister_id),\n target_canister_id: fromNullable(params.target_canister_id),\n validator_method_name: fromNullable(params.validator_method_name),\n target_method_name: fromNullable(params.target_method_name),\n topic: fromNullable(params.topic),\n});\n\nconst convertFunctionType = (\n params: FunctionTypeCandid | undefined,\n): FunctionType | undefined => {\n if (params === undefined) {\n return undefined;\n }\n\n if (\"NativeNervousSystemFunction\" in params) {\n return { NativeNervousSystemFunction: params.NativeNervousSystemFunction };\n }\n\n if (\"GenericNervousSystemFunction\" in params) {\n return {\n GenericNervousSystemFunction: convertGenericNervousSystemFunction(\n params.GenericNervousSystemFunction,\n ),\n };\n }\n\n assertNever(params, `Unknown FunctionType ${JSON.stringify(params)}`);\n};\n\nconst convertNervousSystemFunction = (\n params: NervousSystemFunctionCandid,\n): NervousSystemFunction => ({\n id: params.id,\n name: params.name,\n description: fromNullable(params.description),\n function_type: convertFunctionType(fromNullable(params.function_type)),\n});\n\nconst convertVotingRewardsParameters = (\n params: VotingRewardsParametersCandid | undefined,\n): VotingRewardsParameters | undefined =>\n params && {\n final_reward_rate_basis_points: fromNullable(\n params.final_reward_rate_basis_points,\n ),\n initial_reward_rate_basis_points: fromNullable(\n params.initial_reward_rate_basis_points,\n ),\n reward_rate_transition_duration_seconds: fromNullable(\n params.reward_rate_transition_duration_seconds,\n ),\n round_duration_seconds: fromNullable(params.round_duration_seconds),\n };\n\nconst convertNervousSystemParams = (\n params: NervousSystemParametersCandid,\n): NervousSystemParameters => ({\n default_followees: fromNullable(params.default_followees),\n max_dissolve_delay_seconds: fromNullable(params.max_dissolve_delay_seconds),\n max_dissolve_delay_bonus_percentage: fromNullable(\n params.max_dissolve_delay_bonus_percentage,\n ),\n max_followees_per_function: fromNullable(params.max_followees_per_function),\n neuron_claimer_permissions: fromNullable(params.neuron_claimer_permissions),\n neuron_minimum_stake_e8s: fromNullable(params.neuron_minimum_stake_e8s),\n max_neuron_age_for_age_bonus: fromNullable(\n params.max_neuron_age_for_age_bonus,\n ),\n initial_voting_period_seconds: fromNullable(\n params.initial_voting_period_seconds,\n ),\n neuron_minimum_dissolve_delay_to_vote_seconds: fromNullable(\n params.neuron_minimum_dissolve_delay_to_vote_seconds,\n ),\n reject_cost_e8s: fromNullable(params.reject_cost_e8s),\n max_proposals_to_keep_per_action: fromNullable(\n params.max_proposals_to_keep_per_action,\n ),\n wait_for_quiet_deadline_increase_seconds: fromNullable(\n params.wait_for_quiet_deadline_increase_seconds,\n ),\n max_number_of_neurons: fromNullable(params.max_number_of_neurons),\n transaction_fee_e8s: fromNullable(params.transaction_fee_e8s),\n max_number_of_proposals_with_ballots: fromNullable(\n params.max_number_of_proposals_with_ballots,\n ),\n max_age_bonus_percentage: fromNullable(params.max_age_bonus_percentage),\n neuron_grantable_permissions: fromNullable(\n params.neuron_grantable_permissions,\n ),\n voting_rewards_parameters: convertVotingRewardsParameters(\n fromNullable(params.voting_rewards_parameters),\n ),\n max_number_of_principals_per_neuron: fromNullable(\n params.max_number_of_principals_per_neuron,\n ),\n automatically_advance_target_version: fromNullable(\n params.automatically_advance_target_version,\n ),\n});\n\nconst convertRegisterExtension = (\n params: RegisterExtensionCandid,\n): RegisterExtension => ({\n chunked_canister_wasm:\n params.chunked_canister_wasm?.[0] !== undefined\n ? convertChunkedCanisterWasm(params.chunked_canister_wasm[0])\n : undefined,\n extension_init: fromNullable(params.extension_init),\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["Canister", "assertPercentageNumber", "createServices", "fromNullable", "toNullable", "idlFactory", "IDL", "PreciseValue", "Timers", "Version", "Versions", "CachedUpgradeSteps", "Topic", "GenericNervousSystemFunction", "FunctionType", "NervousSystemFunction", "Subaccount", "Account", "TreasuryMetrics", "VotingPowerMetrics", "GovernanceCachedMetrics", "MaturityModulation", "TargetVersionSet", "UpgradeStepsReset", "UpgradeOutcome", "ProposalId", "UpgradeStarted", "UpgradeStepsRefreshed", "TargetVersionReset", "UpgradeJournalEntry", "UpgradeJournal", "NeuronId", "Followees", "DefaultFollowees", "NeuronPermissionList", "VotingRewardsParameters", "NervousSystemParameters", "RewardEvent", "PendingVersion", "GovernanceError", "Decimal", "Tokens", "ValuationFactors", "Valuation", "MintSnsTokensActionAuxiliary", "SnsVersion", "AdvanceSnsTargetVersionActionAuxiliary", "ActionAuxiliary", "Ballot", "Percentage", "Tally", "ManageDappCanisterSettings", "ExtensionOperationArg", "ExecuteExtensionOperation", "ChunkedCanisterWasm", "Wasm", "ExtensionUpgradeArg", "UpgradeExtension", "SetTopicsForCustomProposals", "ExtensionInit", "RegisterExtension", "RegisterDappCanisters", "TransferSnsTreasuryFunds", "UpgradeSnsControlledCanister", "DeregisterDappCanisters", "MintSnsTokens", "AdvanceSnsTargetVersion", "ManageSnsMetadata", "ExecuteGenericNervousSystemFunction", "ManageLedgerParameters", "Motion", "Action", "Proposal", "WaitForQuietState", "ProposalData", "Split", "Follow", "DisburseMaturity", "ChangeAutoStakeMaturity", "IncreaseDissolveDelay", "SetDissolveTimestamp", "Operation", "Configure", "RegisterVote", "Followee", "FolloweesForTopic", "SetFollowing", "FinalizeDisburseMaturity", "MemoAndController", "By", "ClaimOrRefresh", "RemoveNeuronPermissions", "AddNeuronPermissions", "MergeMaturity", "Amount", "Disburse", "Command_2", "NeuronInFlightCommand", "NeuronPermission", "DissolveState", "DisburseMaturityInProgress", "Neuron", "Governance", "Principals", "NeuronsFund", "Participant", "NeuronIds", "NeuronRecipe", "NeuronRecipes", "ClaimSwapNeuronsRequest", "SwapNeuron", "ClaimedSwapNeurons", "ClaimSwapNeuronsResult", "ClaimSwapNeuronsResponse", "GetMaturityModulationResponse", "GetMetadataResponse", "GetMetricsRequest", "Metrics", "GetMetricsResult", "GetMetricsResponse", "GetModeResponse", "GetNeuron", "Result", "GetNeuronResponse", "GetProposal", "Result_1", "GetProposalResponse", "MemoryMetrics", "CanisterStatusType", "DefiniteCanisterSettingsArgs", "QueryStats", "CanisterStatusResultV2", "GetRunningSnsVersionResponse", "GetSnsInitializationParametersResponse", "GetTimersResponse", "GetUpgradeJournalRequest", "GetUpgradeJournalResponse", "ListNervousSystemFunctionsResponse", "ListNeurons", "ListNeuronsResponse", "TopicSelector", "ListProposals", "ListProposalsResponse", "ListTopicsRequest", "ExtensionOperationType", "ExtensionType", "ExtensionOperationSpec", "RegisteredExtensionOperationSpec", "TopicInfo", "ListTopicsResponse", "StakeMaturity", "Command", "ManageNeuron", "SplitResponse", "DisburseMaturityResponse", "ClaimOrRefreshResponse", "StakeMaturityResponse", "MergeMaturityResponse", "DisburseResponse", "Command_1", "ManageNeuronResponse", "SetMode", "idlFactory", "IDL", "PreciseValue", "Timers", "Version", "Versions", "CachedUpgradeSteps", "Topic", "GenericNervousSystemFunction", "FunctionType", "NervousSystemFunction", "Subaccount", "Account", "TreasuryMetrics", "VotingPowerMetrics", "GovernanceCachedMetrics", "MaturityModulation", "TargetVersionSet", "UpgradeStepsReset", "UpgradeOutcome", "ProposalId", "UpgradeStarted", "UpgradeStepsRefreshed", "TargetVersionReset", "UpgradeJournalEntry", "UpgradeJournal", "NeuronId", "Followees", "DefaultFollowees", "NeuronPermissionList", "VotingRewardsParameters", "NervousSystemParameters", "RewardEvent", "PendingVersion", "GovernanceError", "Decimal", "Tokens", "ValuationFactors", "Valuation", "MintSnsTokensActionAuxiliary", "SnsVersion", "AdvanceSnsTargetVersionActionAuxiliary", "ActionAuxiliary", "Ballot", "Percentage", "Tally", "ManageDappCanisterSettings", "ExtensionOperationArg", "ExecuteExtensionOperation", "ChunkedCanisterWasm", "Wasm", "ExtensionUpgradeArg", "UpgradeExtension", "SetTopicsForCustomProposals", "ExtensionInit", "RegisterExtension", "RegisterDappCanisters", "TransferSnsTreasuryFunds", "UpgradeSnsControlledCanister", "DeregisterDappCanisters", "MintSnsTokens", "AdvanceSnsTargetVersion", "ManageSnsMetadata", "ExecuteGenericNervousSystemFunction", "ManageLedgerParameters", "Motion", "Action", "Proposal", "WaitForQuietState", "ProposalData", "Split", "Follow", "DisburseMaturity", "ChangeAutoStakeMaturity", "IncreaseDissolveDelay", "SetDissolveTimestamp", "Operation", "Configure", "RegisterVote", "Followee", "FolloweesForTopic", "SetFollowing", "FinalizeDisburseMaturity", "MemoAndController", "By", "ClaimOrRefresh", "RemoveNeuronPermissions", "AddNeuronPermissions", "MergeMaturity", "Amount", "Disburse", "Command_2", "NeuronInFlightCommand", "NeuronPermission", "DissolveState", "DisburseMaturityInProgress", "Neuron", "Governance", "Principals", "NeuronsFund", "Participant", "NeuronIds", "NeuronRecipe", "NeuronRecipes", "ClaimSwapNeuronsRequest", "SwapNeuron", "ClaimedSwapNeurons", "ClaimSwapNeuronsResult", "ClaimSwapNeuronsResponse", "GetMaturityModulationResponse", "GetMetadataResponse", "GetMetricsRequest", "Metrics", "GetMetricsResult", "GetMetricsResponse", "GetModeResponse", "GetNeuron", "Result", "GetNeuronResponse", "GetProposal", "Result_1", "GetProposalResponse", "MemoryMetrics", "CanisterStatusType", "DefiniteCanisterSettingsArgs", "QueryStats", "CanisterStatusResultV2", "GetRunningSnsVersionResponse", "GetSnsInitializationParametersResponse", "GetTimersResponse", "GetUpgradeJournalRequest", "GetUpgradeJournalResponse", "ListNervousSystemFunctionsResponse", "ListNeurons", "ListNeuronsResponse", "TopicSelector", "ListProposals", "ListProposalsResponse", "ListTopicsRequest", "ExtensionOperationType", "ExtensionType", "ExtensionOperationSpec", "RegisteredExtensionOperationSpec", "TopicInfo", "ListTopicsResponse", "StakeMaturity", "Command", "ManageNeuron", "SplitResponse", "DisburseMaturityResponse", "ClaimOrRefreshResponse", "StakeMaturityResponse", "MergeMaturityResponse", "DisburseResponse", "Command_1", "ManageNeuronResponse", "SetMode", "assertNever", "fromNullable", "jsonReplacer", "toNullable", "toManageNeuronCommand", "id", "command", "toManageNeuronConfigureCommand", "neuronId", "operation", "toCandidAccount", "owner", "subaccount", "toNullable", "toAddPermissionsRequest", "permissions", "principal", "toRemovePermissionsRequest", "toSplitNeuronRequest", "memo", "amount_e8s", "toDisburseNeuronRequest", "amount", "toAccount", "toStartDissolvingNeuronRequest", "toStopDissolvingNeuronRequest", "toStakeMaturityRequest", "percentageToStake", "toDisburseMaturityRequest", "percentageToDisburse", "toAutoStakeMaturityNeuronRequest", "requested_setting_for_auto_stake_maturity", "toSetDissolveTimestampRequest", "dissolveTimestampSeconds", "toIncreaseDissolveDelayRequest", "additionalDissolveDelaySeconds", "toFollowRequest", "functionId", "followees", "toSetFollowingRequest", "topicFollowing", "topic", "alias", "toRegisterVoteRequest", "proposalId", "vote", "toClaimOrRefreshRequest", "controller", "toListProposalRequest", "excludeType", "beforeProposal", "includeRewardStatus", "includeStatus", "limit", "includeTopics", "fromCandidAction", "action", "convertNervousSystemParams", "convertAdvanceSnsTargetVersion", "convertNervousSystemFunction", "convertManageDappCanisterSettings", "convertManageLedgerParameters", "convertExecuteExtensionOperation", "convertUpgradeExtension", "convertRegisterExtension", "convertTransferSnsTreasuryFunds", "convertUpgradeSnsControlledCanister", "convertMintSnsTokens", "convertManageSnsMetadata", "assertNever", "params", "fromNullable", "convertSnsVersion", "convertExtensionOperationArg", "convertWasm", "convertExtensionUpgradeArg", "convertChunkedCanisterWasm", "convertExtensionArg", "preciseValue", "convertPreciseValue", "value", "key", "val", "jsonReplacer", "convertGenericNervousSystemFunction", "convertFunctionType", "convertVotingRewardsParameters", "SnsGovernanceCanister", "_SnsGovernanceCanister", "Canister", "options", "service", "certifiedService", "canisterId", "createServices", "idlFactory", "params", "principal", "limit", "beforeNeuronId", "neurons", "toNullable", "certified", "toListProposalRequest", "proposalId", "result", "data", "fromNullable", "SnsGovernanceError", "neuronId", "error", "request", "response", "toAddPermissionsRequest", "toRemovePermissionsRequest", "toSplitNeuronRequest", "command", "errorMessage", "details", "split", "toDisburseNeuronRequest", "toStartDissolvingNeuronRequest", "toStopDissolvingNeuronRequest", "percentageToStake", "assertPercentageNumber", "toStakeMaturityRequest", "toDisburseMaturityRequest", "toAutoStakeMaturityNeuronRequest", "toSetDissolveTimestampRequest", "toIncreaseDissolveDelayRequest", "toFollowRequest", "toSetFollowingRequest", "toRegisterVoteRequest", "toClaimOrRefreshRequest", "memo", "controller", "subaccount", "firstCommand"]
7
7
  }