@dfinity/sns 3.7.0 → 3.7.1
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.
- package/README.md +4 -0
- package/dist/candid/sns_governance.certified.idl.js +95 -20
- package/dist/candid/sns_governance.d.ts +36 -0
- package/dist/candid/sns_governance.did +73 -1
- package/dist/candid/sns_governance.idl.js +95 -20
- package/dist/candid/sns_governance_test.certified.idl.js +95 -20
- package/dist/candid/sns_governance_test.d.ts +36 -0
- package/dist/candid/sns_governance_test.did +73 -1
- package/dist/candid/sns_governance_test.idl.js +95 -20
- package/dist/candid/sns_root.did +1 -1
- package/dist/candid/sns_swap.did +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/index.cjs.js.map +3 -3
- package/dist/esm/chunk-GDLCZEM5.js +2 -0
- package/dist/esm/chunk-GDLCZEM5.js.map +7 -0
- package/dist/esm/{chunk-GW6N5TW3.js → chunk-HZ2HBDQO.js} +2 -2
- package/dist/esm/governance.canister.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +3 -3
- package/dist/esm/sns.js +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/types/actions.d.ts +7 -1
- package/package.json +2 -2
- package/dist/esm/chunk-PMLG2YYM.js +0 -2
- package/dist/esm/chunk-PMLG2YYM.js.map +0 -7
- /package/dist/esm/{chunk-GW6N5TW3.js.map → chunk-HZ2HBDQO.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts", "../../src/converters/governance.converters.ts", "../../src/enums/governance.enums.ts", "../../src/enums/swap.enums.ts", "../../src/errors/common.errors.ts", "../../src/errors/governance.errors.ts", "../../src/errors/swap.errors.ts", "../../src/governance.canister.ts", "../../candid/sns_governance.certified.idl.js", "../../candid/sns_governance.idl.js", "../../src/governance_test.canister.ts", "../../candid/sns_governance_test.certified.idl.js", "../../candid/sns_governance_test.idl.js", "../../src/root.canister.ts", "../../candid/sns_root.certified.idl.js", "../../candid/sns_root.idl.js", "../../src/sns.ts", "../../src/sns.wrapper.ts", "../../src/utils/governance.utils.ts", "../../../../node_modules/@noble/hashes/src/_assert.ts", "../../../../node_modules/@noble/hashes/src/utils.ts", "../../../../node_modules/@noble/hashes/src/_md.ts", "../../../../node_modules/@noble/hashes/src/sha256.ts", "../../src/swap.canister.ts", "../../candid/sns_swap.certified.idl.js", "../../candid/sns_swap.idl.js", "../../src/converters/swap.converters.ts", "../../src/utils/error.utils.ts"],
|
|
4
|
-
"sourcesContent": ["export type {\n Action as SnsAction,\n Ballot as SnsBallot,\n DefaultFollowees as SnsDefaultFollowees,\n Followee as SnsFollowee,\n FolloweesForTopic as SnsFolloweesForTopic,\n FunctionType as SnsFunctionType,\n GetMetadataResponse as SnsGetMetadataResponse,\n ListNervousSystemFunctionsResponse as SnsListNervousSystemFunctionsResponse,\n ListProposalsResponse as SnsListProposalsResponse,\n ListTopicsResponse as SnsListTopicsResponse,\n ManageNeuron as SnsManageNeuron,\n ManageNeuronResponse as SnsManageNeuronResponse,\n NervousSystemFunction as SnsNervousSystemFunction,\n NervousSystemParameters as SnsNervousSystemParameters,\n Neuron as SnsNeuron,\n NeuronId as SnsNeuronId,\n NeuronPermissionList as SnsNeuronPermissionList,\n Percentage as SnsPercentage,\n ProposalData as SnsProposalData,\n ProposalId as SnsProposalId,\n Tally as SnsTally,\n Topic as SnsTopic,\n TopicInfo as SnsTopicInfo,\n VotingRewardsParameters as SnsVotingRewardsParameters,\n} from \"../candid/sns_governance\";\nexport type { CanisterStatusResultV2 as SnsCanisterStatus } from \"../candid/sns_root\";\nexport type {\n CfParticipant,\n FinalizeSwapResponse as SnsFinalizeSwapResponse,\n GetAutoFinalizationStatusResponse as SnsGetAutoFinalizationStatusResponse,\n GetBuyerStateRequest as SnsGetBuyerStateRequest,\n GetBuyerStateResponse as SnsGetBuyerStateResponse,\n GetDerivedStateResponse as SnsGetDerivedStateResponse,\n GetInitResponse as SnsGetInitResponse,\n GetLifecycleResponse as SnsGetLifecycleResponse,\n GetSaleParametersResponse as SnsGetSaleParametersResponse,\n InvalidUserAmount as SnsInvalidUserAmount,\n SnsNeuronRecipe,\n NeuronsFundParticipationConstraints as SnsNeuronsFundParticipationConstraints,\n Params as SnsParams,\n RefreshBuyerTokensResponse as SnsRefreshBuyerTokensResponse,\n Swap as SnsSwap,\n BuyerState as SnsSwapBuyerState,\n DerivedState as SnsSwapDerivedState,\n Init as SnsSwapInit,\n Ticket as SnsSwapTicket,\n TransferableAmount as SnsTransferableAmount,\n} from \"../candid/sns_swap\";\nexport { fromCandidAction } from \"./converters/governance.converters\";\nexport * from \"./enums/governance.enums\";\nexport * from \"./enums/swap.enums\";\nexport * from \"./errors/common.errors\";\nexport * from \"./errors/governance.errors\";\nexport * from \"./errors/swap.errors\";\nexport { SnsGovernanceCanister } from \"./governance.canister\";\nexport { SnsGovernanceTestCanister } from \"./governance_test.canister\";\nexport { SnsRootCanister } from \"./root.canister\";\nexport * from \"./sns\";\nexport * from \"./sns.wrapper\";\nexport { SnsSwapCanister } from \"./swap.canister\";\nexport type { SnsCanisterOptions } from \"./types/canister.options\";\nexport * from \"./types/governance.params\";\nexport * from \"./utils/governance.utils\";\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 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 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 (\"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", "// Source: https://github.com/dfinity/ic/blob/master/rs/sns/governance/proto/ic_sns_governance/pb/v1/governance.proto\nexport enum SnsNeuronPermissionType {\n NEURON_PERMISSION_TYPE_UNSPECIFIED = 0,\n\n // The principal has permission to configure the neuron's dissolve state. This includes\n // start dissolving, stop dissolving, and increasing the dissolve delay for the neuron.\n NEURON_PERMISSION_TYPE_CONFIGURE_DISSOLVE_STATE = 1,\n\n // The principal has permission to add additional principals to modify the neuron.\n // The nervous system parameter `NervousSystemParameters::neuron_grantable_permissions`\n // determines the maximum set of privileges that a principal can grant to another principal in\n // the given SNS.\n NEURON_PERMISSION_TYPE_MANAGE_PRINCIPALS = 2,\n\n // The principal has permission to submit proposals on behalf of the neuron.\n // Submitting proposals can change a neuron's stake and thus this\n // is potentially a balance changing operation.\n NEURON_PERMISSION_TYPE_SUBMIT_PROPOSAL = 3,\n\n // The principal has permission to vote and follow other neurons on behalf of the neuron.\n NEURON_PERMISSION_TYPE_VOTE = 4,\n\n // The principal has permission to disburse the neuron.\n NEURON_PERMISSION_TYPE_DISBURSE = 5,\n\n // The principal has permission to split the neuron.\n NEURON_PERMISSION_TYPE_SPLIT = 6,\n\n // The principal has permission to merge the neuron's maturity into\n // the neuron's stake.\n /**\n * @deprecated\n */\n NEURON_PERMISSION_TYPE_MERGE_MATURITY = 7,\n\n // The principal has permission to disburse the neuron's maturity to a\n // given ledger account.\n NEURON_PERMISSION_TYPE_DISBURSE_MATURITY = 8,\n\n // The principal has permission to stake the neuron's maturity.\n NEURON_PERMISSION_TYPE_STAKE_MATURITY = 9,\n\n // The principal has permission to grant/revoke permission to vote and submit\n // proposals on behalf of the neuron to other principals.\n NEURON_PERMISSION_TYPE_MANAGE_VOTING_PERMISSION = 10,\n}\n\nexport enum SnsProposalRewardStatus {\n PROPOSAL_REWARD_STATUS_UNSPECIFIED = 0,\n\n // The proposal still accepts votes, for the purpose of\n // voting rewards. This implies nothing on the\n // ProposalDecisionStatus, i.e., a proposal can be decided\n // due to an absolute majority being in favor or against it,\n // but other neuron holders can still cast their vote to get rewards.\n PROPOSAL_REWARD_STATUS_ACCEPT_VOTES = 1,\n\n // The proposal no longer accepts votes. It is due to settle\n // rewards at the next reward event.\n PROPOSAL_REWARD_STATUS_READY_TO_SETTLE = 2,\n\n // The proposal has been taken into account in a reward event, i.e.,\n // the associated rewards have been settled.\n PROPOSAL_REWARD_STATUS_SETTLED = 3,\n}\n\nexport enum SnsProposalDecisionStatus {\n PROPOSAL_DECISION_STATUS_UNSPECIFIED = 0,\n\n // The proposal is open for voting and a decision (adopt/reject) has yet to be made.\n PROPOSAL_DECISION_STATUS_OPEN = 1,\n\n // The proposal has been rejected.\n PROPOSAL_DECISION_STATUS_REJECTED = 2,\n\n // The proposal has been adopted but either execution has not yet started\n // or it has started but its outcome is not yet known.\n PROPOSAL_DECISION_STATUS_ADOPTED = 3,\n\n // The proposal was adopted and successfully executed.\n PROPOSAL_DECISION_STATUS_EXECUTED = 4,\n\n // The proposal was adopted, but execution failed.\n PROPOSAL_DECISION_STATUS_FAILED = 5,\n}\n\nexport enum SnsVote {\n Unspecified = 0,\n Yes = 1,\n No = 2,\n}\n", "// Source: https://github.com/dfinity/ic/blob/master/rs/sns/swap/gen/ic_sns_swap.pb.v1.rs - Lifecycle\nexport enum SnsSwapLifecycle {\n Unspecified = 0,\n Pending = 1,\n Open = 2,\n Committed = 3,\n Aborted = 4,\n Adopted = 5,\n}\n\n// Source: https://gitlab.com/dfinity-lab/public/ic/-/blob/5936d73770dbd16dab9b23379367a8bd5513fb88/rs/sns/swap/proto/ic_sns_swap/pb/v1/swap.proto#L887\nexport enum GetOpenTicketErrorType {\n TYPE_UNSPECIFIED = 0,\n TYPE_SALE_NOT_OPEN = 1,\n TYPE_SALE_CLOSED = 2,\n}\n\n// Source: https://gitlab.com/dfinity-lab/public/ic/-/blob/5936d73770dbd16dab9b23379367a8bd5513fb88/rs/sns/swap/proto/ic_sns_swap/pb/v1/swap.proto#L928\nexport enum NewSaleTicketResponseErrorType {\n TYPE_UNSPECIFIED = 0,\n TYPE_SALE_NOT_OPEN = 1,\n TYPE_SALE_CLOSED = 2,\n // There is already an open ticket associated with the caller.\n //\n // When this is the `error_type`, then the field existing_ticket\n // is set and contains the ticket itself.\n TYPE_TICKET_EXISTS = 3,\n // The amount sent by the user is not within the Sale parameters.\n //\n // When this is the `error_type`, then the field invalid_user_amount\n // is set and describes minimum and maximum amounts.\n TYPE_INVALID_USER_AMOUNT = 4,\n // The specified subaccount is not a valid subaccount (length != 32 bytes).\n TYPE_INVALID_SUBACCOUNT = 5,\n // The specified principal is forbidden from creating tickets.\n TYPE_INVALID_PRINCIPAL = 6,\n}\n", "// This is possible specially in SNS projects/\n// Because they share the same canisters but in different versions.\nexport class UnsupportedMethodError extends Error {\n constructor(public readonly methodName: string) {\n super();\n }\n}\n", "export class SnsGovernanceError extends Error {}\n", "import type { InvalidUserAmount, Ticket } from \"../../candid/sns_swap\";\nimport type {\n GetOpenTicketErrorType,\n NewSaleTicketResponseErrorType,\n} from \"../enums/swap.enums\";\n\nexport class SnsSwapNewTicketError extends Error {\n public errorType: NewSaleTicketResponseErrorType;\n public invalidUserAmount?: InvalidUserAmount;\n public existingTicket?: Ticket;\n\n constructor({\n errorType,\n invalidUserAmount,\n existingTicket,\n }: {\n errorType: NewSaleTicketResponseErrorType;\n invalidUserAmount?: InvalidUserAmount;\n existingTicket?: Ticket;\n }) {\n super();\n this.errorType = errorType;\n this.invalidUserAmount = invalidUserAmount;\n this.existingTicket = existingTicket;\n }\n}\n\nexport class SnsSwapGetOpenTicketError extends Error {\n constructor(public errorType: GetOpenTicketErrorType) {\n super();\n }\n}\n", "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 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 GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const 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 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 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 const SetTopicsForCustomProposals = IDL.Record({\n 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),\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 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 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 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'SetTopicsForCustomProposals' : SetTopicsForCustomProposals,\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 'last_ledger_block_timestamp' : IDL.Opt(IDL.Nat64),\n 'num_recently_submitted_proposals' : 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 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 '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 TopicInfo = IDL.Record({\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_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 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 GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const 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 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 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 const SetTopicsForCustomProposals = IDL.Record({\n 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),\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 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 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 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'SetTopicsForCustomProposals' : SetTopicsForCustomProposals,\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 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 GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const 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 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 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 const SetTopicsForCustomProposals = IDL.Record({\n 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),\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 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 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 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'SetTopicsForCustomProposals' : SetTopicsForCustomProposals,\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 'last_ledger_block_timestamp' : IDL.Opt(IDL.Nat64),\n 'num_recently_submitted_proposals' : 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 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 '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 TopicInfo = IDL.Record({\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_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 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 GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const 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 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 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 const SetTopicsForCustomProposals = IDL.Record({\n 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),\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 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 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 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'SetTopicsForCustomProposals' : SetTopicsForCustomProposals,\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 {\n Canister,\n createServices,\n fromNullable,\n isNullish,\n toNullable,\n} from \"@dfinity/utils\";\nimport type {\n NeuronId,\n _SERVICE as SnsGovernanceTestService,\n} from \"../candid/sns_governance_test\";\nimport { idlFactory as certifiedIdlFactory } from \"../candid/sns_governance_test.certified.idl\";\nimport { idlFactory } from \"../candid/sns_governance_test.idl\";\nimport { SnsGovernanceError } from \"./errors/governance.errors\";\nimport type { SnsCanisterOptions } from \"./types/canister.options\";\nimport type { SnsAddMaturityParams } from \"./types/governance_test.params\";\n\nexport class SnsGovernanceTestCanister extends Canister<SnsGovernanceTestService> {\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<SnsGovernanceTestService>) {\n const { service, certifiedService, canisterId } =\n createServices<SnsGovernanceTestService>({\n options,\n idlFactory,\n certifiedIdlFactory,\n });\n\n return new SnsGovernanceTestCanister(canisterId, service, certifiedService);\n }\n\n /**\n * Add maturity to a neuron (only for testing purposes. Testnet only.)\n */\n addMaturity = async (params: SnsAddMaturityParams): Promise<void> => {\n const { id, amountE8s } = params;\n\n const { new_maturity_e8s } = await this.caller(params).add_maturity({\n id: toNullable<NeuronId>(id),\n amount_e8s: toNullable(amountE8s),\n });\n const newMaturity = fromNullable(new_maturity_e8s);\n\n if (isNullish(newMaturity) || newMaturity < amountE8s) {\n throw new SnsGovernanceError(\"No maturity added\");\n }\n };\n}\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_governance_test.did */\nexport const idlFactory = ({ IDL }) => {\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 GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const 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 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 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 const SetTopicsForCustomProposals = IDL.Record({\n 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),\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 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 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 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'SetTopicsForCustomProposals' : SetTopicsForCustomProposals,\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 AddMaturityRequest = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n });\n const AddMaturityResponse = IDL.Record({\n 'new_maturity_e8s' : IDL.Opt(IDL.Nat64),\n });\n const AdvanceTargetVersionRequest = IDL.Record({\n 'target_version' : IDL.Opt(Version),\n });\n const AdvanceTargetVersionResponse = IDL.Record({});\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 'last_ledger_block_timestamp' : IDL.Opt(IDL.Nat64),\n 'num_recently_submitted_proposals' : 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 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 '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 TopicInfo = IDL.Record({\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 MintTokensRequest = IDL.Record({\n 'recipient' : IDL.Opt(Account),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n });\n const SetMode = IDL.Record({ 'mode' : IDL.Int32 });\n return IDL.Service({\n 'add_maturity' : IDL.Func([AddMaturityRequest], [AddMaturityResponse], []),\n 'advance_target_version' : IDL.Func(\n [AdvanceTargetVersionRequest],\n [AdvanceTargetVersionResponse],\n [],\n ),\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_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 'mint_tokens' : IDL.Func([MintTokensRequest], [IDL.Record({})], []),\n 'refresh_cached_upgrade_steps' : IDL.Func(\n [IDL.Record({})],\n [IDL.Record({})],\n [],\n ),\n 'reset_timers' : IDL.Func([IDL.Record({})], [IDL.Record({})], []),\n 'set_mode' : IDL.Func([SetMode], [IDL.Record({})], []),\n 'update_neuron' : IDL.Func([Neuron], [IDL.Opt(GovernanceError)], []),\n });\n};\nexport const init = ({ IDL }) => {\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 GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const 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 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 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 const SetTopicsForCustomProposals = IDL.Record({\n 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),\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 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 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 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'SetTopicsForCustomProposals' : SetTopicsForCustomProposals,\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_test.did */\nexport const idlFactory = ({ IDL }) => {\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 GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const 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 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 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 const SetTopicsForCustomProposals = IDL.Record({\n 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),\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 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 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 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'SetTopicsForCustomProposals' : SetTopicsForCustomProposals,\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 AddMaturityRequest = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n });\n const AddMaturityResponse = IDL.Record({\n 'new_maturity_e8s' : IDL.Opt(IDL.Nat64),\n });\n const AdvanceTargetVersionRequest = IDL.Record({\n 'target_version' : IDL.Opt(Version),\n });\n const AdvanceTargetVersionResponse = IDL.Record({});\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 'last_ledger_block_timestamp' : IDL.Opt(IDL.Nat64),\n 'num_recently_submitted_proposals' : 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 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 '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 TopicInfo = IDL.Record({\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 MintTokensRequest = IDL.Record({\n 'recipient' : IDL.Opt(Account),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n });\n const SetMode = IDL.Record({ 'mode' : IDL.Int32 });\n return IDL.Service({\n 'add_maturity' : IDL.Func([AddMaturityRequest], [AddMaturityResponse], []),\n 'advance_target_version' : IDL.Func(\n [AdvanceTargetVersionRequest],\n [AdvanceTargetVersionResponse],\n [],\n ),\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_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 'mint_tokens' : IDL.Func([MintTokensRequest], [IDL.Record({})], []),\n 'refresh_cached_upgrade_steps' : IDL.Func(\n [IDL.Record({})],\n [IDL.Record({})],\n [],\n ),\n 'reset_timers' : IDL.Func([IDL.Record({})], [IDL.Record({})], []),\n 'set_mode' : IDL.Func([SetMode], [IDL.Record({})], []),\n 'update_neuron' : IDL.Func([Neuron], [IDL.Opt(GovernanceError)], []),\n });\n};\nexport const init = ({ IDL }) => {\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 GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const 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 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 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 const SetTopicsForCustomProposals = IDL.Record({\n 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),\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 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 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 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'SetTopicsForCustomProposals' : SetTopicsForCustomProposals,\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 { Canister, createServices } from \"@dfinity/utils\";\nimport type {\n ListSnsCanistersResponse,\n _SERVICE as SnsRootService,\n} from \"../candid/sns_root\";\nimport { idlFactory as certifiedIdlFactory } from \"../candid/sns_root.certified.idl\";\nimport { idlFactory } from \"../candid/sns_root.idl\";\nimport type { SnsCanisterOptions } from \"./types/canister.options\";\n\nexport class SnsRootCanister extends Canister<SnsRootService> {\n static create(options: SnsCanisterOptions<SnsRootService>) {\n const { service, certifiedService, canisterId } =\n createServices<SnsRootService>({\n options,\n idlFactory,\n certifiedIdlFactory,\n });\n\n return new SnsRootCanister(canisterId, service, certifiedService);\n }\n\n /**\n * List the canisters that are part of the Sns.\n *\n * Source code: https://github.com/dfinity/ic/blob/master/rs/sns/root/src/lib.rs\n *\n * @param {Object} params\n * @param {boolean} [params.certified=true] - Query or update calls\n *\n * @returns {ListSnsCanistersResponse} - A list of canisters ('root' | 'governance' | 'ledger' | 'dapps' | 'swap' | 'archives')\n */\n listSnsCanisters = ({\n certified = true,\n }: {\n certified?: boolean;\n }): Promise<ListSnsCanistersResponse> =>\n this.caller({ certified }).list_sns_canisters({});\n}\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_root.did */\nexport const idlFactory = ({ IDL }) => {\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 SnsRootCanister = IDL.Record({\n 'dapp_canister_ids' : IDL.Vec(IDL.Principal),\n 'timers' : IDL.Opt(Timers),\n 'testflight' : IDL.Bool,\n 'archive_canister_ids' : IDL.Vec(IDL.Principal),\n 'governance_canister_id' : IDL.Opt(IDL.Principal),\n 'index_canister_id' : IDL.Opt(IDL.Principal),\n 'swap_canister_id' : IDL.Opt(IDL.Principal),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n });\n const CanisterIdRecord = IDL.Record({ 'canister_id' : IDL.Principal });\n const CanisterStatusType = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const LogVisibility = IDL.Variant({\n 'controllers' : IDL.Null,\n 'public' : IDL.Null,\n 'allowed_viewers' : IDL.Vec(IDL.Principal),\n });\n const DefiniteCanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Opt(IDL.Nat),\n 'wasm_memory_threshold' : IDL.Opt(IDL.Nat),\n 'controllers' : IDL.Vec(IDL.Principal),\n 'reserved_cycles_limit' : IDL.Opt(IDL.Nat),\n 'log_visibility' : IDL.Opt(LogVisibility),\n 'wasm_memory_limit' : IDL.Opt(IDL.Nat),\n 'memory_allocation' : IDL.Opt(IDL.Nat),\n 'compute_allocation' : IDL.Opt(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 CanisterStatusResult = IDL.Record({\n 'status' : CanisterStatusType,\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettings,\n 'query_stats' : IDL.Opt(QueryStats),\n 'idle_cycles_burned_per_day' : IDL.Opt(IDL.Nat),\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'reserved_cycles' : IDL.Opt(IDL.Nat),\n });\n const CanisterInstallMode = IDL.Variant({\n 'reinstall' : IDL.Null,\n 'upgrade' : IDL.Null,\n 'install' : IDL.Null,\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.Principal,\n });\n const ChangeCanisterRequest = IDL.Record({\n 'arg' : IDL.Vec(IDL.Nat8),\n 'wasm_module' : IDL.Vec(IDL.Nat8),\n 'stop_before_installing' : IDL.Bool,\n 'mode' : CanisterInstallMode,\n 'canister_id' : IDL.Principal,\n 'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),\n });\n const GetSnsCanistersSummaryRequest = IDL.Record({\n 'update_canister_list' : IDL.Opt(IDL.Bool),\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 CanisterStatusResultV2 = IDL.Record({\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 CanisterSummary = IDL.Record({\n 'status' : IDL.Opt(CanisterStatusResultV2),\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const GetSnsCanistersSummaryResponse = IDL.Record({\n 'root' : IDL.Opt(CanisterSummary),\n 'swap' : IDL.Opt(CanisterSummary),\n 'ledger' : IDL.Opt(CanisterSummary),\n 'index' : IDL.Opt(CanisterSummary),\n 'governance' : IDL.Opt(CanisterSummary),\n 'dapps' : IDL.Vec(CanisterSummary),\n 'archives' : IDL.Vec(CanisterSummary),\n });\n const GetTimersResponse = IDL.Record({ 'timers' : IDL.Opt(Timers) });\n const ListSnsCanistersResponse = IDL.Record({\n 'root' : IDL.Opt(IDL.Principal),\n 'swap' : IDL.Opt(IDL.Principal),\n 'ledger' : IDL.Opt(IDL.Principal),\n 'index' : IDL.Opt(IDL.Principal),\n 'governance' : IDL.Opt(IDL.Principal),\n 'dapps' : IDL.Vec(IDL.Principal),\n 'archives' : IDL.Vec(IDL.Principal),\n });\n const ManageDappCanisterSettingsRequest = 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 const ManageDappCanisterSettingsResponse = IDL.Record({\n 'failure_reason' : IDL.Opt(IDL.Text),\n });\n const RegisterDappCanisterRequest = IDL.Record({\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const RegisterDappCanistersRequest = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n });\n const SetDappControllersRequest = IDL.Record({\n 'canister_ids' : IDL.Opt(RegisterDappCanistersRequest),\n 'controller_principal_ids' : IDL.Vec(IDL.Principal),\n });\n const CanisterCallError = IDL.Record({\n 'code' : IDL.Opt(IDL.Int32),\n 'description' : IDL.Text,\n });\n const FailedUpdate = IDL.Record({\n 'err' : IDL.Opt(CanisterCallError),\n 'dapp_canister_id' : IDL.Opt(IDL.Principal),\n });\n const SetDappControllersResponse = IDL.Record({\n 'failed_updates' : IDL.Vec(FailedUpdate),\n });\n return IDL.Service({\n 'canister_status' : IDL.Func(\n [CanisterIdRecord],\n [CanisterStatusResult],\n [],\n ),\n 'change_canister' : IDL.Func([ChangeCanisterRequest], [], []),\n 'get_build_metadata' : IDL.Func([], [IDL.Text], []),\n 'get_sns_canisters_summary' : IDL.Func(\n [GetSnsCanistersSummaryRequest],\n [GetSnsCanistersSummaryResponse],\n [],\n ),\n 'get_timers' : IDL.Func([IDL.Record({})], [GetTimersResponse], []),\n 'list_sns_canisters' : IDL.Func(\n [IDL.Record({})],\n [ListSnsCanistersResponse],\n [],\n ),\n 'manage_dapp_canister_settings' : IDL.Func(\n [ManageDappCanisterSettingsRequest],\n [ManageDappCanisterSettingsResponse],\n [],\n ),\n 'register_dapp_canister' : IDL.Func(\n [RegisterDappCanisterRequest],\n [IDL.Record({})],\n [],\n ),\n 'register_dapp_canisters' : IDL.Func(\n [RegisterDappCanistersRequest],\n [IDL.Record({})],\n [],\n ),\n 'reset_timers' : IDL.Func([IDL.Record({})], [IDL.Record({})], []),\n 'set_dapp_controllers' : IDL.Func(\n [SetDappControllersRequest],\n [SetDappControllersResponse],\n [],\n ),\n });\n};\nexport const init = ({ IDL }) => {\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 SnsRootCanister = IDL.Record({\n 'dapp_canister_ids' : IDL.Vec(IDL.Principal),\n 'timers' : IDL.Opt(Timers),\n 'testflight' : IDL.Bool,\n 'archive_canister_ids' : IDL.Vec(IDL.Principal),\n 'governance_canister_id' : IDL.Opt(IDL.Principal),\n 'index_canister_id' : IDL.Opt(IDL.Principal),\n 'swap_canister_id' : IDL.Opt(IDL.Principal),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n });\n return [SnsRootCanister];\n};\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_root.did */\nexport const idlFactory = ({ IDL }) => {\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 SnsRootCanister = IDL.Record({\n 'dapp_canister_ids' : IDL.Vec(IDL.Principal),\n 'timers' : IDL.Opt(Timers),\n 'testflight' : IDL.Bool,\n 'archive_canister_ids' : IDL.Vec(IDL.Principal),\n 'governance_canister_id' : IDL.Opt(IDL.Principal),\n 'index_canister_id' : IDL.Opt(IDL.Principal),\n 'swap_canister_id' : IDL.Opt(IDL.Principal),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n });\n const CanisterIdRecord = IDL.Record({ 'canister_id' : IDL.Principal });\n const CanisterStatusType = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const LogVisibility = IDL.Variant({\n 'controllers' : IDL.Null,\n 'public' : IDL.Null,\n 'allowed_viewers' : IDL.Vec(IDL.Principal),\n });\n const DefiniteCanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Opt(IDL.Nat),\n 'wasm_memory_threshold' : IDL.Opt(IDL.Nat),\n 'controllers' : IDL.Vec(IDL.Principal),\n 'reserved_cycles_limit' : IDL.Opt(IDL.Nat),\n 'log_visibility' : IDL.Opt(LogVisibility),\n 'wasm_memory_limit' : IDL.Opt(IDL.Nat),\n 'memory_allocation' : IDL.Opt(IDL.Nat),\n 'compute_allocation' : IDL.Opt(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 CanisterStatusResult = IDL.Record({\n 'status' : CanisterStatusType,\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettings,\n 'query_stats' : IDL.Opt(QueryStats),\n 'idle_cycles_burned_per_day' : IDL.Opt(IDL.Nat),\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'reserved_cycles' : IDL.Opt(IDL.Nat),\n });\n const CanisterInstallMode = IDL.Variant({\n 'reinstall' : IDL.Null,\n 'upgrade' : IDL.Null,\n 'install' : IDL.Null,\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.Principal,\n });\n const ChangeCanisterRequest = IDL.Record({\n 'arg' : IDL.Vec(IDL.Nat8),\n 'wasm_module' : IDL.Vec(IDL.Nat8),\n 'stop_before_installing' : IDL.Bool,\n 'mode' : CanisterInstallMode,\n 'canister_id' : IDL.Principal,\n 'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),\n });\n const GetSnsCanistersSummaryRequest = IDL.Record({\n 'update_canister_list' : IDL.Opt(IDL.Bool),\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 CanisterStatusResultV2 = IDL.Record({\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 CanisterSummary = IDL.Record({\n 'status' : IDL.Opt(CanisterStatusResultV2),\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const GetSnsCanistersSummaryResponse = IDL.Record({\n 'root' : IDL.Opt(CanisterSummary),\n 'swap' : IDL.Opt(CanisterSummary),\n 'ledger' : IDL.Opt(CanisterSummary),\n 'index' : IDL.Opt(CanisterSummary),\n 'governance' : IDL.Opt(CanisterSummary),\n 'dapps' : IDL.Vec(CanisterSummary),\n 'archives' : IDL.Vec(CanisterSummary),\n });\n const GetTimersResponse = IDL.Record({ 'timers' : IDL.Opt(Timers) });\n const ListSnsCanistersResponse = IDL.Record({\n 'root' : IDL.Opt(IDL.Principal),\n 'swap' : IDL.Opt(IDL.Principal),\n 'ledger' : IDL.Opt(IDL.Principal),\n 'index' : IDL.Opt(IDL.Principal),\n 'governance' : IDL.Opt(IDL.Principal),\n 'dapps' : IDL.Vec(IDL.Principal),\n 'archives' : IDL.Vec(IDL.Principal),\n });\n const ManageDappCanisterSettingsRequest = 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 const ManageDappCanisterSettingsResponse = IDL.Record({\n 'failure_reason' : IDL.Opt(IDL.Text),\n });\n const RegisterDappCanisterRequest = IDL.Record({\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const RegisterDappCanistersRequest = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n });\n const SetDappControllersRequest = IDL.Record({\n 'canister_ids' : IDL.Opt(RegisterDappCanistersRequest),\n 'controller_principal_ids' : IDL.Vec(IDL.Principal),\n });\n const CanisterCallError = IDL.Record({\n 'code' : IDL.Opt(IDL.Int32),\n 'description' : IDL.Text,\n });\n const FailedUpdate = IDL.Record({\n 'err' : IDL.Opt(CanisterCallError),\n 'dapp_canister_id' : IDL.Opt(IDL.Principal),\n });\n const SetDappControllersResponse = IDL.Record({\n 'failed_updates' : IDL.Vec(FailedUpdate),\n });\n return IDL.Service({\n 'canister_status' : IDL.Func(\n [CanisterIdRecord],\n [CanisterStatusResult],\n [],\n ),\n 'change_canister' : IDL.Func([ChangeCanisterRequest], [], []),\n 'get_build_metadata' : IDL.Func([], [IDL.Text], ['query']),\n 'get_sns_canisters_summary' : IDL.Func(\n [GetSnsCanistersSummaryRequest],\n [GetSnsCanistersSummaryResponse],\n [],\n ),\n 'get_timers' : IDL.Func([IDL.Record({})], [GetTimersResponse], ['query']),\n 'list_sns_canisters' : IDL.Func(\n [IDL.Record({})],\n [ListSnsCanistersResponse],\n ['query'],\n ),\n 'manage_dapp_canister_settings' : IDL.Func(\n [ManageDappCanisterSettingsRequest],\n [ManageDappCanisterSettingsResponse],\n [],\n ),\n 'register_dapp_canister' : IDL.Func(\n [RegisterDappCanisterRequest],\n [IDL.Record({})],\n [],\n ),\n 'register_dapp_canisters' : IDL.Func(\n [RegisterDappCanistersRequest],\n [IDL.Record({})],\n [],\n ),\n 'reset_timers' : IDL.Func([IDL.Record({})], [IDL.Record({})], []),\n 'set_dapp_controllers' : IDL.Func(\n [SetDappControllersRequest],\n [SetDappControllersResponse],\n [],\n ),\n });\n};\nexport const init = ({ IDL }) => {\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 SnsRootCanister = IDL.Record({\n 'dapp_canister_ids' : IDL.Vec(IDL.Principal),\n 'timers' : IDL.Opt(Timers),\n 'testflight' : IDL.Bool,\n 'archive_canister_ids' : IDL.Vec(IDL.Principal),\n 'governance_canister_id' : IDL.Opt(IDL.Principal),\n 'index_canister_id' : IDL.Opt(IDL.Principal),\n 'swap_canister_id' : IDL.Opt(IDL.Principal),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n });\n return [SnsRootCanister];\n};\n", "import type { Agent } from \"@dfinity/agent\";\nimport { IcrcIndexCanister, IcrcLedgerCanister } from \"@dfinity/ledger-icrc\";\nimport type { Principal } from \"@dfinity/principal\";\nimport {\n assertNonNullish,\n fromNullable,\n type QueryParams,\n} from \"@dfinity/utils\";\nimport type {\n ListSnsCanistersResponse,\n _SERVICE as SnsRootService,\n} from \"../candid/sns_root\";\nimport { SnsGovernanceCanister } from \"./governance.canister\";\nimport { SnsRootCanister } from \"./root.canister\";\nimport { SnsWrapper } from \"./sns.wrapper\";\nimport { SnsSwapCanister } from \"./swap.canister\";\nimport type { SnsCanisterOptions } from \"./types/canister.options\";\n\n/**\n * Options to discover and initialize all canisters of a Sns.\n */\nexport interface InitSnsCanistersOptions extends QueryParams {\n /** An agent that can be used to override the default agent. Useful to target another environment that mainnet. */\n agent?: Agent;\n /** The options that will be used to instantiate the actors of the root canister of the particular Sns. */\n rootOptions: Omit<SnsCanisterOptions<SnsRootService>, \"agent\">;\n}\n\nexport interface InitSnsWrapper {\n (options: InitSnsCanistersOptions): Promise<SnsWrapper>;\n}\n\n/**\n * Lookup for the canister ids of a Sns and initialize the wrapper to access its features.\n */\nexport const initSnsWrapper: InitSnsWrapper = async ({\n agent,\n rootOptions,\n certified = true,\n}: InitSnsCanistersOptions): Promise<SnsWrapper> => {\n const rootCanister: SnsRootCanister = SnsRootCanister.create({\n ...rootOptions,\n agent,\n });\n\n const { ledger, swap, governance, index }: ListSnsCanistersResponse =\n await rootCanister.listSnsCanisters({ certified });\n\n const governanceCanisterId: Principal | undefined = fromNullable(governance);\n const ledgerCanisterId: Principal | undefined = fromNullable(ledger);\n const swapCanisterId: Principal | undefined = fromNullable(swap);\n const indexCanisterId: Principal | undefined = fromNullable(index);\n\n assertNonNullish(governanceCanisterId);\n assertNonNullish(ledgerCanisterId);\n assertNonNullish(swapCanisterId);\n assertNonNullish(indexCanisterId);\n\n return new SnsWrapper({\n root: rootCanister,\n governance: SnsGovernanceCanister.create({\n canisterId: governanceCanisterId,\n agent,\n }),\n ledger: IcrcLedgerCanister.create({ canisterId: ledgerCanisterId, agent }),\n swap: SnsSwapCanister.create({ canisterId: swapCanisterId, agent }),\n index: IcrcIndexCanister.create({ canisterId: indexCanisterId, agent }),\n certified,\n });\n};\n", "import type {\n BalanceParams,\n GetAccountTransactionsParams,\n IcrcAccount,\n IcrcBlockIndex,\n IcrcGetTransactions,\n IcrcIndexCanister,\n IcrcLedgerCanister,\n IcrcTokenMetadataResponse,\n IcrcTokens,\n TransferParams,\n} from \"@dfinity/ledger-icrc\";\nimport type { Principal } from \"@dfinity/principal\";\nimport {\n bigIntToUint8Array,\n toNullable,\n type QueryParams,\n} from \"@dfinity/utils\";\nimport type {\n GetMetadataResponse,\n ListNervousSystemFunctionsResponse,\n ListProposalsResponse,\n NervousSystemParameters,\n Neuron,\n NeuronId,\n ProposalData,\n} from \"../candid/sns_governance\";\nimport type {\n BuyerState,\n GetAutoFinalizationStatusResponse,\n GetBuyerStateRequest,\n GetDerivedStateResponse,\n GetLifecycleResponse,\n GetSaleParametersResponse,\n GetStateResponse,\n RefreshBuyerTokensRequest,\n RefreshBuyerTokensResponse,\n Ticket,\n} from \"../candid/sns_swap\";\nimport { MAX_NEURONS_SUBACCOUNTS } from \"./constants/governance.constants\";\nimport { SnsGovernanceError } from \"./errors/governance.errors\";\nimport type { SnsGovernanceCanister } from \"./governance.canister\";\nimport type { SnsRootCanister } from \"./root.canister\";\nimport type { SnsSwapCanister } from \"./swap.canister\";\nimport type {\n SnsClaimNeuronParams,\n SnsDisburseNeuronParams,\n SnsGetNeuronParams,\n SnsGetProposalParams,\n SnsIncreaseDissolveDelayParams,\n SnsIncreaseStakeNeuronParams,\n SnsListNeuronsParams,\n SnsListProposalsParams,\n SnsNeuronAutoStakeMaturityParams,\n SnsNeuronDisburseMaturityParams,\n SnsNeuronPermissionsParams,\n SnsNeuronStakeMaturityParams,\n SnsRegisterVoteParams,\n SnsSetDissolveTimestampParams,\n SnsSetFollowingParams,\n SnsSetTopicFollowees,\n SnsSplitNeuronParams,\n SnsStakeNeuronParams,\n} from \"./types/governance.params\";\nimport type { NewSaleTicketParams } from \"./types/swap.params\";\nimport { neuronSubaccount } from \"./utils/governance.utils\";\n\ninterface SnsWrapperOptions {\n /** The wrapper for the \"root\" canister of the particular Sns */\n root: SnsRootCanister;\n /** The wrapper for the \"governance\" canister of the particular Sns */\n governance: SnsGovernanceCanister;\n /** The wrapper for the \"ledger\" canister of the particular Sns */\n ledger: IcrcLedgerCanister;\n /** The wrapper for the \"swap\" canister of the particular Sns */\n swap: SnsSwapCanister;\n /** The wrapper for the \"index\" canister of the particular Sns */\n index: IcrcIndexCanister;\n\n /** The wrapper has been instantiated and should perform query or update calls */\n certified: boolean;\n}\n\n/**\n * Sns wrapper - notably used by NNS-dapp - ease the access to a particular Sns.\n * It knows all the Sns' canisters, wrap and enhance their available features.\n * A wrapper either performs query or update calls.\n */\nexport class SnsWrapper {\n private readonly root: SnsRootCanister;\n private readonly governance: SnsGovernanceCanister;\n private readonly ledger: IcrcLedgerCanister;\n private readonly swap: SnsSwapCanister;\n private readonly index: IcrcIndexCanister;\n private readonly certified: boolean;\n\n /**\n * Constructor to instantiate a Sns\n */\n constructor({\n root,\n governance,\n ledger,\n swap,\n index,\n certified,\n }: SnsWrapperOptions) {\n this.root = root;\n this.governance = governance;\n this.ledger = ledger;\n this.swap = swap;\n this.index = index;\n this.certified = certified;\n }\n\n /**\n * Binds the list of canister ids of the Sns.\n */\n get canisterIds(): {\n rootCanisterId: Principal;\n ledgerCanisterId: Principal;\n governanceCanisterId: Principal;\n swapCanisterId: Principal;\n indexCanisterId: Principal;\n } {\n return {\n rootCanisterId: this.root.canisterId,\n ledgerCanisterId: this.ledger.canisterId,\n governanceCanisterId: this.governance.canisterId,\n swapCanisterId: this.swap.canisterId,\n indexCanisterId: this.index.canisterId,\n };\n }\n\n listNeurons = (\n params: Omit<SnsListNeuronsParams, \"certified\">,\n ): Promise<Neuron[]> => this.governance.listNeurons(this.mergeParams(params));\n\n listProposals = (\n params: Omit<SnsListProposalsParams, \"certified\">,\n ): Promise<ListProposalsResponse> =>\n this.governance.listProposals(this.mergeParams(params));\n\n getProposal = (\n params: Omit<SnsGetProposalParams, \"certified\">,\n ): Promise<ProposalData> =>\n this.governance.getProposal(this.mergeParams(params));\n\n listNervousSystemFunctions = (\n params: Omit<QueryParams, \"certified\">,\n ): Promise<ListNervousSystemFunctionsResponse> =>\n this.governance.listNervousSystemFunctions(this.mergeParams(params));\n\n metadata = (\n params: Omit<QueryParams, \"certified\">,\n ): Promise<[GetMetadataResponse, IcrcTokenMetadataResponse]> =>\n Promise.all([\n this.governance.metadata(this.mergeParams(params)),\n this.ledger.metadata(this.mergeParams(params)),\n ]);\n\n nervousSystemParameters = (\n params: Omit<QueryParams, \"certified\">,\n ): Promise<NervousSystemParameters> =>\n this.governance.nervousSystemParameters(this.mergeParams(params));\n\n ledgerMetadata = (\n params: Omit<QueryParams, \"certified\">,\n ): Promise<IcrcTokenMetadataResponse> =>\n this.ledger.metadata(this.mergeParams(params));\n\n transactionFee = (\n params: Omit<QueryParams, \"certified\">,\n ): Promise<IcrcTokens> =>\n this.ledger.transactionFee(this.mergeParams(params));\n\n totalTokensSupply = (\n params: Omit<QueryParams, \"certified\">,\n ): Promise<IcrcTokens> =>\n this.ledger.totalTokensSupply(this.mergeParams(params));\n\n balance = (params: Omit<BalanceParams, \"certified\">): Promise<IcrcTokens> =>\n this.ledger.balance(this.mergeParams(params));\n\n // Always certified\n transfer = (params: TransferParams): Promise<IcrcBlockIndex> =>\n this.ledger.transfer(params);\n\n getNeuron = (\n params: Omit<SnsGetNeuronParams, \"certified\">,\n ): Promise<Neuron> => this.governance.getNeuron(this.mergeParams(params));\n\n queryNeuron = (\n params: Omit<SnsGetNeuronParams, \"certified\">,\n ): Promise<Neuron | undefined> =>\n this.governance.queryNeuron(this.mergeParams(params));\n\n /**\n * Returns the subaccount of the next neuron to be created.\n *\n * The neuron account is a subaccount of the governance canister.\n * The subaccount is derived from the controller and an ascending index.\n *\n * \u203C\uFE0F The id of the neuron is the subaccount (neuron ID = subaccount) \u203C\uFE0F.\n *\n * If the neuron does not exist for that subaccount, then we use it for the next neuron.\n *\n * The index is used in the memo of the transfer and when claiming the neuron.\n * This is how the backend can identify which neuron is being claimed.\n *\n * @param controller\n * @returns\n */\n nextNeuronAccount = async (\n controller: Principal,\n ): Promise<{ account: IcrcAccount; index: bigint }> => {\n // TODO: try parallilizing requests to improve performance\n // OR use binary search https://dfinity.atlassian.net/browse/FOLLOW-825\n for (let index = 0; index < MAX_NEURONS_SUBACCOUNTS; index++) {\n const subaccount = neuronSubaccount({ index, controller });\n\n const neuronId: NeuronId = { id: subaccount };\n let neuron = await this.governance.queryNeuron({\n neuronId,\n certified: false,\n });\n if (neuron === undefined) {\n // Recheck with update call whether the neuron does not exist\n neuron = await this.governance.queryNeuron({\n neuronId,\n certified: true,\n });\n // If the neuron does not exist, we can use this subaccount\n if (neuron === undefined) {\n return {\n account: {\n ...this.owner,\n subaccount,\n },\n index: BigInt(index),\n };\n }\n }\n }\n throw new SnsGovernanceError(\"No more neuron accounts available\");\n };\n\n /**\n * Stakes a neuron.\n *\n * This is a convenient method that transfers the stake to the neuron subaccount and then claims the neuron.\n *\n * \u26A0\uFE0F This feature is provided as it without warranty. It does not implement any additional checks of the validity of the payment flow - e.g. it does not handle refund nor retries claiming the neuron in case of errors.\n *\n * @param {SnsStakeNeuronParams} params\n * @param {Principal} params.controller\n * @param {bigint} params.stakeE8s\n * @param {source} params.source\n * @returns {NeuronId}\n */\n stakeNeuron = async ({\n stakeE8s,\n source,\n controller,\n createdAt,\n fee,\n }: SnsStakeNeuronParams): Promise<NeuronId> => {\n this.assertCertified(\"stakeNeuron\");\n const { account: neuronAccount, index } =\n await this.nextNeuronAccount(controller);\n // This should not happen. The neuron account is always a subaccount of the SNS governance canister.\n if (neuronAccount.subaccount === undefined) {\n throw new SnsGovernanceError(\n \"There was an error creating the neuron subaccount\",\n );\n }\n await this.ledger.transfer({\n amount: stakeE8s,\n to: {\n owner: neuronAccount.owner,\n subaccount: toNullable(neuronAccount.subaccount),\n },\n from_subaccount: source.subaccount,\n memo: bigIntToUint8Array(index),\n created_at_time: createdAt,\n fee,\n });\n return this.governance.claimNeuron({\n memo: BigInt(index),\n controller,\n subaccount: neuronAccount.subaccount,\n });\n };\n\n /**\n * Increase the stake of a neuron.\n *\n * This is a convenient method that transfers the stake to the neuron subaccount and then refresh the neuron.\n *\n * \u26A0\uFE0F This feature is provided as it without warranty. It does not implement any additional checks of the validity of the payment flow - e.g. it does not handle refund nor calls refresh again in case of errors.\n *\n * @param {SnsStakeNeuronParams} params\n * @param {Principal} params.controller\n * @param {bigint} params.stakeE8s\n * @param {source} params.source\n * @returns {NeuronId}\n */\n increaseStakeNeuron = async ({\n stakeE8s,\n source,\n neuronId,\n }: SnsIncreaseStakeNeuronParams): Promise<void> => {\n this.assertCertified(\"stakeNeuron\");\n\n await this.ledger.transfer({\n amount: stakeE8s,\n to: {\n ...this.owner,\n subaccount: toNullable(Uint8Array.from(neuronId.id)),\n },\n from_subaccount: source.subaccount,\n });\n\n return this.governance.refreshNeuron(neuronId);\n };\n\n getNeuronBalance = (neuronId: NeuronId): Promise<IcrcTokens> => {\n const account = {\n ...this.owner,\n subaccount: Uint8Array.from(neuronId.id),\n };\n return this.ledger.balance({ ...account, certified: this.certified });\n };\n\n // Always certified\n addNeuronPermissions = (params: SnsNeuronPermissionsParams): Promise<void> =>\n this.governance.addNeuronPermissions(params);\n\n // Always certified\n refreshNeuron = (neuronId: NeuronId): Promise<void> =>\n this.governance.refreshNeuron(neuronId);\n\n // Always certified\n claimNeuron = (params: SnsClaimNeuronParams): Promise<NeuronId> =>\n this.governance.claimNeuron(params);\n\n // Always certified\n removeNeuronPermissions = (\n params: SnsNeuronPermissionsParams,\n ): Promise<void> => this.governance.removeNeuronPermissions(params);\n\n // Always certified\n splitNeuron = (params: SnsSplitNeuronParams): Promise<NeuronId | undefined> =>\n this.governance.splitNeuron(params);\n\n // Always certified\n disburse = (params: SnsDisburseNeuronParams): Promise<void> =>\n this.governance.disburse(params);\n\n // Always certified\n startDissolving = (neuronId: NeuronId): Promise<void> =>\n this.governance.startDissolving(neuronId);\n\n // Always certified\n stopDissolving = (neuronId: NeuronId): Promise<void> =>\n this.governance.stopDissolving(neuronId);\n\n // Always certified\n setDissolveTimestamp = (\n params: SnsSetDissolveTimestampParams,\n ): Promise<void> => this.governance.setDissolveTimestamp(params);\n\n // Always certified\n increaseDissolveDelay = (\n params: SnsIncreaseDissolveDelayParams,\n ): Promise<void> => this.governance.increaseDissolveDelay(params);\n\n // Always certified\n setTopicFollowees = (params: SnsSetTopicFollowees): Promise<void> =>\n this.governance.setTopicFollowees(params);\n\n // Always certified\n setFollowing = (params: SnsSetFollowingParams): Promise<void> =>\n this.governance.setFollowing(params);\n\n // Always certified\n registerVote = (params: SnsRegisterVoteParams): Promise<void> =>\n this.governance.registerVote(params);\n\n swapState = (\n params: Omit<QueryParams, \"certified\">,\n ): Promise<GetStateResponse> => this.swap.state(this.mergeParams(params));\n\n /**\n * Returns the ticket if a ticket was found for the caller and the ticket\n * was removed successfully. Returns None if no ticket was found for the caller.\n * Only the owner of a ticket can remove it.\n *\n * Always certified\n *\n * @param params\n */\n notifyPaymentFailure = (): Promise<Ticket | undefined> =>\n this.swap.notifyPaymentFailure();\n\n // Always certified\n notifyParticipation = (\n params: RefreshBuyerTokensRequest,\n ): Promise<RefreshBuyerTokensResponse> =>\n this.swap.notifyParticipation(params);\n\n getUserCommitment = (\n params: GetBuyerStateRequest,\n ): Promise<BuyerState | undefined> =>\n this.swap.getUserCommitment(this.mergeParams(params));\n\n getOpenTicket = (\n params: Omit<QueryParams, \"certified\">,\n ): Promise<Ticket | undefined> =>\n this.swap.getOpenTicket(this.mergeParams(params));\n\n // Always certified\n newSaleTicket = (params: NewSaleTicketParams): Promise<Ticket> =>\n this.swap.newSaleTicket(params);\n\n getLifecycle = (\n params: Omit<QueryParams, \"certified\">,\n ): Promise<GetLifecycleResponse | undefined> =>\n this.swap.getLifecycle(this.mergeParams(params));\n\n getFinalizationStatus = (\n params: Omit<QueryParams, \"certified\">,\n ): Promise<GetAutoFinalizationStatusResponse | undefined> =>\n this.swap.getFinalizationStatus(this.mergeParams(params));\n\n getSaleParameters = (\n params: Omit<QueryParams, \"certified\">,\n ): Promise<GetSaleParametersResponse | undefined> =>\n this.swap.getSaleParameters(this.mergeParams(params));\n\n getDerivedState = (\n params: Omit<QueryParams, \"certified\">,\n ): Promise<GetDerivedStateResponse | undefined> =>\n this.swap.getDerivedState(this.mergeParams(params));\n\n // Always certified\n getTransactions = (\n params: GetAccountTransactionsParams,\n ): Promise<IcrcGetTransactions> => this.index.getTransactions(params);\n\n // Always certified\n stakeMaturity = (params: SnsNeuronStakeMaturityParams): Promise<void> =>\n this.governance.stakeMaturity(params);\n\n // Always certified\n disburseMaturity = (params: SnsNeuronDisburseMaturityParams): Promise<void> =>\n this.governance.disburseMaturity(params);\n\n // Always certified\n autoStakeMaturity = (\n params: SnsNeuronAutoStakeMaturityParams,\n ): Promise<void> => this.governance.autoStakeMaturity(params);\n\n private mergeParams<T>(params: T): QueryParams & T {\n return {\n ...params,\n certified: this.certified,\n };\n }\n\n private assertCertified = (name: string): void => {\n if (!this.certified) {\n throw new SnsGovernanceError(`Call to ${name} needs to be certified`);\n }\n };\n\n /**\n * Each Sns neuron id is a subaccount of the related Sns ledger account of the Sns governance canister.\n *\n * In other words, the Sns governance canister is the owner. It has an account in the related Sns ledger and each neuron is both a child of the Sns governance canister and a subaccount in the Sns ledger.\n *\n * @private\n */\n private get owner(): IcrcAccount {\n return {\n owner: this.canisterIds.governanceCanisterId,\n };\n }\n}\n", "import type { IcrcSubaccount } from \"@dfinity/ledger-icrc\";\nimport type { Principal } from \"@dfinity/principal\";\nimport {\n arrayOfNumberToUint8Array,\n asciiStringToByteArray,\n numberToUint8Array,\n} from \"@dfinity/utils\";\nimport { sha256 } from \"@noble/hashes/sha256\";\n\n/**\n * Neuron subaccount is calculated as \"sha256(0x0c . \u201Cneuron-stake\u201D . controller . i)\"\n *\n * @param params\n * @param {Principal} params.newController\n * @param {number} params.index\n * @returns\n */\nexport const neuronSubaccount = ({\n index,\n controller,\n}: {\n index: number;\n controller: Principal;\n}): IcrcSubaccount => {\n const padding = asciiStringToByteArray(\"neuron-stake\");\n const data = [\n 0x0c,\n ...padding,\n ...controller.toUint8Array(),\n ...numberToUint8Array(index),\n ];\n // TODO(#238): Implement without library and make it compatible with NodeJS and browser\n const shaObj = sha256.create();\n shaObj.update(arrayOfNumberToUint8Array(data));\n return shaObj.digest();\n};\n", "function number(n: number) {\n if (!Number.isSafeInteger(n) || n < 0) throw new Error(`positive integer expected, not ${n}`);\n}\n\nfunction bool(b: boolean) {\n if (typeof b !== 'boolean') throw new Error(`boolean expected, not ${b}`);\n}\n\n// copied from utils\nexport function isBytes(a: unknown): a is Uint8Array {\n return (\n a instanceof Uint8Array ||\n (a != null && typeof a === 'object' && a.constructor.name === 'Uint8Array')\n );\n}\n\nfunction bytes(b: Uint8Array | undefined, ...lengths: number[]) {\n if (!isBytes(b)) throw new Error('Uint8Array expected');\n if (lengths.length > 0 && !lengths.includes(b.length))\n throw new Error(`Uint8Array expected of length ${lengths}, not of length=${b.length}`);\n}\n\ntype Hash = {\n (data: Uint8Array): Uint8Array;\n blockLen: number;\n outputLen: number;\n create: any;\n};\nfunction hash(h: Hash) {\n if (typeof h !== 'function' || typeof h.create !== 'function')\n throw new Error('Hash should be wrapped by utils.wrapConstructor');\n number(h.outputLen);\n number(h.blockLen);\n}\n\nfunction exists(instance: any, checkFinished = true) {\n if (instance.destroyed) throw new Error('Hash instance has been destroyed');\n if (checkFinished && instance.finished) throw new Error('Hash#digest() has already been called');\n}\nfunction output(out: any, instance: any) {\n bytes(out);\n const min = instance.outputLen;\n if (out.length < min) {\n throw new Error(`digestInto() expects output buffer of length at least ${min}`);\n }\n}\n\nexport { number, bool, bytes, hash, exists, output };\n\nconst assert = { number, bool, bytes, hash, exists, output };\nexport default assert;\n", "/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n\n// We use WebCrypto aka globalThis.crypto, which exists in browsers and node.js 16+.\n// node.js versions earlier than v19 don't declare it in global scope.\n// For node.js, package.json#exports field mapping rewrites import\n// from `crypto` to `cryptoNode`, which imports native module.\n// Makes the utils un-importable in browsers without a bundler.\n// Once node.js 18 is deprecated (2025-04-30), we can just drop the import.\nimport { crypto } from '@noble/hashes/crypto';\nimport { bytes as abytes } from './_assert.js';\n// export { isBytes } from './_assert.js';\n// We can't reuse isBytes from _assert, because somehow this causes huge perf issues\nexport function isBytes(a: unknown): a is Uint8Array {\n return (\n a instanceof Uint8Array ||\n (a != null && typeof a === 'object' && a.constructor.name === 'Uint8Array')\n );\n}\n\n// prettier-ignore\nexport type TypedArray = Int8Array | Uint8ClampedArray | Uint8Array |\n Uint16Array | Int16Array | Uint32Array | Int32Array;\n\n// Cast array to different type\nexport const u8 = (arr: TypedArray) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\nexport const u32 = (arr: TypedArray) =>\n new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\n\n// Cast array to view\nexport const createView = (arr: TypedArray) =>\n new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n\n// The rotate right (circular right shift) operation for uint32\nexport const rotr = (word: number, shift: number) => (word << (32 - shift)) | (word >>> shift);\n// The rotate left (circular left shift) operation for uint32\nexport const rotl = (word: number, shift: number) =>\n (word << shift) | ((word >>> (32 - shift)) >>> 0);\n\nexport const isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;\n// The byte swap operation for uint32\nexport const byteSwap = (word: number) =>\n ((word << 24) & 0xff000000) |\n ((word << 8) & 0xff0000) |\n ((word >>> 8) & 0xff00) |\n ((word >>> 24) & 0xff);\n// Conditionally byte swap if on a big-endian platform\nexport const byteSwapIfBE = isLE ? (n: number) => n : (n: number) => byteSwap(n);\n\n// In place byte swap for Uint32Array\nexport function byteSwap32(arr: Uint32Array) {\n for (let i = 0; i < arr.length; i++) {\n arr[i] = byteSwap(arr[i]);\n }\n}\n\n// Array where index 0xf0 (240) is mapped to string 'f0'\nconst hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) =>\n i.toString(16).padStart(2, '0')\n);\n/**\n * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123'\n */\nexport function bytesToHex(bytes: Uint8Array): string {\n abytes(bytes);\n // pre-caching improves the speed 6x\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\n\n// We use optimized technique to convert hex string to byte array\nconst asciis = { _0: 48, _9: 57, _A: 65, _F: 70, _a: 97, _f: 102 } as const;\nfunction asciiToBase16(char: number): number | undefined {\n if (char >= asciis._0 && char <= asciis._9) return char - asciis._0;\n if (char >= asciis._A && char <= asciis._F) return char - (asciis._A - 10);\n if (char >= asciis._a && char <= asciis._f) return char - (asciis._a - 10);\n return;\n}\n\n/**\n * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23])\n */\nexport function hexToBytes(hex: string): Uint8Array {\n if (typeof hex !== 'string') throw new Error('hex string expected, got ' + typeof hex);\n const hl = hex.length;\n const al = hl / 2;\n if (hl % 2) throw new Error('padded hex string expected, got unpadded hex of length ' + hl);\n const array = new Uint8Array(al);\n for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) {\n const n1 = asciiToBase16(hex.charCodeAt(hi));\n const n2 = asciiToBase16(hex.charCodeAt(hi + 1));\n if (n1 === undefined || n2 === undefined) {\n const char = hex[hi] + hex[hi + 1];\n throw new Error('hex string expected, got non-hex character \"' + char + '\" at index ' + hi);\n }\n array[ai] = n1 * 16 + n2;\n }\n return array;\n}\n\n// There is no setImmediate in browser and setTimeout is slow.\n// call of async fn will return Promise, which will be fullfiled only on\n// next scheduler queue processing step and this is exactly what we need.\nexport const nextTick = async () => {};\n\n// Returns control to thread each 'tick' ms to avoid blocking\nexport async function asyncLoop(iters: number, tick: number, cb: (i: number) => void) {\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick) continue;\n await nextTick();\n ts += diff;\n }\n}\n\n// Global symbols in both browsers and Node.js since v11\n// See https://github.com/microsoft/TypeScript/issues/31535\ndeclare const TextEncoder: any;\n\n/**\n * @example utf8ToBytes('abc') // new Uint8Array([97, 98, 99])\n */\nexport function utf8ToBytes(str: string): Uint8Array {\n if (typeof str !== 'string') throw new Error(`utf8ToBytes expected string, got ${typeof str}`);\n return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809\n}\n\nexport type Input = Uint8Array | string;\n/**\n * Normalizes (non-hex) string or Uint8Array to Uint8Array.\n * Warning: when Uint8Array is passed, it would NOT get copied.\n * Keep in mind for future mutable operations.\n */\nexport function toBytes(data: Input): Uint8Array {\n if (typeof data === 'string') data = utf8ToBytes(data);\n abytes(data);\n return data;\n}\n\n/**\n * Copies several Uint8Arrays into one.\n */\nexport function concatBytes(...arrays: Uint8Array[]): Uint8Array {\n let sum = 0;\n for (let i = 0; i < arrays.length; i++) {\n const a = arrays[i];\n abytes(a);\n sum += a.length;\n }\n const res = new Uint8Array(sum);\n for (let i = 0, pad = 0; i < arrays.length; i++) {\n const a = arrays[i];\n res.set(a, pad);\n pad += a.length;\n }\n return res;\n}\n\n// For runtime check if class implements interface\nexport abstract class Hash<T extends Hash<T>> {\n abstract blockLen: number; // Bytes per block\n abstract outputLen: number; // Bytes in output\n abstract update(buf: Input): this;\n // Writes digest into buf\n abstract digestInto(buf: Uint8Array): void;\n abstract digest(): Uint8Array;\n /**\n * Resets internal state. Makes Hash instance unusable.\n * Reset is impossible for keyed hashes if key is consumed into state. If digest is not consumed\n * by user, they will need to manually call `destroy()` when zeroing is necessary.\n */\n abstract destroy(): void;\n /**\n * Clones hash instance. Unsafe: doesn't check whether `to` is valid. Can be used as `clone()`\n * when no options are passed.\n * Reasons to use `_cloneInto` instead of clone: 1) performance 2) reuse instance => all internal\n * buffers are overwritten => causes buffer overwrite which is used for digest in some cases.\n * There are no guarantees for clean-up because it's impossible in JS.\n */\n abstract _cloneInto(to?: T): T;\n // Safe version that clones internal state\n clone(): T {\n return this._cloneInto();\n }\n}\n\n/**\n * XOF: streaming API to read digest in chunks.\n * Same as 'squeeze' in keccak/k12 and 'seek' in blake3, but more generic name.\n * When hash used in XOF mode it is up to user to call '.destroy' afterwards, since we cannot\n * destroy state, next call can require more bytes.\n */\nexport type HashXOF<T extends Hash<T>> = Hash<T> & {\n xof(bytes: number): Uint8Array; // Read 'bytes' bytes from digest stream\n xofInto(buf: Uint8Array): Uint8Array; // read buf.length bytes from digest stream into buf\n};\n\nconst toStr = {}.toString;\ntype EmptyObj = {};\nexport function checkOpts<T1 extends EmptyObj, T2 extends EmptyObj>(\n defaults: T1,\n opts?: T2\n): T1 & T2 {\n if (opts !== undefined && toStr.call(opts) !== '[object Object]')\n throw new Error('Options should be object or undefined');\n const merged = Object.assign(defaults, opts);\n return merged as T1 & T2;\n}\n\nexport type CHash = ReturnType<typeof wrapConstructor>;\n\nexport function wrapConstructor<T extends Hash<T>>(hashCons: () => Hash<T>) {\n const hashC = (msg: Input): Uint8Array => hashCons().update(toBytes(msg)).digest();\n const tmp = hashCons();\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = () => hashCons();\n return hashC;\n}\n\nexport function wrapConstructorWithOpts<H extends Hash<H>, T extends Object>(\n hashCons: (opts?: T) => Hash<H>\n) {\n const hashC = (msg: Input, opts?: T): Uint8Array => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({} as T);\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts: T) => hashCons(opts);\n return hashC;\n}\n\nexport function wrapXOFConstructorWithOpts<H extends HashXOF<H>, T extends Object>(\n hashCons: (opts?: T) => HashXOF<H>\n) {\n const hashC = (msg: Input, opts?: T): Uint8Array => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({} as T);\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts: T) => hashCons(opts);\n return hashC;\n}\n\n/**\n * Secure PRNG. Uses `crypto.getRandomValues`, which defers to OS.\n */\nexport function randomBytes(bytesLength = 32): Uint8Array {\n if (crypto && typeof crypto.getRandomValues === 'function') {\n return crypto.getRandomValues(new Uint8Array(bytesLength));\n }\n // Legacy Node.js compatibility\n if (crypto && typeof crypto.randomBytes === 'function') {\n return crypto.randomBytes(bytesLength);\n }\n throw new Error('crypto.getRandomValues must be defined');\n}\n", "import { exists, output } from './_assert.js';\nimport { Hash, createView, Input, toBytes } from './utils.js';\n\n/**\n * Polyfill for Safari 14\n */\nfunction setBigUint64(view: DataView, byteOffset: number, value: bigint, isLE: boolean): void {\n if (typeof view.setBigUint64 === 'function') return view.setBigUint64(byteOffset, value, isLE);\n const _32n = BigInt(32);\n const _u32_max = BigInt(0xffffffff);\n const wh = Number((value >> _32n) & _u32_max);\n const wl = Number(value & _u32_max);\n const h = isLE ? 4 : 0;\n const l = isLE ? 0 : 4;\n view.setUint32(byteOffset + h, wh, isLE);\n view.setUint32(byteOffset + l, wl, isLE);\n}\n\n/**\n * Choice: a ? b : c\n */\nexport const Chi = (a: number, b: number, c: number) => (a & b) ^ (~a & c);\n\n/**\n * Majority function, true if any two inputs is true\n */\nexport const Maj = (a: number, b: number, c: number) => (a & b) ^ (a & c) ^ (b & c);\n\n/**\n * Merkle-Damgard hash construction base class.\n * Could be used to create MD5, RIPEMD, SHA1, SHA2.\n */\nexport abstract class HashMD<T extends HashMD<T>> extends Hash<T> {\n protected abstract process(buf: DataView, offset: number): void;\n protected abstract get(): number[];\n protected abstract set(...args: number[]): void;\n abstract destroy(): void;\n protected abstract roundClean(): void;\n // For partial updates less than block size\n protected buffer: Uint8Array;\n protected view: DataView;\n protected finished = false;\n protected length = 0;\n protected pos = 0;\n protected destroyed = false;\n\n constructor(\n readonly blockLen: number,\n public outputLen: number,\n readonly padOffset: number,\n readonly isLE: boolean\n ) {\n super();\n this.buffer = new Uint8Array(blockLen);\n this.view = createView(this.buffer);\n }\n update(data: Input): this {\n exists(this);\n const { view, buffer, blockLen } = this;\n data = toBytes(data);\n const len = data.length;\n for (let pos = 0; pos < len; ) {\n const take = Math.min(blockLen - this.pos, len - pos);\n // Fast path: we have at least one block in input, cast it to view and process\n if (take === blockLen) {\n const dataView = createView(data);\n for (; blockLen <= len - pos; pos += blockLen) this.process(dataView, pos);\n continue;\n }\n buffer.set(data.subarray(pos, pos + take), this.pos);\n this.pos += take;\n pos += take;\n if (this.pos === blockLen) {\n this.process(view, 0);\n this.pos = 0;\n }\n }\n this.length += data.length;\n this.roundClean();\n return this;\n }\n digestInto(out: Uint8Array) {\n exists(this);\n output(out, this);\n this.finished = true;\n // Padding\n // We can avoid allocation of buffer for padding completely if it\n // was previously not allocated here. But it won't change performance.\n const { buffer, view, blockLen, isLE } = this;\n let { pos } = this;\n // append the bit '1' to the message\n buffer[pos++] = 0b10000000;\n this.buffer.subarray(pos).fill(0);\n // we have less than padOffset left in buffer, so we cannot put length in\n // current block, need process it and pad again\n if (this.padOffset > blockLen - pos) {\n this.process(view, 0);\n pos = 0;\n }\n // Pad until full block byte with zeros\n for (let i = pos; i < blockLen; i++) buffer[i] = 0;\n // Note: sha512 requires length to be 128bit integer, but length in JS will overflow before that\n // You need to write around 2 exabytes (u64_max / 8 / (1024**6)) for this to happen.\n // So we just write lowest 64 bits of that value.\n setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE);\n this.process(view, 0);\n const oview = createView(out);\n const len = this.outputLen;\n // NOTE: we do division by 4 later, which should be fused in single op with modulo by JIT\n if (len % 4) throw new Error('_sha2: outputLen should be aligned to 32bit');\n const outLen = len / 4;\n const state = this.get();\n if (outLen > state.length) throw new Error('_sha2: outputLen bigger than state');\n for (let i = 0; i < outLen; i++) oview.setUint32(4 * i, state[i], isLE);\n }\n digest() {\n const { buffer, outputLen } = this;\n this.digestInto(buffer);\n const res = buffer.slice(0, outputLen);\n this.destroy();\n return res;\n }\n _cloneInto(to?: T): T {\n to ||= new (this.constructor as any)() as T;\n to.set(...this.get());\n const { blockLen, buffer, length, finished, destroyed, pos } = this;\n to.length = length;\n to.pos = pos;\n to.finished = finished;\n to.destroyed = destroyed;\n if (length % blockLen) to.buffer.set(buffer);\n return to;\n }\n}\n", "import { HashMD, Chi, Maj } from './_md.js';\nimport { rotr, wrapConstructor } from './utils.js';\n\n// SHA2-256 need to try 2^128 hashes to execute birthday attack.\n// BTC network is doing 2^67 hashes/sec as per early 2023.\n\n// Round constants:\n// first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311)\n// prettier-ignore\nconst SHA256_K = /* @__PURE__ */ new Uint32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\n\n// Initial state:\n// first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19\n// prettier-ignore\nconst SHA256_IV = /* @__PURE__ */ new Uint32Array([\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n]);\n\n// Temporary buffer, not used to store anything between runs\n// Named this way because it matches specification.\nconst SHA256_W = /* @__PURE__ */ new Uint32Array(64);\nexport class SHA256 extends HashMD<SHA256> {\n // We cannot use array here since array allows indexing by variable\n // which means optimizer/compiler cannot use registers.\n A = SHA256_IV[0] | 0;\n B = SHA256_IV[1] | 0;\n C = SHA256_IV[2] | 0;\n D = SHA256_IV[3] | 0;\n E = SHA256_IV[4] | 0;\n F = SHA256_IV[5] | 0;\n G = SHA256_IV[6] | 0;\n H = SHA256_IV[7] | 0;\n\n constructor() {\n super(64, 32, 8, false);\n }\n protected get(): [number, number, number, number, number, number, number, number] {\n const { A, B, C, D, E, F, G, H } = this;\n return [A, B, C, D, E, F, G, H];\n }\n // prettier-ignore\n protected set(\n A: number, B: number, C: number, D: number, E: number, F: number, G: number, H: number\n ) {\n this.A = A | 0;\n this.B = B | 0;\n this.C = C | 0;\n this.D = D | 0;\n this.E = E | 0;\n this.F = F | 0;\n this.G = G | 0;\n this.H = H | 0;\n }\n protected process(view: DataView, offset: number): void {\n // Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array\n for (let i = 0; i < 16; i++, offset += 4) SHA256_W[i] = view.getUint32(offset, false);\n for (let i = 16; i < 64; i++) {\n const W15 = SHA256_W[i - 15];\n const W2 = SHA256_W[i - 2];\n const s0 = rotr(W15, 7) ^ rotr(W15, 18) ^ (W15 >>> 3);\n const s1 = rotr(W2, 17) ^ rotr(W2, 19) ^ (W2 >>> 10);\n SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0;\n }\n // Compression function main loop, 64 rounds\n let { A, B, C, D, E, F, G, H } = this;\n for (let i = 0; i < 64; i++) {\n const sigma1 = rotr(E, 6) ^ rotr(E, 11) ^ rotr(E, 25);\n const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;\n const sigma0 = rotr(A, 2) ^ rotr(A, 13) ^ rotr(A, 22);\n const T2 = (sigma0 + Maj(A, B, C)) | 0;\n H = G;\n G = F;\n F = E;\n E = (D + T1) | 0;\n D = C;\n C = B;\n B = A;\n A = (T1 + T2) | 0;\n }\n // Add the compressed chunk to the current hash value\n A = (A + this.A) | 0;\n B = (B + this.B) | 0;\n C = (C + this.C) | 0;\n D = (D + this.D) | 0;\n E = (E + this.E) | 0;\n F = (F + this.F) | 0;\n G = (G + this.G) | 0;\n H = (H + this.H) | 0;\n this.set(A, B, C, D, E, F, G, H);\n }\n protected roundClean() {\n SHA256_W.fill(0);\n }\n destroy() {\n this.set(0, 0, 0, 0, 0, 0, 0, 0);\n this.buffer.fill(0);\n }\n}\n// Constants from https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf\nclass SHA224 extends SHA256 {\n A = 0xc1059ed8 | 0;\n B = 0x367cd507 | 0;\n C = 0x3070dd17 | 0;\n D = 0xf70e5939 | 0;\n E = 0xffc00b31 | 0;\n F = 0x68581511 | 0;\n G = 0x64f98fa7 | 0;\n H = 0xbefa4fa4 | 0;\n constructor() {\n super();\n this.outputLen = 28;\n }\n}\n\n/**\n * SHA2-256 hash function\n * @param message - data that would be hashed\n */\nexport const sha256 = /* @__PURE__ */ wrapConstructor(() => new SHA256());\n/**\n * SHA2-224 hash function\n */\nexport const sha224 = /* @__PURE__ */ wrapConstructor(() => new SHA224());\n", "import {\n Canister,\n createServices,\n fromDefinedNullable,\n fromNullable,\n type QueryParams,\n} from \"@dfinity/utils\";\nimport type {\n BuyerState,\n GetAutoFinalizationStatusResponse,\n GetBuyerStateRequest,\n GetDerivedStateResponse,\n GetLifecycleResponse,\n GetSaleParametersResponse,\n GetStateResponse,\n RefreshBuyerTokensRequest,\n RefreshBuyerTokensResponse,\n _SERVICE as SnsSwapService,\n Ticket,\n} from \"../candid/sns_swap\";\nimport { idlFactory as certifiedIdlFactory } from \"../candid/sns_swap.certified.idl\";\nimport { idlFactory } from \"../candid/sns_swap.idl\";\nimport { toNewSaleTicketRequest } from \"./converters/swap.converters\";\nimport { UnsupportedMethodError } from \"./errors/common.errors\";\nimport {\n SnsSwapGetOpenTicketError,\n SnsSwapNewTicketError,\n} from \"./errors/swap.errors\";\nimport type { SnsCanisterOptions } from \"./types/canister.options\";\nimport type { NewSaleTicketParams } from \"./types/swap.params\";\nimport { isMethodNotSupportedError } from \"./utils/error.utils\";\n\nexport class SnsSwapCanister extends Canister<SnsSwapService> {\n static create(options: SnsCanisterOptions<SnsSwapService>) {\n const { service, certifiedService, canisterId } =\n createServices<SnsSwapService>({\n options,\n idlFactory,\n certifiedIdlFactory,\n });\n\n return new SnsSwapCanister(canisterId, service, certifiedService);\n }\n\n /**\n * Get the state of the swap\n */\n state = (params: QueryParams): Promise<GetStateResponse> =>\n this.caller(params).get_state({});\n\n /**\n * Notify of the payment failure to remove the ticket\n */\n notifyPaymentFailure = async (): Promise<Ticket | undefined> => {\n const { ticket } = await this.caller({\n certified: true,\n }).notify_payment_failure({});\n return fromNullable(ticket);\n };\n\n /**\n * Notify of the user participating in the swap\n */\n notifyParticipation = async (\n params: RefreshBuyerTokensRequest,\n ): Promise<RefreshBuyerTokensResponse> =>\n await this.caller({ certified: true }).refresh_buyer_tokens(params);\n\n /**\n * Get user commitment\n */\n getUserCommitment = async (\n params: GetBuyerStateRequest & QueryParams,\n ): Promise<BuyerState | undefined> => {\n const { buyer_state } = await this.caller({\n certified: params.certified,\n }).get_buyer_state({ principal_id: params.principal_id });\n return fromNullable(buyer_state);\n };\n\n /**\n * Get sale buyers state\n */\n getDerivedState = ({\n certified,\n }: QueryParams): Promise<GetDerivedStateResponse> =>\n this.caller({ certified }).get_derived_state({});\n\n /**\n * Get sale parameters\n */\n getSaleParameters = ({\n certified,\n }: QueryParams): Promise<GetSaleParametersResponse> =>\n this.caller({ certified }).get_sale_parameters({});\n\n /**\n * Return a sale ticket if created and not yet removed (payment flow)\n */\n getOpenTicket = async (params: QueryParams): Promise<Ticket | undefined> => {\n const { result: response } = await this.caller({\n certified: params.certified,\n }).get_open_ticket({});\n const result = fromDefinedNullable(response);\n\n if (\"Ok\" in result) {\n return fromNullable(result.Ok.ticket);\n }\n\n const errorType = fromDefinedNullable(result?.Err?.error_type);\n throw new SnsSwapGetOpenTicketError(errorType);\n };\n\n /**\n * Create a sale ticket (payment flow)\n */\n newSaleTicket = async (params: NewSaleTicketParams): Promise<Ticket> => {\n const request = toNewSaleTicketRequest(params);\n const { result: response } = await this.caller({\n certified: true,\n }).new_sale_ticket(request);\n\n const result = fromDefinedNullable(response);\n\n if (\"Ok\" in result) {\n return fromDefinedNullable(result.Ok.ticket);\n }\n\n const errorData = result.Err;\n const error = new SnsSwapNewTicketError({\n errorType: errorData.error_type,\n invalidUserAmount: fromNullable(errorData.invalid_user_amount ?? []),\n existingTicket: fromNullable(errorData.existing_ticket ?? []),\n });\n\n throw error;\n };\n\n /**\n * Get sale lifecycle state\n */\n getLifecycle = (params: QueryParams): Promise<GetLifecycleResponse> =>\n this.caller(params).get_lifecycle({});\n\n /**\n * Get sale lifecycle state\n */\n getFinalizationStatus = async (\n params: QueryParams,\n ): Promise<GetAutoFinalizationStatusResponse> => {\n try {\n return await this.caller(params).get_auto_finalization_status({});\n } catch (error) {\n // Throw a custom error if the method is not supported by the canister\n if (isMethodNotSupportedError(error)) {\n throw new UnsupportedMethodError(\"getFinalizationStatus\");\n }\n throw error;\n }\n };\n}\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_swap.did */\nexport const idlFactory = ({ IDL }) => {\n const NeuronBasketConstructionParameters = IDL.Record({\n 'dissolve_delay_interval_seconds' : IDL.Nat64,\n 'count' : IDL.Nat64,\n });\n const LinearScalingCoefficient = IDL.Record({\n 'slope_numerator' : IDL.Opt(IDL.Nat64),\n 'intercept_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'from_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'slope_denominator' : IDL.Opt(IDL.Nat64),\n 'to_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n });\n const IdealMatchedParticipationFunction = IDL.Record({\n 'serialized_representation' : IDL.Opt(IDL.Text),\n });\n const NeuronsFundParticipationConstraints = IDL.Record({\n 'coefficient_intervals' : IDL.Vec(LinearScalingCoefficient),\n 'max_neurons_fund_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'min_direct_participation_threshold_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'ideal_matched_participation_function' : IDL.Opt(\n IdealMatchedParticipationFunction\n ),\n });\n const Countries = IDL.Record({ 'iso_codes' : IDL.Vec(IDL.Text) });\n const Init = IDL.Record({\n 'nns_proposal_id' : IDL.Opt(IDL.Nat64),\n 'sns_root_canister_id' : IDL.Text,\n 'neurons_fund_participation' : IDL.Opt(IDL.Bool),\n 'min_participant_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'neuron_basket_construction_parameters' : IDL.Opt(\n NeuronBasketConstructionParameters\n ),\n 'fallback_controller_principal_ids' : IDL.Vec(IDL.Text),\n 'max_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'confirmation_text' : IDL.Opt(IDL.Text),\n 'swap_start_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'swap_due_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'min_participants' : IDL.Opt(IDL.Nat32),\n 'sns_token_e8s' : IDL.Opt(IDL.Nat64),\n 'nns_governance_canister_id' : IDL.Text,\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'icp_ledger_canister_id' : IDL.Text,\n 'sns_ledger_canister_id' : IDL.Text,\n 'neurons_fund_participation_constraints' : IDL.Opt(\n NeuronsFundParticipationConstraints\n ),\n 'should_auto_finalize' : IDL.Opt(IDL.Bool),\n 'max_participant_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'sns_governance_canister_id' : IDL.Text,\n 'min_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'restricted_countries' : IDL.Opt(Countries),\n 'min_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'max_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n });\n const ErrorRefundIcpRequest = IDL.Record({\n 'source_principal_id' : IDL.Opt(IDL.Principal),\n });\n const Ok = IDL.Record({ 'block_height' : IDL.Opt(IDL.Nat64) });\n const Err = IDL.Record({\n 'description' : IDL.Opt(IDL.Text),\n 'error_type' : IDL.Opt(IDL.Int32),\n });\n const Result = IDL.Variant({ 'Ok' : Ok, 'Err' : Err });\n const ErrorRefundIcpResponse = IDL.Record({ 'result' : IDL.Opt(Result) });\n const CanisterCallError = IDL.Record({\n 'code' : IDL.Opt(IDL.Int32),\n 'description' : IDL.Text,\n });\n const FailedUpdate = IDL.Record({\n 'err' : IDL.Opt(CanisterCallError),\n 'dapp_canister_id' : IDL.Opt(IDL.Principal),\n });\n const SetDappControllersResponse = IDL.Record({\n 'failed_updates' : IDL.Vec(FailedUpdate),\n });\n const Possibility = IDL.Variant({\n 'Ok' : SetDappControllersResponse,\n 'Err' : CanisterCallError,\n });\n const SetDappControllersCallResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility),\n });\n const SweepResult = IDL.Record({\n 'failure' : IDL.Nat32,\n 'skipped' : IDL.Nat32,\n 'invalid' : IDL.Nat32,\n 'success' : IDL.Nat32,\n 'global_failures' : IDL.Nat32,\n });\n const GovernanceError = IDL.Record({\n 'error_message' : IDL.Text,\n 'error_type' : IDL.Int32,\n });\n const Response = IDL.Record({\n 'governance_error' : IDL.Opt(GovernanceError),\n });\n const Possibility_1 = IDL.Variant({\n 'Ok' : Response,\n 'Err' : CanisterCallError,\n });\n const SettleCommunityFundParticipationResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility_1),\n });\n const Ok_1 = IDL.Record({\n 'neurons_fund_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'neurons_fund_neurons_count' : IDL.Opt(IDL.Nat64),\n });\n const Error = IDL.Record({ 'message' : IDL.Opt(IDL.Text) });\n const Possibility_2 = IDL.Variant({ 'Ok' : Ok_1, 'Err' : Error });\n const SettleNeuronsFundParticipationResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility_2),\n });\n const Possibility_3 = IDL.Variant({\n 'Ok' : IDL.Record({}),\n 'Err' : CanisterCallError,\n });\n const SetModeCallResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility_3),\n });\n const FinalizeSwapResponse = IDL.Record({\n 'set_dapp_controllers_call_result' : IDL.Opt(SetDappControllersCallResult),\n 'create_sns_neuron_recipes_result' : IDL.Opt(SweepResult),\n 'settle_community_fund_participation_result' : IDL.Opt(\n SettleCommunityFundParticipationResult\n ),\n 'error_message' : IDL.Opt(IDL.Text),\n 'settle_neurons_fund_participation_result' : IDL.Opt(\n SettleNeuronsFundParticipationResult\n ),\n 'set_mode_call_result' : IDL.Opt(SetModeCallResult),\n 'sweep_icp_result' : IDL.Opt(SweepResult),\n 'claim_neuron_result' : IDL.Opt(SweepResult),\n 'sweep_sns_result' : IDL.Opt(SweepResult),\n });\n const GetAutoFinalizationStatusResponse = IDL.Record({\n 'auto_finalize_swap_response' : IDL.Opt(FinalizeSwapResponse),\n 'has_auto_finalize_been_attempted' : IDL.Opt(IDL.Bool),\n 'is_auto_finalize_enabled' : IDL.Opt(IDL.Bool),\n });\n const GetBuyerStateRequest = IDL.Record({\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const TransferableAmount = IDL.Record({\n 'transfer_fee_paid_e8s' : IDL.Opt(IDL.Nat64),\n 'transfer_start_timestamp_seconds' : IDL.Nat64,\n 'amount_e8s' : IDL.Nat64,\n 'amount_transferred_e8s' : IDL.Opt(IDL.Nat64),\n 'transfer_success_timestamp_seconds' : IDL.Nat64,\n });\n const BuyerState = IDL.Record({\n 'icp' : IDL.Opt(TransferableAmount),\n 'has_created_neuron_recipes' : IDL.Opt(IDL.Bool),\n });\n const GetBuyerStateResponse = IDL.Record({\n 'buyer_state' : IDL.Opt(BuyerState),\n });\n const GetBuyersTotalResponse = IDL.Record({ 'buyers_total' : IDL.Nat64 });\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 '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 GetDerivedStateResponse = IDL.Record({\n 'sns_tokens_per_icp' : IDL.Opt(IDL.Float64),\n 'buyer_total_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'cf_participant_count' : IDL.Opt(IDL.Nat64),\n 'neurons_fund_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'direct_participant_count' : IDL.Opt(IDL.Nat64),\n 'cf_neuron_count' : IDL.Opt(IDL.Nat64),\n });\n const GetInitResponse = IDL.Record({ 'init' : IDL.Opt(Init) });\n const GetLifecycleResponse = IDL.Record({\n 'decentralization_sale_open_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'lifecycle' : IDL.Opt(IDL.Int32),\n 'decentralization_swap_termination_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Icrc1Account = IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const Ticket = IDL.Record({\n 'creation_time' : IDL.Nat64,\n 'ticket_id' : IDL.Nat64,\n 'account' : IDL.Opt(Icrc1Account),\n 'amount_icp_e8s' : IDL.Nat64,\n });\n const Ok_2 = IDL.Record({ 'ticket' : IDL.Opt(Ticket) });\n const Err_1 = IDL.Record({ 'error_type' : IDL.Opt(IDL.Int32) });\n const Result_1 = IDL.Variant({ 'Ok' : Ok_2, 'Err' : Err_1 });\n const GetOpenTicketResponse = IDL.Record({ 'result' : IDL.Opt(Result_1) });\n const Params = IDL.Record({\n 'min_participant_icp_e8s' : IDL.Nat64,\n 'neuron_basket_construction_parameters' : IDL.Opt(\n NeuronBasketConstructionParameters\n ),\n 'max_icp_e8s' : IDL.Nat64,\n 'swap_due_timestamp_seconds' : IDL.Nat64,\n 'min_participants' : IDL.Nat32,\n 'sns_token_e8s' : IDL.Nat64,\n 'sale_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'max_participant_icp_e8s' : IDL.Nat64,\n 'min_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'min_icp_e8s' : IDL.Nat64,\n 'max_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n });\n const GetSaleParametersResponse = IDL.Record({ 'params' : IDL.Opt(Params) });\n const NeuronId = IDL.Record({ 'id' : IDL.Vec(IDL.Nat8) });\n const NeuronAttributes = IDL.Record({\n 'dissolve_delay_seconds' : IDL.Nat64,\n 'memo' : IDL.Nat64,\n 'followees' : IDL.Vec(NeuronId),\n });\n const Principals = IDL.Record({ 'principals' : IDL.Vec(IDL.Principal) });\n const CfInvestment = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'hotkey_principal' : IDL.Text,\n 'hotkeys' : IDL.Opt(Principals),\n 'nns_neuron_id' : IDL.Nat64,\n });\n const DirectInvestment = IDL.Record({ 'buyer_principal' : IDL.Text });\n const Investor = IDL.Variant({\n 'CommunityFund' : CfInvestment,\n 'Direct' : DirectInvestment,\n });\n const SnsNeuronRecipe = IDL.Record({\n 'sns' : IDL.Opt(TransferableAmount),\n 'claimed_status' : IDL.Opt(IDL.Int32),\n 'neuron_attributes' : IDL.Opt(NeuronAttributes),\n 'investor' : IDL.Opt(Investor),\n });\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 CfNeuron = IDL.Record({\n 'has_created_neuron_recipes' : IDL.Opt(IDL.Bool),\n 'hotkeys' : IDL.Opt(Principals),\n 'nns_neuron_id' : IDL.Nat64,\n 'amount_icp_e8s' : IDL.Nat64,\n });\n const CfParticipant = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'hotkey_principal' : IDL.Text,\n 'cf_neurons' : IDL.Vec(CfNeuron),\n });\n const Swap = IDL.Record({\n 'auto_finalize_swap_response' : IDL.Opt(FinalizeSwapResponse),\n 'neuron_recipes' : IDL.Vec(SnsNeuronRecipe),\n 'next_ticket_id' : IDL.Opt(IDL.Nat64),\n 'decentralization_sale_open_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'finalize_swap_in_progress' : IDL.Opt(IDL.Bool),\n 'timers' : IDL.Opt(Timers),\n 'cf_participants' : IDL.Vec(CfParticipant),\n 'init' : IDL.Opt(Init),\n 'already_tried_to_auto_finalize' : IDL.Opt(IDL.Bool),\n 'neurons_fund_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'purge_old_tickets_last_completion_timestamp_nanoseconds' : IDL.Opt(\n IDL.Nat64\n ),\n 'direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'lifecycle' : IDL.Int32,\n 'purge_old_tickets_next_principal' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'decentralization_swap_termination_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'buyers' : IDL.Vec(IDL.Tuple(IDL.Text, BuyerState)),\n 'params' : IDL.Opt(Params),\n 'open_sns_token_swap_proposal_id' : IDL.Opt(IDL.Nat64),\n });\n const DerivedState = IDL.Record({\n 'sns_tokens_per_icp' : IDL.Float32,\n 'buyer_total_icp_e8s' : IDL.Nat64,\n 'cf_participant_count' : IDL.Opt(IDL.Nat64),\n 'neurons_fund_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'direct_participant_count' : IDL.Opt(IDL.Nat64),\n 'cf_neuron_count' : IDL.Opt(IDL.Nat64),\n });\n const GetStateResponse = IDL.Record({\n 'swap' : IDL.Opt(Swap),\n 'derived' : IDL.Opt(DerivedState),\n });\n const GetTimersResponse = IDL.Record({ 'timers' : IDL.Opt(Timers) });\n const ListCommunityFundParticipantsRequest = IDL.Record({\n 'offset' : IDL.Opt(IDL.Nat64),\n 'limit' : IDL.Opt(IDL.Nat32),\n });\n const ListCommunityFundParticipantsResponse = IDL.Record({\n 'cf_participants' : IDL.Vec(CfParticipant),\n });\n const ListDirectParticipantsRequest = IDL.Record({\n 'offset' : IDL.Opt(IDL.Nat32),\n 'limit' : IDL.Opt(IDL.Nat32),\n });\n const Participant = IDL.Record({\n 'participation' : IDL.Opt(BuyerState),\n 'participant_id' : IDL.Opt(IDL.Principal),\n });\n const ListDirectParticipantsResponse = IDL.Record({\n 'participants' : IDL.Vec(Participant),\n });\n const ListSnsNeuronRecipesRequest = IDL.Record({\n 'offset' : IDL.Opt(IDL.Nat64),\n 'limit' : IDL.Opt(IDL.Nat32),\n });\n const ListSnsNeuronRecipesResponse = IDL.Record({\n 'sns_neuron_recipes' : IDL.Vec(SnsNeuronRecipe),\n });\n const NewSaleTicketRequest = IDL.Record({\n 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'amount_icp_e8s' : IDL.Nat64,\n });\n const InvalidUserAmount = IDL.Record({\n 'min_amount_icp_e8s_included' : IDL.Nat64,\n 'max_amount_icp_e8s_included' : IDL.Nat64,\n });\n const Err_2 = IDL.Record({\n 'invalid_user_amount' : IDL.Opt(InvalidUserAmount),\n 'existing_ticket' : IDL.Opt(Ticket),\n 'error_type' : IDL.Int32,\n });\n const Result_2 = IDL.Variant({ 'Ok' : Ok_2, 'Err' : Err_2 });\n const NewSaleTicketResponse = IDL.Record({ 'result' : IDL.Opt(Result_2) });\n const RefreshBuyerTokensRequest = IDL.Record({\n 'confirmation_text' : IDL.Opt(IDL.Text),\n 'buyer' : IDL.Text,\n });\n const RefreshBuyerTokensResponse = IDL.Record({\n 'icp_accepted_participation_e8s' : IDL.Nat64,\n 'icp_ledger_account_balance_e8s' : IDL.Nat64,\n });\n return IDL.Service({\n 'error_refund_icp' : IDL.Func(\n [ErrorRefundIcpRequest],\n [ErrorRefundIcpResponse],\n [],\n ),\n 'finalize_swap' : IDL.Func([IDL.Record({})], [FinalizeSwapResponse], []),\n 'get_auto_finalization_status' : IDL.Func(\n [IDL.Record({})],\n [GetAutoFinalizationStatusResponse],\n [],\n ),\n 'get_buyer_state' : IDL.Func(\n [GetBuyerStateRequest],\n [GetBuyerStateResponse],\n [],\n ),\n 'get_buyers_total' : IDL.Func(\n [IDL.Record({})],\n [GetBuyersTotalResponse],\n [],\n ),\n 'get_canister_status' : IDL.Func(\n [IDL.Record({})],\n [CanisterStatusResultV2],\n [],\n ),\n 'get_derived_state' : IDL.Func(\n [IDL.Record({})],\n [GetDerivedStateResponse],\n [],\n ),\n 'get_init' : IDL.Func([IDL.Record({})], [GetInitResponse], []),\n 'get_lifecycle' : IDL.Func([IDL.Record({})], [GetLifecycleResponse], []),\n 'get_open_ticket' : IDL.Func([IDL.Record({})], [GetOpenTicketResponse], []),\n 'get_sale_parameters' : IDL.Func(\n [IDL.Record({})],\n [GetSaleParametersResponse],\n [],\n ),\n 'get_state' : IDL.Func([IDL.Record({})], [GetStateResponse], []),\n 'get_timers' : IDL.Func([IDL.Record({})], [GetTimersResponse], []),\n 'list_community_fund_participants' : IDL.Func(\n [ListCommunityFundParticipantsRequest],\n [ListCommunityFundParticipantsResponse],\n [],\n ),\n 'list_direct_participants' : IDL.Func(\n [ListDirectParticipantsRequest],\n [ListDirectParticipantsResponse],\n [],\n ),\n 'list_sns_neuron_recipes' : IDL.Func(\n [ListSnsNeuronRecipesRequest],\n [ListSnsNeuronRecipesResponse],\n [],\n ),\n 'new_sale_ticket' : IDL.Func(\n [NewSaleTicketRequest],\n [NewSaleTicketResponse],\n [],\n ),\n 'notify_payment_failure' : IDL.Func([IDL.Record({})], [Ok_2], []),\n 'refresh_buyer_tokens' : IDL.Func(\n [RefreshBuyerTokensRequest],\n [RefreshBuyerTokensResponse],\n [],\n ),\n 'reset_timers' : IDL.Func([IDL.Record({})], [IDL.Record({})], []),\n });\n};\nexport const init = ({ IDL }) => {\n const NeuronBasketConstructionParameters = IDL.Record({\n 'dissolve_delay_interval_seconds' : IDL.Nat64,\n 'count' : IDL.Nat64,\n });\n const LinearScalingCoefficient = IDL.Record({\n 'slope_numerator' : IDL.Opt(IDL.Nat64),\n 'intercept_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'from_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'slope_denominator' : IDL.Opt(IDL.Nat64),\n 'to_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n });\n const IdealMatchedParticipationFunction = IDL.Record({\n 'serialized_representation' : IDL.Opt(IDL.Text),\n });\n const NeuronsFundParticipationConstraints = IDL.Record({\n 'coefficient_intervals' : IDL.Vec(LinearScalingCoefficient),\n 'max_neurons_fund_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'min_direct_participation_threshold_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'ideal_matched_participation_function' : IDL.Opt(\n IdealMatchedParticipationFunction\n ),\n });\n const Countries = IDL.Record({ 'iso_codes' : IDL.Vec(IDL.Text) });\n const Init = IDL.Record({\n 'nns_proposal_id' : IDL.Opt(IDL.Nat64),\n 'sns_root_canister_id' : IDL.Text,\n 'neurons_fund_participation' : IDL.Opt(IDL.Bool),\n 'min_participant_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'neuron_basket_construction_parameters' : IDL.Opt(\n NeuronBasketConstructionParameters\n ),\n 'fallback_controller_principal_ids' : IDL.Vec(IDL.Text),\n 'max_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'confirmation_text' : IDL.Opt(IDL.Text),\n 'swap_start_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'swap_due_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'min_participants' : IDL.Opt(IDL.Nat32),\n 'sns_token_e8s' : IDL.Opt(IDL.Nat64),\n 'nns_governance_canister_id' : IDL.Text,\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'icp_ledger_canister_id' : IDL.Text,\n 'sns_ledger_canister_id' : IDL.Text,\n 'neurons_fund_participation_constraints' : IDL.Opt(\n NeuronsFundParticipationConstraints\n ),\n 'should_auto_finalize' : IDL.Opt(IDL.Bool),\n 'max_participant_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'sns_governance_canister_id' : IDL.Text,\n 'min_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'restricted_countries' : IDL.Opt(Countries),\n 'min_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'max_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n });\n return [Init];\n};\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_swap.did */\nexport const idlFactory = ({ IDL }) => {\n const NeuronBasketConstructionParameters = IDL.Record({\n 'dissolve_delay_interval_seconds' : IDL.Nat64,\n 'count' : IDL.Nat64,\n });\n const LinearScalingCoefficient = IDL.Record({\n 'slope_numerator' : IDL.Opt(IDL.Nat64),\n 'intercept_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'from_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'slope_denominator' : IDL.Opt(IDL.Nat64),\n 'to_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n });\n const IdealMatchedParticipationFunction = IDL.Record({\n 'serialized_representation' : IDL.Opt(IDL.Text),\n });\n const NeuronsFundParticipationConstraints = IDL.Record({\n 'coefficient_intervals' : IDL.Vec(LinearScalingCoefficient),\n 'max_neurons_fund_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'min_direct_participation_threshold_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'ideal_matched_participation_function' : IDL.Opt(\n IdealMatchedParticipationFunction\n ),\n });\n const Countries = IDL.Record({ 'iso_codes' : IDL.Vec(IDL.Text) });\n const Init = IDL.Record({\n 'nns_proposal_id' : IDL.Opt(IDL.Nat64),\n 'sns_root_canister_id' : IDL.Text,\n 'neurons_fund_participation' : IDL.Opt(IDL.Bool),\n 'min_participant_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'neuron_basket_construction_parameters' : IDL.Opt(\n NeuronBasketConstructionParameters\n ),\n 'fallback_controller_principal_ids' : IDL.Vec(IDL.Text),\n 'max_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'confirmation_text' : IDL.Opt(IDL.Text),\n 'swap_start_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'swap_due_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'min_participants' : IDL.Opt(IDL.Nat32),\n 'sns_token_e8s' : IDL.Opt(IDL.Nat64),\n 'nns_governance_canister_id' : IDL.Text,\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'icp_ledger_canister_id' : IDL.Text,\n 'sns_ledger_canister_id' : IDL.Text,\n 'neurons_fund_participation_constraints' : IDL.Opt(\n NeuronsFundParticipationConstraints\n ),\n 'should_auto_finalize' : IDL.Opt(IDL.Bool),\n 'max_participant_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'sns_governance_canister_id' : IDL.Text,\n 'min_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'restricted_countries' : IDL.Opt(Countries),\n 'min_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'max_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n });\n const ErrorRefundIcpRequest = IDL.Record({\n 'source_principal_id' : IDL.Opt(IDL.Principal),\n });\n const Ok = IDL.Record({ 'block_height' : IDL.Opt(IDL.Nat64) });\n const Err = IDL.Record({\n 'description' : IDL.Opt(IDL.Text),\n 'error_type' : IDL.Opt(IDL.Int32),\n });\n const Result = IDL.Variant({ 'Ok' : Ok, 'Err' : Err });\n const ErrorRefundIcpResponse = IDL.Record({ 'result' : IDL.Opt(Result) });\n const CanisterCallError = IDL.Record({\n 'code' : IDL.Opt(IDL.Int32),\n 'description' : IDL.Text,\n });\n const FailedUpdate = IDL.Record({\n 'err' : IDL.Opt(CanisterCallError),\n 'dapp_canister_id' : IDL.Opt(IDL.Principal),\n });\n const SetDappControllersResponse = IDL.Record({\n 'failed_updates' : IDL.Vec(FailedUpdate),\n });\n const Possibility = IDL.Variant({\n 'Ok' : SetDappControllersResponse,\n 'Err' : CanisterCallError,\n });\n const SetDappControllersCallResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility),\n });\n const SweepResult = IDL.Record({\n 'failure' : IDL.Nat32,\n 'skipped' : IDL.Nat32,\n 'invalid' : IDL.Nat32,\n 'success' : IDL.Nat32,\n 'global_failures' : IDL.Nat32,\n });\n const GovernanceError = IDL.Record({\n 'error_message' : IDL.Text,\n 'error_type' : IDL.Int32,\n });\n const Response = IDL.Record({\n 'governance_error' : IDL.Opt(GovernanceError),\n });\n const Possibility_1 = IDL.Variant({\n 'Ok' : Response,\n 'Err' : CanisterCallError,\n });\n const SettleCommunityFundParticipationResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility_1),\n });\n const Ok_1 = IDL.Record({\n 'neurons_fund_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'neurons_fund_neurons_count' : IDL.Opt(IDL.Nat64),\n });\n const Error = IDL.Record({ 'message' : IDL.Opt(IDL.Text) });\n const Possibility_2 = IDL.Variant({ 'Ok' : Ok_1, 'Err' : Error });\n const SettleNeuronsFundParticipationResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility_2),\n });\n const Possibility_3 = IDL.Variant({\n 'Ok' : IDL.Record({}),\n 'Err' : CanisterCallError,\n });\n const SetModeCallResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility_3),\n });\n const FinalizeSwapResponse = IDL.Record({\n 'set_dapp_controllers_call_result' : IDL.Opt(SetDappControllersCallResult),\n 'create_sns_neuron_recipes_result' : IDL.Opt(SweepResult),\n 'settle_community_fund_participation_result' : IDL.Opt(\n SettleCommunityFundParticipationResult\n ),\n 'error_message' : IDL.Opt(IDL.Text),\n 'settle_neurons_fund_participation_result' : IDL.Opt(\n SettleNeuronsFundParticipationResult\n ),\n 'set_mode_call_result' : IDL.Opt(SetModeCallResult),\n 'sweep_icp_result' : IDL.Opt(SweepResult),\n 'claim_neuron_result' : IDL.Opt(SweepResult),\n 'sweep_sns_result' : IDL.Opt(SweepResult),\n });\n const GetAutoFinalizationStatusResponse = IDL.Record({\n 'auto_finalize_swap_response' : IDL.Opt(FinalizeSwapResponse),\n 'has_auto_finalize_been_attempted' : IDL.Opt(IDL.Bool),\n 'is_auto_finalize_enabled' : IDL.Opt(IDL.Bool),\n });\n const GetBuyerStateRequest = IDL.Record({\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const TransferableAmount = IDL.Record({\n 'transfer_fee_paid_e8s' : IDL.Opt(IDL.Nat64),\n 'transfer_start_timestamp_seconds' : IDL.Nat64,\n 'amount_e8s' : IDL.Nat64,\n 'amount_transferred_e8s' : IDL.Opt(IDL.Nat64),\n 'transfer_success_timestamp_seconds' : IDL.Nat64,\n });\n const BuyerState = IDL.Record({\n 'icp' : IDL.Opt(TransferableAmount),\n 'has_created_neuron_recipes' : IDL.Opt(IDL.Bool),\n });\n const GetBuyerStateResponse = IDL.Record({\n 'buyer_state' : IDL.Opt(BuyerState),\n });\n const GetBuyersTotalResponse = IDL.Record({ 'buyers_total' : IDL.Nat64 });\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 '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 GetDerivedStateResponse = IDL.Record({\n 'sns_tokens_per_icp' : IDL.Opt(IDL.Float64),\n 'buyer_total_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'cf_participant_count' : IDL.Opt(IDL.Nat64),\n 'neurons_fund_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'direct_participant_count' : IDL.Opt(IDL.Nat64),\n 'cf_neuron_count' : IDL.Opt(IDL.Nat64),\n });\n const GetInitResponse = IDL.Record({ 'init' : IDL.Opt(Init) });\n const GetLifecycleResponse = IDL.Record({\n 'decentralization_sale_open_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'lifecycle' : IDL.Opt(IDL.Int32),\n 'decentralization_swap_termination_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Icrc1Account = IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const Ticket = IDL.Record({\n 'creation_time' : IDL.Nat64,\n 'ticket_id' : IDL.Nat64,\n 'account' : IDL.Opt(Icrc1Account),\n 'amount_icp_e8s' : IDL.Nat64,\n });\n const Ok_2 = IDL.Record({ 'ticket' : IDL.Opt(Ticket) });\n const Err_1 = IDL.Record({ 'error_type' : IDL.Opt(IDL.Int32) });\n const Result_1 = IDL.Variant({ 'Ok' : Ok_2, 'Err' : Err_1 });\n const GetOpenTicketResponse = IDL.Record({ 'result' : IDL.Opt(Result_1) });\n const Params = IDL.Record({\n 'min_participant_icp_e8s' : IDL.Nat64,\n 'neuron_basket_construction_parameters' : IDL.Opt(\n NeuronBasketConstructionParameters\n ),\n 'max_icp_e8s' : IDL.Nat64,\n 'swap_due_timestamp_seconds' : IDL.Nat64,\n 'min_participants' : IDL.Nat32,\n 'sns_token_e8s' : IDL.Nat64,\n 'sale_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'max_participant_icp_e8s' : IDL.Nat64,\n 'min_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'min_icp_e8s' : IDL.Nat64,\n 'max_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n });\n const GetSaleParametersResponse = IDL.Record({ 'params' : IDL.Opt(Params) });\n const NeuronId = IDL.Record({ 'id' : IDL.Vec(IDL.Nat8) });\n const NeuronAttributes = IDL.Record({\n 'dissolve_delay_seconds' : IDL.Nat64,\n 'memo' : IDL.Nat64,\n 'followees' : IDL.Vec(NeuronId),\n });\n const Principals = IDL.Record({ 'principals' : IDL.Vec(IDL.Principal) });\n const CfInvestment = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'hotkey_principal' : IDL.Text,\n 'hotkeys' : IDL.Opt(Principals),\n 'nns_neuron_id' : IDL.Nat64,\n });\n const DirectInvestment = IDL.Record({ 'buyer_principal' : IDL.Text });\n const Investor = IDL.Variant({\n 'CommunityFund' : CfInvestment,\n 'Direct' : DirectInvestment,\n });\n const SnsNeuronRecipe = IDL.Record({\n 'sns' : IDL.Opt(TransferableAmount),\n 'claimed_status' : IDL.Opt(IDL.Int32),\n 'neuron_attributes' : IDL.Opt(NeuronAttributes),\n 'investor' : IDL.Opt(Investor),\n });\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 CfNeuron = IDL.Record({\n 'has_created_neuron_recipes' : IDL.Opt(IDL.Bool),\n 'hotkeys' : IDL.Opt(Principals),\n 'nns_neuron_id' : IDL.Nat64,\n 'amount_icp_e8s' : IDL.Nat64,\n });\n const CfParticipant = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'hotkey_principal' : IDL.Text,\n 'cf_neurons' : IDL.Vec(CfNeuron),\n });\n const Swap = IDL.Record({\n 'auto_finalize_swap_response' : IDL.Opt(FinalizeSwapResponse),\n 'neuron_recipes' : IDL.Vec(SnsNeuronRecipe),\n 'next_ticket_id' : IDL.Opt(IDL.Nat64),\n 'decentralization_sale_open_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'finalize_swap_in_progress' : IDL.Opt(IDL.Bool),\n 'timers' : IDL.Opt(Timers),\n 'cf_participants' : IDL.Vec(CfParticipant),\n 'init' : IDL.Opt(Init),\n 'already_tried_to_auto_finalize' : IDL.Opt(IDL.Bool),\n 'neurons_fund_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'purge_old_tickets_last_completion_timestamp_nanoseconds' : IDL.Opt(\n IDL.Nat64\n ),\n 'direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'lifecycle' : IDL.Int32,\n 'purge_old_tickets_next_principal' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'decentralization_swap_termination_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'buyers' : IDL.Vec(IDL.Tuple(IDL.Text, BuyerState)),\n 'params' : IDL.Opt(Params),\n 'open_sns_token_swap_proposal_id' : IDL.Opt(IDL.Nat64),\n });\n const DerivedState = IDL.Record({\n 'sns_tokens_per_icp' : IDL.Float32,\n 'buyer_total_icp_e8s' : IDL.Nat64,\n 'cf_participant_count' : IDL.Opt(IDL.Nat64),\n 'neurons_fund_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'direct_participant_count' : IDL.Opt(IDL.Nat64),\n 'cf_neuron_count' : IDL.Opt(IDL.Nat64),\n });\n const GetStateResponse = IDL.Record({\n 'swap' : IDL.Opt(Swap),\n 'derived' : IDL.Opt(DerivedState),\n });\n const GetTimersResponse = IDL.Record({ 'timers' : IDL.Opt(Timers) });\n const ListCommunityFundParticipantsRequest = IDL.Record({\n 'offset' : IDL.Opt(IDL.Nat64),\n 'limit' : IDL.Opt(IDL.Nat32),\n });\n const ListCommunityFundParticipantsResponse = IDL.Record({\n 'cf_participants' : IDL.Vec(CfParticipant),\n });\n const ListDirectParticipantsRequest = IDL.Record({\n 'offset' : IDL.Opt(IDL.Nat32),\n 'limit' : IDL.Opt(IDL.Nat32),\n });\n const Participant = IDL.Record({\n 'participation' : IDL.Opt(BuyerState),\n 'participant_id' : IDL.Opt(IDL.Principal),\n });\n const ListDirectParticipantsResponse = IDL.Record({\n 'participants' : IDL.Vec(Participant),\n });\n const ListSnsNeuronRecipesRequest = IDL.Record({\n 'offset' : IDL.Opt(IDL.Nat64),\n 'limit' : IDL.Opt(IDL.Nat32),\n });\n const ListSnsNeuronRecipesResponse = IDL.Record({\n 'sns_neuron_recipes' : IDL.Vec(SnsNeuronRecipe),\n });\n const NewSaleTicketRequest = IDL.Record({\n 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'amount_icp_e8s' : IDL.Nat64,\n });\n const InvalidUserAmount = IDL.Record({\n 'min_amount_icp_e8s_included' : IDL.Nat64,\n 'max_amount_icp_e8s_included' : IDL.Nat64,\n });\n const Err_2 = IDL.Record({\n 'invalid_user_amount' : IDL.Opt(InvalidUserAmount),\n 'existing_ticket' : IDL.Opt(Ticket),\n 'error_type' : IDL.Int32,\n });\n const Result_2 = IDL.Variant({ 'Ok' : Ok_2, 'Err' : Err_2 });\n const NewSaleTicketResponse = IDL.Record({ 'result' : IDL.Opt(Result_2) });\n const RefreshBuyerTokensRequest = IDL.Record({\n 'confirmation_text' : IDL.Opt(IDL.Text),\n 'buyer' : IDL.Text,\n });\n const RefreshBuyerTokensResponse = IDL.Record({\n 'icp_accepted_participation_e8s' : IDL.Nat64,\n 'icp_ledger_account_balance_e8s' : IDL.Nat64,\n });\n return IDL.Service({\n 'error_refund_icp' : IDL.Func(\n [ErrorRefundIcpRequest],\n [ErrorRefundIcpResponse],\n [],\n ),\n 'finalize_swap' : IDL.Func([IDL.Record({})], [FinalizeSwapResponse], []),\n 'get_auto_finalization_status' : IDL.Func(\n [IDL.Record({})],\n [GetAutoFinalizationStatusResponse],\n ['query'],\n ),\n 'get_buyer_state' : IDL.Func(\n [GetBuyerStateRequest],\n [GetBuyerStateResponse],\n ['query'],\n ),\n 'get_buyers_total' : IDL.Func(\n [IDL.Record({})],\n [GetBuyersTotalResponse],\n [],\n ),\n 'get_canister_status' : IDL.Func(\n [IDL.Record({})],\n [CanisterStatusResultV2],\n [],\n ),\n 'get_derived_state' : IDL.Func(\n [IDL.Record({})],\n [GetDerivedStateResponse],\n ['query'],\n ),\n 'get_init' : IDL.Func([IDL.Record({})], [GetInitResponse], ['query']),\n 'get_lifecycle' : IDL.Func(\n [IDL.Record({})],\n [GetLifecycleResponse],\n ['query'],\n ),\n 'get_open_ticket' : IDL.Func(\n [IDL.Record({})],\n [GetOpenTicketResponse],\n ['query'],\n ),\n 'get_sale_parameters' : IDL.Func(\n [IDL.Record({})],\n [GetSaleParametersResponse],\n ['query'],\n ),\n 'get_state' : IDL.Func([IDL.Record({})], [GetStateResponse], ['query']),\n 'get_timers' : IDL.Func([IDL.Record({})], [GetTimersResponse], ['query']),\n 'list_community_fund_participants' : IDL.Func(\n [ListCommunityFundParticipantsRequest],\n [ListCommunityFundParticipantsResponse],\n ['query'],\n ),\n 'list_direct_participants' : IDL.Func(\n [ListDirectParticipantsRequest],\n [ListDirectParticipantsResponse],\n ['query'],\n ),\n 'list_sns_neuron_recipes' : IDL.Func(\n [ListSnsNeuronRecipesRequest],\n [ListSnsNeuronRecipesResponse],\n ['query'],\n ),\n 'new_sale_ticket' : IDL.Func(\n [NewSaleTicketRequest],\n [NewSaleTicketResponse],\n [],\n ),\n 'notify_payment_failure' : IDL.Func([IDL.Record({})], [Ok_2], []),\n 'refresh_buyer_tokens' : IDL.Func(\n [RefreshBuyerTokensRequest],\n [RefreshBuyerTokensResponse],\n [],\n ),\n 'reset_timers' : IDL.Func([IDL.Record({})], [IDL.Record({})], []),\n });\n};\nexport const init = ({ IDL }) => {\n const NeuronBasketConstructionParameters = IDL.Record({\n 'dissolve_delay_interval_seconds' : IDL.Nat64,\n 'count' : IDL.Nat64,\n });\n const LinearScalingCoefficient = IDL.Record({\n 'slope_numerator' : IDL.Opt(IDL.Nat64),\n 'intercept_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'from_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'slope_denominator' : IDL.Opt(IDL.Nat64),\n 'to_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n });\n const IdealMatchedParticipationFunction = IDL.Record({\n 'serialized_representation' : IDL.Opt(IDL.Text),\n });\n const NeuronsFundParticipationConstraints = IDL.Record({\n 'coefficient_intervals' : IDL.Vec(LinearScalingCoefficient),\n 'max_neurons_fund_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'min_direct_participation_threshold_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'ideal_matched_participation_function' : IDL.Opt(\n IdealMatchedParticipationFunction\n ),\n });\n const Countries = IDL.Record({ 'iso_codes' : IDL.Vec(IDL.Text) });\n const Init = IDL.Record({\n 'nns_proposal_id' : IDL.Opt(IDL.Nat64),\n 'sns_root_canister_id' : IDL.Text,\n 'neurons_fund_participation' : IDL.Opt(IDL.Bool),\n 'min_participant_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'neuron_basket_construction_parameters' : IDL.Opt(\n NeuronBasketConstructionParameters\n ),\n 'fallback_controller_principal_ids' : IDL.Vec(IDL.Text),\n 'max_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'confirmation_text' : IDL.Opt(IDL.Text),\n 'swap_start_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'swap_due_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'min_participants' : IDL.Opt(IDL.Nat32),\n 'sns_token_e8s' : IDL.Opt(IDL.Nat64),\n 'nns_governance_canister_id' : IDL.Text,\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'icp_ledger_canister_id' : IDL.Text,\n 'sns_ledger_canister_id' : IDL.Text,\n 'neurons_fund_participation_constraints' : IDL.Opt(\n NeuronsFundParticipationConstraints\n ),\n 'should_auto_finalize' : IDL.Opt(IDL.Bool),\n 'max_participant_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'sns_governance_canister_id' : IDL.Text,\n 'min_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'restricted_countries' : IDL.Opt(Countries),\n 'min_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'max_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n });\n return [Init];\n};\n", "import type { NewSaleTicketRequest } from \"../../candid/sns_swap\";\nimport type { NewSaleTicketParams } from \"../types/swap.params\";\n\n// Helper for building `NewSaleTicketRequest` structure\nexport const toNewSaleTicketRequest = ({\n subaccount,\n amount_icp_e8s,\n}: NewSaleTicketParams): NewSaleTicketRequest => ({\n subaccount: subaccount === undefined ? [] : [subaccount],\n amount_icp_e8s,\n});\n", "import { nonNullish } from \"@dfinity/utils\";\n\n/**\n * Identifies errors of method not being present in the canister.\n *\n * This is useful because SNS projects have different versions of SNS canisters.\n * Therefore, what works in the latest version might not work in the previous one.\n *\n * Error message example: \"Call was rejected:\n * Request ID: 3a6ef904b35fd19721c95c3df2b0b00b8abefba7f0ad188f5c472809b772c914\n * Reject code: 3\n * Reject text: Canister 75ffu-oaaaa-aaaaa-aabbq-cai has no update method 'get_auto_finalization_status'\"\n */\nexport const isMethodNotSupportedError = (err: unknown): boolean => {\n if (typeof err === \"object\" && nonNullish(err) && \"message\" in err) {\n const message = err.message as string;\n return (\n message.includes(\"has no update method\") ||\n message.includes(\"has no query method\")\n );\n }\n return false;\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["index_exports", "__export", "GetOpenTicketErrorType", "NewSaleTicketResponseErrorType", "SnsGovernanceCanister", "SnsGovernanceError", "SnsGovernanceTestCanister", "SnsNeuronPermissionType", "SnsProposalDecisionStatus", "SnsProposalRewardStatus", "SnsRootCanister", "SnsSwapCanister", "SnsSwapGetOpenTicketError", "SnsSwapLifecycle", "SnsSwapNewTicketError", "SnsVote", "SnsWrapper", "UnsupportedMethodError", "fromCandidAction", "initSnsWrapper", "neuronSubaccount", "__toCommonJS", "import_utils", "toManageNeuronCommand", "id", "command", "toManageNeuronConfigureCommand", "neuronId", "operation", "toCandidAccount", "owner", "subaccount", "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", "convertTransferSnsTreasuryFunds", "convertUpgradeSnsControlledCanister", "convertManageSnsMetadata", "params", "convertChunkedCanisterWasm", "convertGenericNervousSystemFunction", "convertFunctionType", "convertVotingRewardsParameters", "SnsNeuronPermissionType", "SnsProposalRewardStatus", "SnsProposalDecisionStatus", "SnsVote", "SnsSwapLifecycle", "GetOpenTicketErrorType", "NewSaleTicketResponseErrorType", "UnsupportedMethodError", "methodName", "SnsGovernanceError", "SnsSwapNewTicketError", "errorType", "invalidUserAmount", "existingTicket", "SnsSwapGetOpenTicketError", "import_utils", "idlFactory", "IDL", "Timers", "Version", "Versions", "CachedUpgradeSteps", "Topic", "GenericNervousSystemFunction", "FunctionType", "NervousSystemFunction", "GovernanceCachedMetrics", "MaturityModulation", "TargetVersionSet", "UpgradeStepsReset", "UpgradeOutcome", "ProposalId", "UpgradeStarted", "UpgradeStepsRefreshed", "TargetVersionReset", "UpgradeJournalEntry", "UpgradeJournal", "NeuronId", "Followees", "DefaultFollowees", "NeuronPermissionList", "VotingRewardsParameters", "NervousSystemParameters", "RewardEvent", "PendingVersion", "GovernanceError", "Subaccount", "Account", "Decimal", "Tokens", "ValuationFactors", "Valuation", "MintSnsTokensActionAuxiliary", "SnsVersion", "AdvanceSnsTargetVersionActionAuxiliary", "ActionAuxiliary", "Ballot", "Percentage", "Tally", "ManageDappCanisterSettings", "SetTopicsForCustomProposals", "RegisterDappCanisters", "TransferSnsTreasuryFunds", "ChunkedCanisterWasm", "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", "CanisterStatusType", "DefiniteCanisterSettingsArgs", "QueryStats", "CanisterStatusResultV2", "GetRunningSnsVersionResponse", "GetSnsInitializationParametersResponse", "GetTimersResponse", "GetUpgradeJournalRequest", "GetUpgradeJournalResponse", "ListNervousSystemFunctionsResponse", "ListNeurons", "ListNeuronsResponse", "TopicSelector", "ListProposals", "ListProposalsResponse", "ListTopicsRequest", "TopicInfo", "ListTopicsResponse", "StakeMaturity", "Command", "ManageNeuron", "SplitResponse", "DisburseMaturityResponse", "ClaimOrRefreshResponse", "StakeMaturityResponse", "MergeMaturityResponse", "DisburseResponse", "Command_1", "ManageNeuronResponse", "SetMode", "idlFactory", "IDL", "Timers", "Version", "Versions", "CachedUpgradeSteps", "Topic", "GenericNervousSystemFunction", "FunctionType", "NervousSystemFunction", "GovernanceCachedMetrics", "MaturityModulation", "TargetVersionSet", "UpgradeStepsReset", "UpgradeOutcome", "ProposalId", "UpgradeStarted", "UpgradeStepsRefreshed", "TargetVersionReset", "UpgradeJournalEntry", "UpgradeJournal", "NeuronId", "Followees", "DefaultFollowees", "NeuronPermissionList", "VotingRewardsParameters", "NervousSystemParameters", "RewardEvent", "PendingVersion", "GovernanceError", "Subaccount", "Account", "Decimal", "Tokens", "ValuationFactors", "Valuation", "MintSnsTokensActionAuxiliary", "SnsVersion", "AdvanceSnsTargetVersionActionAuxiliary", "ActionAuxiliary", "Ballot", "Percentage", "Tally", "ManageDappCanisterSettings", "SetTopicsForCustomProposals", "RegisterDappCanisters", "TransferSnsTreasuryFunds", "ChunkedCanisterWasm", "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", "CanisterStatusType", "DefiniteCanisterSettingsArgs", "QueryStats", "CanisterStatusResultV2", "GetRunningSnsVersionResponse", "GetSnsInitializationParametersResponse", "GetTimersResponse", "GetUpgradeJournalRequest", "GetUpgradeJournalResponse", "ListNervousSystemFunctionsResponse", "ListNeurons", "ListNeuronsResponse", "TopicSelector", "ListProposals", "ListProposalsResponse", "ListTopicsRequest", "TopicInfo", "ListTopicsResponse", "StakeMaturity", "Command", "ManageNeuron", "SplitResponse", "DisburseMaturityResponse", "ClaimOrRefreshResponse", "StakeMaturityResponse", "MergeMaturityResponse", "DisburseResponse", "Command_1", "ManageNeuronResponse", "SetMode", "SnsGovernanceCanister", "_SnsGovernanceCanister", "options", "service", "certifiedService", "canisterId", "idlFactory", "params", "principal", "limit", "beforeNeuronId", "neurons", "certified", "toListProposalRequest", "proposalId", "result", "data", "SnsGovernanceError", "neuronId", "error", "request", "response", "toAddPermissionsRequest", "toRemovePermissionsRequest", "toSplitNeuronRequest", "command", "errorMessage", "details", "split", "toDisburseNeuronRequest", "toStartDissolvingNeuronRequest", "toStopDissolvingNeuronRequest", "percentageToStake", "toStakeMaturityRequest", "toDisburseMaturityRequest", "toAutoStakeMaturityNeuronRequest", "toSetDissolveTimestampRequest", "toIncreaseDissolveDelayRequest", "toFollowRequest", "toSetFollowingRequest", "toRegisterVoteRequest", "toClaimOrRefreshRequest", "memo", "controller", "subaccount", "firstCommand", "import_utils", "idlFactory", "IDL", "Timers", "Version", "Versions", "CachedUpgradeSteps", "Topic", "GenericNervousSystemFunction", "FunctionType", "NervousSystemFunction", "GovernanceCachedMetrics", "MaturityModulation", "TargetVersionSet", "UpgradeStepsReset", "UpgradeOutcome", "ProposalId", "UpgradeStarted", "UpgradeStepsRefreshed", "TargetVersionReset", "UpgradeJournalEntry", "UpgradeJournal", "NeuronId", "Followees", "DefaultFollowees", "NeuronPermissionList", "VotingRewardsParameters", "NervousSystemParameters", "RewardEvent", "PendingVersion", "GovernanceError", "Subaccount", "Account", "Decimal", "Tokens", "ValuationFactors", "Valuation", "MintSnsTokensActionAuxiliary", "SnsVersion", "AdvanceSnsTargetVersionActionAuxiliary", "ActionAuxiliary", "Ballot", "Percentage", "Tally", "ManageDappCanisterSettings", "SetTopicsForCustomProposals", "RegisterDappCanisters", "TransferSnsTreasuryFunds", "ChunkedCanisterWasm", "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", "AddMaturityRequest", "AddMaturityResponse", "AdvanceTargetVersionRequest", "AdvanceTargetVersionResponse", "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", "CanisterStatusType", "DefiniteCanisterSettingsArgs", "QueryStats", "CanisterStatusResultV2", "GetRunningSnsVersionResponse", "GetSnsInitializationParametersResponse", "GetTimersResponse", "GetUpgradeJournalRequest", "GetUpgradeJournalResponse", "ListNervousSystemFunctionsResponse", "ListNeurons", "ListNeuronsResponse", "TopicSelector", "ListProposals", "ListProposalsResponse", "ListTopicsRequest", "TopicInfo", "ListTopicsResponse", "StakeMaturity", "Command", "ManageNeuron", "SplitResponse", "DisburseMaturityResponse", "ClaimOrRefreshResponse", "StakeMaturityResponse", "MergeMaturityResponse", "DisburseResponse", "Command_1", "ManageNeuronResponse", "MintTokensRequest", "SetMode", "idlFactory", "IDL", "Timers", "Version", "Versions", "CachedUpgradeSteps", "Topic", "GenericNervousSystemFunction", "FunctionType", "NervousSystemFunction", "GovernanceCachedMetrics", "MaturityModulation", "TargetVersionSet", "UpgradeStepsReset", "UpgradeOutcome", "ProposalId", "UpgradeStarted", "UpgradeStepsRefreshed", "TargetVersionReset", "UpgradeJournalEntry", "UpgradeJournal", "NeuronId", "Followees", "DefaultFollowees", "NeuronPermissionList", "VotingRewardsParameters", "NervousSystemParameters", "RewardEvent", "PendingVersion", "GovernanceError", "Subaccount", "Account", "Decimal", "Tokens", "ValuationFactors", "Valuation", "MintSnsTokensActionAuxiliary", "SnsVersion", "AdvanceSnsTargetVersionActionAuxiliary", "ActionAuxiliary", "Ballot", "Percentage", "Tally", "ManageDappCanisterSettings", "SetTopicsForCustomProposals", "RegisterDappCanisters", "TransferSnsTreasuryFunds", "ChunkedCanisterWasm", "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", "AddMaturityRequest", "AddMaturityResponse", "AdvanceTargetVersionRequest", "AdvanceTargetVersionResponse", "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", "CanisterStatusType", "DefiniteCanisterSettingsArgs", "QueryStats", "CanisterStatusResultV2", "GetRunningSnsVersionResponse", "GetSnsInitializationParametersResponse", "GetTimersResponse", "GetUpgradeJournalRequest", "GetUpgradeJournalResponse", "ListNervousSystemFunctionsResponse", "ListNeurons", "ListNeuronsResponse", "TopicSelector", "ListProposals", "ListProposalsResponse", "ListTopicsRequest", "TopicInfo", "ListTopicsResponse", "StakeMaturity", "Command", "ManageNeuron", "SplitResponse", "DisburseMaturityResponse", "ClaimOrRefreshResponse", "StakeMaturityResponse", "MergeMaturityResponse", "DisburseResponse", "Command_1", "ManageNeuronResponse", "MintTokensRequest", "SetMode", "SnsGovernanceTestCanister", "_SnsGovernanceTestCanister", "options", "service", "certifiedService", "canisterId", "idlFactory", "params", "id", "amountE8s", "new_maturity_e8s", "newMaturity", "SnsGovernanceError", "import_utils", "idlFactory", "IDL", "Timers", "SnsRootCanister", "CanisterIdRecord", "CanisterStatusType", "LogVisibility", "DefiniteCanisterSettings", "QueryStats", "CanisterStatusResult", "CanisterInstallMode", "ChunkedCanisterWasm", "ChangeCanisterRequest", "GetSnsCanistersSummaryRequest", "DefiniteCanisterSettingsArgs", "CanisterStatusResultV2", "CanisterSummary", "GetSnsCanistersSummaryResponse", "GetTimersResponse", "ListSnsCanistersResponse", "ManageDappCanisterSettingsRequest", "ManageDappCanisterSettingsResponse", "RegisterDappCanisterRequest", "RegisterDappCanistersRequest", "SetDappControllersRequest", "CanisterCallError", "FailedUpdate", "SetDappControllersResponse", "idlFactory", "IDL", "Timers", "SnsRootCanister", "CanisterIdRecord", "CanisterStatusType", "LogVisibility", "DefiniteCanisterSettings", "QueryStats", "CanisterStatusResult", "CanisterInstallMode", "ChunkedCanisterWasm", "ChangeCanisterRequest", "GetSnsCanistersSummaryRequest", "DefiniteCanisterSettingsArgs", "CanisterStatusResultV2", "CanisterSummary", "GetSnsCanistersSummaryResponse", "GetTimersResponse", "ListSnsCanistersResponse", "ManageDappCanisterSettingsRequest", "ManageDappCanisterSettingsResponse", "RegisterDappCanisterRequest", "RegisterDappCanistersRequest", "SetDappControllersRequest", "CanisterCallError", "FailedUpdate", "SetDappControllersResponse", "SnsRootCanister", "_SnsRootCanister", "options", "service", "certifiedService", "canisterId", "idlFactory", "certified", "import_ledger_icrc", "import_utils", "import_utils", "import_utils", "isBytes", "a", "bytes", "b", "lengths", "exists", "instance", "checkFinished", "output", "out", "bytes", "min", "createView", "arr", "rotr", "word", "shift", "isLE", "utf8ToBytes", "str", "toBytes", "data", "bytes", "Hash", "toStr", "wrapConstructor", "hashCons", "hashC", "msg", "toBytes", "tmp", "setBigUint64", "view", "byteOffset", "value", "isLE", "_32n", "_u32_max", "wh", "wl", "h", "l", "Chi", "a", "b", "c", "Maj", "HashMD", "Hash", "blockLen", "outputLen", "padOffset", "createView", "data", "exists", "buffer", "toBytes", "len", "pos", "take", "dataView", "out", "output", "i", "oview", "outLen", "state", "res", "to", "length", "finished", "destroyed", "SHA256_K", "SHA256_IV", "SHA256_W", "SHA256", "HashMD", "A", "B", "C", "D", "E", "F", "G", "H", "view", "offset", "i", "W15", "W2", "s0", "rotr", "s1", "sigma1", "T1", "Chi", "T2", "Maj", "sha256", "wrapConstructor", "SHA256", "neuronSubaccount", "index", "controller", "data", "shaObj", "sha256", "SnsWrapper", "root", "governance", "ledger", "swap", "index", "certified", "params", "controller", "subaccount", "neuronSubaccount", "neuronId", "neuron", "SnsGovernanceError", "stakeE8s", "source", "createdAt", "fee", "neuronAccount", "account", "name", "import_utils", "idlFactory", "IDL", "NeuronBasketConstructionParameters", "LinearScalingCoefficient", "IdealMatchedParticipationFunction", "NeuronsFundParticipationConstraints", "Countries", "Init", "ErrorRefundIcpRequest", "Ok", "Err", "Result", "ErrorRefundIcpResponse", "CanisterCallError", "FailedUpdate", "SetDappControllersResponse", "Possibility", "SetDappControllersCallResult", "SweepResult", "GovernanceError", "Response", "Possibility_1", "SettleCommunityFundParticipationResult", "Ok_1", "Error", "Possibility_2", "SettleNeuronsFundParticipationResult", "Possibility_3", "SetModeCallResult", "FinalizeSwapResponse", "GetAutoFinalizationStatusResponse", "GetBuyerStateRequest", "TransferableAmount", "BuyerState", "GetBuyerStateResponse", "GetBuyersTotalResponse", "CanisterStatusType", "DefiniteCanisterSettingsArgs", "QueryStats", "CanisterStatusResultV2", "GetDerivedStateResponse", "GetInitResponse", "GetLifecycleResponse", "Icrc1Account", "Ticket", "Ok_2", "Err_1", "Result_1", "GetOpenTicketResponse", "Params", "GetSaleParametersResponse", "NeuronId", "NeuronAttributes", "Principals", "CfInvestment", "DirectInvestment", "Investor", "SnsNeuronRecipe", "Timers", "CfNeuron", "CfParticipant", "Swap", "DerivedState", "GetStateResponse", "GetTimersResponse", "ListCommunityFundParticipantsRequest", "ListCommunityFundParticipantsResponse", "ListDirectParticipantsRequest", "Participant", "ListDirectParticipantsResponse", "ListSnsNeuronRecipesRequest", "ListSnsNeuronRecipesResponse", "NewSaleTicketRequest", "InvalidUserAmount", "Err_2", "Result_2", "NewSaleTicketResponse", "RefreshBuyerTokensRequest", "RefreshBuyerTokensResponse", "idlFactory", "IDL", "NeuronBasketConstructionParameters", "LinearScalingCoefficient", "IdealMatchedParticipationFunction", "NeuronsFundParticipationConstraints", "Countries", "Init", "ErrorRefundIcpRequest", "Ok", "Err", "Result", "ErrorRefundIcpResponse", "CanisterCallError", "FailedUpdate", "SetDappControllersResponse", "Possibility", "SetDappControllersCallResult", "SweepResult", "GovernanceError", "Response", "Possibility_1", "SettleCommunityFundParticipationResult", "Ok_1", "Error", "Possibility_2", "SettleNeuronsFundParticipationResult", "Possibility_3", "SetModeCallResult", "FinalizeSwapResponse", "GetAutoFinalizationStatusResponse", "GetBuyerStateRequest", "TransferableAmount", "BuyerState", "GetBuyerStateResponse", "GetBuyersTotalResponse", "CanisterStatusType", "DefiniteCanisterSettingsArgs", "QueryStats", "CanisterStatusResultV2", "GetDerivedStateResponse", "GetInitResponse", "GetLifecycleResponse", "Icrc1Account", "Ticket", "Ok_2", "Err_1", "Result_1", "GetOpenTicketResponse", "Params", "GetSaleParametersResponse", "NeuronId", "NeuronAttributes", "Principals", "CfInvestment", "DirectInvestment", "Investor", "SnsNeuronRecipe", "Timers", "CfNeuron", "CfParticipant", "Swap", "DerivedState", "GetStateResponse", "GetTimersResponse", "ListCommunityFundParticipantsRequest", "ListCommunityFundParticipantsResponse", "ListDirectParticipantsRequest", "Participant", "ListDirectParticipantsResponse", "ListSnsNeuronRecipesRequest", "ListSnsNeuronRecipesResponse", "NewSaleTicketRequest", "InvalidUserAmount", "Err_2", "Result_2", "NewSaleTicketResponse", "RefreshBuyerTokensRequest", "RefreshBuyerTokensResponse", "toNewSaleTicketRequest", "subaccount", "amount_icp_e8s", "import_utils", "isMethodNotSupportedError", "err", "message", "SnsSwapCanister", "_SnsSwapCanister", "options", "service", "certifiedService", "canisterId", "idlFactory", "params", "ticket", "buyer_state", "certified", "_a", "response", "result", "errorType", "SnsSwapGetOpenTicketError", "request", "toNewSaleTicketRequest", "errorData", "SnsSwapNewTicketError", "error", "isMethodNotSupportedError", "UnsupportedMethodError", "initSnsWrapper", "agent", "rootOptions", "certified", "rootCanister", "SnsRootCanister", "ledger", "swap", "governance", "index", "governanceCanisterId", "ledgerCanisterId", "swapCanisterId", "indexCanisterId", "SnsWrapper", "SnsGovernanceCanister", "SnsSwapCanister"]
|
|
4
|
+
"sourcesContent": ["export type {\n Action as SnsAction,\n Ballot as SnsBallot,\n DefaultFollowees as SnsDefaultFollowees,\n Followee as SnsFollowee,\n FolloweesForTopic as SnsFolloweesForTopic,\n FunctionType as SnsFunctionType,\n GetMetadataResponse as SnsGetMetadataResponse,\n GetMetricsResponse as SnsGetMetricsResponse,\n ListNervousSystemFunctionsResponse as SnsListNervousSystemFunctionsResponse,\n ListProposalsResponse as SnsListProposalsResponse,\n ListTopicsResponse as SnsListTopicsResponse,\n ManageNeuron as SnsManageNeuron,\n ManageNeuronResponse as SnsManageNeuronResponse,\n NervousSystemFunction as SnsNervousSystemFunction,\n NervousSystemParameters as SnsNervousSystemParameters,\n Neuron as SnsNeuron,\n NeuronId as SnsNeuronId,\n NeuronPermissionList as SnsNeuronPermissionList,\n Percentage as SnsPercentage,\n ProposalData as SnsProposalData,\n ProposalId as SnsProposalId,\n RewardEvent as SnsRewardEvent,\n Tally as SnsTally,\n Topic as SnsTopic,\n TopicInfo as SnsTopicInfo,\n VotingRewardsParameters as SnsVotingRewardsParameters,\n} from \"../candid/sns_governance\";\nexport type { CanisterStatusResultV2 as SnsCanisterStatus } from \"../candid/sns_root\";\nexport type {\n CfParticipant,\n FinalizeSwapResponse as SnsFinalizeSwapResponse,\n GetAutoFinalizationStatusResponse as SnsGetAutoFinalizationStatusResponse,\n GetBuyerStateRequest as SnsGetBuyerStateRequest,\n GetBuyerStateResponse as SnsGetBuyerStateResponse,\n GetDerivedStateResponse as SnsGetDerivedStateResponse,\n GetInitResponse as SnsGetInitResponse,\n GetLifecycleResponse as SnsGetLifecycleResponse,\n GetSaleParametersResponse as SnsGetSaleParametersResponse,\n InvalidUserAmount as SnsInvalidUserAmount,\n SnsNeuronRecipe,\n NeuronsFundParticipationConstraints as SnsNeuronsFundParticipationConstraints,\n Params as SnsParams,\n RefreshBuyerTokensResponse as SnsRefreshBuyerTokensResponse,\n Swap as SnsSwap,\n BuyerState as SnsSwapBuyerState,\n DerivedState as SnsSwapDerivedState,\n Init as SnsSwapInit,\n Ticket as SnsSwapTicket,\n TransferableAmount as SnsTransferableAmount,\n} from \"../candid/sns_swap\";\nexport { fromCandidAction } from \"./converters/governance.converters\";\nexport * from \"./enums/governance.enums\";\nexport * from \"./enums/swap.enums\";\nexport * from \"./errors/common.errors\";\nexport * from \"./errors/governance.errors\";\nexport * from \"./errors/swap.errors\";\nexport { SnsGovernanceCanister } from \"./governance.canister\";\nexport { SnsGovernanceTestCanister } from \"./governance_test.canister\";\nexport { SnsRootCanister } from \"./root.canister\";\nexport * from \"./sns\";\nexport * from \"./sns.wrapper\";\nexport { SnsSwapCanister } from \"./swap.canister\";\nexport type { SnsCanisterOptions } from \"./types/canister.options\";\nexport * from \"./types/governance.params\";\nexport * from \"./utils/governance.utils\";\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", "// Source: https://github.com/dfinity/ic/blob/master/rs/sns/governance/proto/ic_sns_governance/pb/v1/governance.proto\nexport enum SnsNeuronPermissionType {\n NEURON_PERMISSION_TYPE_UNSPECIFIED = 0,\n\n // The principal has permission to configure the neuron's dissolve state. This includes\n // start dissolving, stop dissolving, and increasing the dissolve delay for the neuron.\n NEURON_PERMISSION_TYPE_CONFIGURE_DISSOLVE_STATE = 1,\n\n // The principal has permission to add additional principals to modify the neuron.\n // The nervous system parameter `NervousSystemParameters::neuron_grantable_permissions`\n // determines the maximum set of privileges that a principal can grant to another principal in\n // the given SNS.\n NEURON_PERMISSION_TYPE_MANAGE_PRINCIPALS = 2,\n\n // The principal has permission to submit proposals on behalf of the neuron.\n // Submitting proposals can change a neuron's stake and thus this\n // is potentially a balance changing operation.\n NEURON_PERMISSION_TYPE_SUBMIT_PROPOSAL = 3,\n\n // The principal has permission to vote and follow other neurons on behalf of the neuron.\n NEURON_PERMISSION_TYPE_VOTE = 4,\n\n // The principal has permission to disburse the neuron.\n NEURON_PERMISSION_TYPE_DISBURSE = 5,\n\n // The principal has permission to split the neuron.\n NEURON_PERMISSION_TYPE_SPLIT = 6,\n\n // The principal has permission to merge the neuron's maturity into\n // the neuron's stake.\n /**\n * @deprecated\n */\n NEURON_PERMISSION_TYPE_MERGE_MATURITY = 7,\n\n // The principal has permission to disburse the neuron's maturity to a\n // given ledger account.\n NEURON_PERMISSION_TYPE_DISBURSE_MATURITY = 8,\n\n // The principal has permission to stake the neuron's maturity.\n NEURON_PERMISSION_TYPE_STAKE_MATURITY = 9,\n\n // The principal has permission to grant/revoke permission to vote and submit\n // proposals on behalf of the neuron to other principals.\n NEURON_PERMISSION_TYPE_MANAGE_VOTING_PERMISSION = 10,\n}\n\nexport enum SnsProposalRewardStatus {\n PROPOSAL_REWARD_STATUS_UNSPECIFIED = 0,\n\n // The proposal still accepts votes, for the purpose of\n // voting rewards. This implies nothing on the\n // ProposalDecisionStatus, i.e., a proposal can be decided\n // due to an absolute majority being in favor or against it,\n // but other neuron holders can still cast their vote to get rewards.\n PROPOSAL_REWARD_STATUS_ACCEPT_VOTES = 1,\n\n // The proposal no longer accepts votes. It is due to settle\n // rewards at the next reward event.\n PROPOSAL_REWARD_STATUS_READY_TO_SETTLE = 2,\n\n // The proposal has been taken into account in a reward event, i.e.,\n // the associated rewards have been settled.\n PROPOSAL_REWARD_STATUS_SETTLED = 3,\n}\n\nexport enum SnsProposalDecisionStatus {\n PROPOSAL_DECISION_STATUS_UNSPECIFIED = 0,\n\n // The proposal is open for voting and a decision (adopt/reject) has yet to be made.\n PROPOSAL_DECISION_STATUS_OPEN = 1,\n\n // The proposal has been rejected.\n PROPOSAL_DECISION_STATUS_REJECTED = 2,\n\n // The proposal has been adopted but either execution has not yet started\n // or it has started but its outcome is not yet known.\n PROPOSAL_DECISION_STATUS_ADOPTED = 3,\n\n // The proposal was adopted and successfully executed.\n PROPOSAL_DECISION_STATUS_EXECUTED = 4,\n\n // The proposal was adopted, but execution failed.\n PROPOSAL_DECISION_STATUS_FAILED = 5,\n}\n\nexport enum SnsVote {\n Unspecified = 0,\n Yes = 1,\n No = 2,\n}\n", "// Source: https://github.com/dfinity/ic/blob/master/rs/sns/swap/gen/ic_sns_swap.pb.v1.rs - Lifecycle\nexport enum SnsSwapLifecycle {\n Unspecified = 0,\n Pending = 1,\n Open = 2,\n Committed = 3,\n Aborted = 4,\n Adopted = 5,\n}\n\n// Source: https://gitlab.com/dfinity-lab/public/ic/-/blob/5936d73770dbd16dab9b23379367a8bd5513fb88/rs/sns/swap/proto/ic_sns_swap/pb/v1/swap.proto#L887\nexport enum GetOpenTicketErrorType {\n TYPE_UNSPECIFIED = 0,\n TYPE_SALE_NOT_OPEN = 1,\n TYPE_SALE_CLOSED = 2,\n}\n\n// Source: https://gitlab.com/dfinity-lab/public/ic/-/blob/5936d73770dbd16dab9b23379367a8bd5513fb88/rs/sns/swap/proto/ic_sns_swap/pb/v1/swap.proto#L928\nexport enum NewSaleTicketResponseErrorType {\n TYPE_UNSPECIFIED = 0,\n TYPE_SALE_NOT_OPEN = 1,\n TYPE_SALE_CLOSED = 2,\n // There is already an open ticket associated with the caller.\n //\n // When this is the `error_type`, then the field existing_ticket\n // is set and contains the ticket itself.\n TYPE_TICKET_EXISTS = 3,\n // The amount sent by the user is not within the Sale parameters.\n //\n // When this is the `error_type`, then the field invalid_user_amount\n // is set and describes minimum and maximum amounts.\n TYPE_INVALID_USER_AMOUNT = 4,\n // The specified subaccount is not a valid subaccount (length != 32 bytes).\n TYPE_INVALID_SUBACCOUNT = 5,\n // The specified principal is forbidden from creating tickets.\n TYPE_INVALID_PRINCIPAL = 6,\n}\n", "// This is possible specially in SNS projects/\n// Because they share the same canisters but in different versions.\nexport class UnsupportedMethodError extends Error {\n constructor(public readonly methodName: string) {\n super();\n }\n}\n", "export class SnsGovernanceError extends Error {}\n", "import type { InvalidUserAmount, Ticket } from \"../../candid/sns_swap\";\nimport type {\n GetOpenTicketErrorType,\n NewSaleTicketResponseErrorType,\n} from \"../enums/swap.enums\";\n\nexport class SnsSwapNewTicketError extends Error {\n public errorType: NewSaleTicketResponseErrorType;\n public invalidUserAmount?: InvalidUserAmount;\n public existingTicket?: Ticket;\n\n constructor({\n errorType,\n invalidUserAmount,\n existingTicket,\n }: {\n errorType: NewSaleTicketResponseErrorType;\n invalidUserAmount?: InvalidUserAmount;\n existingTicket?: Ticket;\n }) {\n super();\n this.errorType = errorType;\n this.invalidUserAmount = invalidUserAmount;\n this.existingTicket = existingTicket;\n }\n}\n\nexport class SnsSwapGetOpenTicketError extends Error {\n constructor(public errorType: GetOpenTicketErrorType) {\n super();\n }\n}\n", "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 const SetTopicsForCustomProposals = IDL.Record({\n 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),\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 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 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 '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 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 '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 TopicInfo = IDL.Record({\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 const SetTopicsForCustomProposals = IDL.Record({\n 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),\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 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 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 '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 const SetTopicsForCustomProposals = IDL.Record({\n 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),\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 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 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 '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 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 '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 TopicInfo = IDL.Record({\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 const SetTopicsForCustomProposals = IDL.Record({\n 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),\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 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 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 '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 {\n Canister,\n createServices,\n fromNullable,\n isNullish,\n toNullable,\n} from \"@dfinity/utils\";\nimport type {\n NeuronId,\n _SERVICE as SnsGovernanceTestService,\n} from \"../candid/sns_governance_test\";\nimport { idlFactory as certifiedIdlFactory } from \"../candid/sns_governance_test.certified.idl\";\nimport { idlFactory } from \"../candid/sns_governance_test.idl\";\nimport { SnsGovernanceError } from \"./errors/governance.errors\";\nimport type { SnsCanisterOptions } from \"./types/canister.options\";\nimport type { SnsAddMaturityParams } from \"./types/governance_test.params\";\n\nexport class SnsGovernanceTestCanister extends Canister<SnsGovernanceTestService> {\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<SnsGovernanceTestService>) {\n const { service, certifiedService, canisterId } =\n createServices<SnsGovernanceTestService>({\n options,\n idlFactory,\n certifiedIdlFactory,\n });\n\n return new SnsGovernanceTestCanister(canisterId, service, certifiedService);\n }\n\n /**\n * Add maturity to a neuron (only for testing purposes. Testnet only.)\n */\n addMaturity = async (params: SnsAddMaturityParams): Promise<void> => {\n const { id, amountE8s } = params;\n\n const { new_maturity_e8s } = await this.caller(params).add_maturity({\n id: toNullable<NeuronId>(id),\n amount_e8s: toNullable(amountE8s),\n });\n const newMaturity = fromNullable(new_maturity_e8s);\n\n if (isNullish(newMaturity) || newMaturity < amountE8s) {\n throw new SnsGovernanceError(\"No maturity added\");\n }\n };\n}\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_governance_test.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 const SetTopicsForCustomProposals = IDL.Record({\n 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),\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 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 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 '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 AddMaturityRequest = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n });\n const AddMaturityResponse = IDL.Record({\n 'new_maturity_e8s' : IDL.Opt(IDL.Nat64),\n });\n const AdvanceTargetVersionRequest = IDL.Record({\n 'target_version' : IDL.Opt(Version),\n });\n const AdvanceTargetVersionResponse = IDL.Record({});\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 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 '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 TopicInfo = IDL.Record({\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 MintTokensRequest = IDL.Record({\n 'recipient' : IDL.Opt(Account),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n });\n const SetMode = IDL.Record({ 'mode' : IDL.Int32 });\n return IDL.Service({\n 'add_maturity' : IDL.Func([AddMaturityRequest], [AddMaturityResponse], []),\n 'advance_target_version' : IDL.Func(\n [AdvanceTargetVersionRequest],\n [AdvanceTargetVersionResponse],\n [],\n ),\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 'mint_tokens' : IDL.Func([MintTokensRequest], [IDL.Record({})], []),\n 'refresh_cached_upgrade_steps' : IDL.Func(\n [IDL.Record({})],\n [IDL.Record({})],\n [],\n ),\n 'reset_timers' : IDL.Func([IDL.Record({})], [IDL.Record({})], []),\n 'set_mode' : IDL.Func([SetMode], [IDL.Record({})], []),\n 'update_neuron' : IDL.Func([Neuron], [IDL.Opt(GovernanceError)], []),\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 const SetTopicsForCustomProposals = IDL.Record({\n 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),\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 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 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 '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_test.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 const SetTopicsForCustomProposals = IDL.Record({\n 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),\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 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 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 '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 AddMaturityRequest = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n });\n const AddMaturityResponse = IDL.Record({\n 'new_maturity_e8s' : IDL.Opt(IDL.Nat64),\n });\n const AdvanceTargetVersionRequest = IDL.Record({\n 'target_version' : IDL.Opt(Version),\n });\n const AdvanceTargetVersionResponse = IDL.Record({});\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 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 '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 TopicInfo = IDL.Record({\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 MintTokensRequest = IDL.Record({\n 'recipient' : IDL.Opt(Account),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n });\n const SetMode = IDL.Record({ 'mode' : IDL.Int32 });\n return IDL.Service({\n 'add_maturity' : IDL.Func([AddMaturityRequest], [AddMaturityResponse], []),\n 'advance_target_version' : IDL.Func(\n [AdvanceTargetVersionRequest],\n [AdvanceTargetVersionResponse],\n [],\n ),\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 'mint_tokens' : IDL.Func([MintTokensRequest], [IDL.Record({})], []),\n 'refresh_cached_upgrade_steps' : IDL.Func(\n [IDL.Record({})],\n [IDL.Record({})],\n [],\n ),\n 'reset_timers' : IDL.Func([IDL.Record({})], [IDL.Record({})], []),\n 'set_mode' : IDL.Func([SetMode], [IDL.Record({})], []),\n 'update_neuron' : IDL.Func([Neuron], [IDL.Opt(GovernanceError)], []),\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 const SetTopicsForCustomProposals = IDL.Record({\n 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),\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 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 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 '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 { Canister, createServices } from \"@dfinity/utils\";\nimport type {\n ListSnsCanistersResponse,\n _SERVICE as SnsRootService,\n} from \"../candid/sns_root\";\nimport { idlFactory as certifiedIdlFactory } from \"../candid/sns_root.certified.idl\";\nimport { idlFactory } from \"../candid/sns_root.idl\";\nimport type { SnsCanisterOptions } from \"./types/canister.options\";\n\nexport class SnsRootCanister extends Canister<SnsRootService> {\n static create(options: SnsCanisterOptions<SnsRootService>) {\n const { service, certifiedService, canisterId } =\n createServices<SnsRootService>({\n options,\n idlFactory,\n certifiedIdlFactory,\n });\n\n return new SnsRootCanister(canisterId, service, certifiedService);\n }\n\n /**\n * List the canisters that are part of the Sns.\n *\n * Source code: https://github.com/dfinity/ic/blob/master/rs/sns/root/src/lib.rs\n *\n * @param {Object} params\n * @param {boolean} [params.certified=true] - Query or update calls\n *\n * @returns {ListSnsCanistersResponse} - A list of canisters ('root' | 'governance' | 'ledger' | 'dapps' | 'swap' | 'archives')\n */\n listSnsCanisters = ({\n certified = true,\n }: {\n certified?: boolean;\n }): Promise<ListSnsCanistersResponse> =>\n this.caller({ certified }).list_sns_canisters({});\n}\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_root.did */\nexport const idlFactory = ({ IDL }) => {\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 SnsRootCanister = IDL.Record({\n 'dapp_canister_ids' : IDL.Vec(IDL.Principal),\n 'timers' : IDL.Opt(Timers),\n 'testflight' : IDL.Bool,\n 'archive_canister_ids' : IDL.Vec(IDL.Principal),\n 'governance_canister_id' : IDL.Opt(IDL.Principal),\n 'index_canister_id' : IDL.Opt(IDL.Principal),\n 'swap_canister_id' : IDL.Opt(IDL.Principal),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n });\n const CanisterIdRecord = IDL.Record({ 'canister_id' : IDL.Principal });\n const CanisterStatusType = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const LogVisibility = IDL.Variant({\n 'controllers' : IDL.Null,\n 'public' : IDL.Null,\n 'allowed_viewers' : IDL.Vec(IDL.Principal),\n });\n const DefiniteCanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Opt(IDL.Nat),\n 'wasm_memory_threshold' : IDL.Opt(IDL.Nat),\n 'controllers' : IDL.Vec(IDL.Principal),\n 'reserved_cycles_limit' : IDL.Opt(IDL.Nat),\n 'log_visibility' : IDL.Opt(LogVisibility),\n 'wasm_memory_limit' : IDL.Opt(IDL.Nat),\n 'memory_allocation' : IDL.Opt(IDL.Nat),\n 'compute_allocation' : IDL.Opt(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 CanisterStatusResult = IDL.Record({\n 'status' : CanisterStatusType,\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettings,\n 'query_stats' : IDL.Opt(QueryStats),\n 'idle_cycles_burned_per_day' : IDL.Opt(IDL.Nat),\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'reserved_cycles' : IDL.Opt(IDL.Nat),\n });\n const CanisterInstallMode = IDL.Variant({\n 'reinstall' : IDL.Null,\n 'upgrade' : IDL.Null,\n 'install' : IDL.Null,\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.Principal,\n });\n const ChangeCanisterRequest = IDL.Record({\n 'arg' : IDL.Vec(IDL.Nat8),\n 'wasm_module' : IDL.Vec(IDL.Nat8),\n 'stop_before_installing' : IDL.Bool,\n 'mode' : CanisterInstallMode,\n 'canister_id' : IDL.Principal,\n 'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),\n });\n const GetSnsCanistersSummaryRequest = IDL.Record({\n 'update_canister_list' : IDL.Opt(IDL.Bool),\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 CanisterStatusResultV2 = IDL.Record({\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 CanisterSummary = IDL.Record({\n 'status' : IDL.Opt(CanisterStatusResultV2),\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const GetSnsCanistersSummaryResponse = IDL.Record({\n 'root' : IDL.Opt(CanisterSummary),\n 'swap' : IDL.Opt(CanisterSummary),\n 'ledger' : IDL.Opt(CanisterSummary),\n 'index' : IDL.Opt(CanisterSummary),\n 'governance' : IDL.Opt(CanisterSummary),\n 'dapps' : IDL.Vec(CanisterSummary),\n 'archives' : IDL.Vec(CanisterSummary),\n });\n const GetTimersResponse = IDL.Record({ 'timers' : IDL.Opt(Timers) });\n const ListSnsCanistersResponse = IDL.Record({\n 'root' : IDL.Opt(IDL.Principal),\n 'swap' : IDL.Opt(IDL.Principal),\n 'ledger' : IDL.Opt(IDL.Principal),\n 'index' : IDL.Opt(IDL.Principal),\n 'governance' : IDL.Opt(IDL.Principal),\n 'dapps' : IDL.Vec(IDL.Principal),\n 'archives' : IDL.Vec(IDL.Principal),\n });\n const ManageDappCanisterSettingsRequest = 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 const ManageDappCanisterSettingsResponse = IDL.Record({\n 'failure_reason' : IDL.Opt(IDL.Text),\n });\n const RegisterDappCanisterRequest = IDL.Record({\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const RegisterDappCanistersRequest = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n });\n const SetDappControllersRequest = IDL.Record({\n 'canister_ids' : IDL.Opt(RegisterDappCanistersRequest),\n 'controller_principal_ids' : IDL.Vec(IDL.Principal),\n });\n const CanisterCallError = IDL.Record({\n 'code' : IDL.Opt(IDL.Int32),\n 'description' : IDL.Text,\n });\n const FailedUpdate = IDL.Record({\n 'err' : IDL.Opt(CanisterCallError),\n 'dapp_canister_id' : IDL.Opt(IDL.Principal),\n });\n const SetDappControllersResponse = IDL.Record({\n 'failed_updates' : IDL.Vec(FailedUpdate),\n });\n return IDL.Service({\n 'canister_status' : IDL.Func(\n [CanisterIdRecord],\n [CanisterStatusResult],\n [],\n ),\n 'change_canister' : IDL.Func([ChangeCanisterRequest], [], []),\n 'get_build_metadata' : IDL.Func([], [IDL.Text], []),\n 'get_sns_canisters_summary' : IDL.Func(\n [GetSnsCanistersSummaryRequest],\n [GetSnsCanistersSummaryResponse],\n [],\n ),\n 'get_timers' : IDL.Func([IDL.Record({})], [GetTimersResponse], []),\n 'list_sns_canisters' : IDL.Func(\n [IDL.Record({})],\n [ListSnsCanistersResponse],\n [],\n ),\n 'manage_dapp_canister_settings' : IDL.Func(\n [ManageDappCanisterSettingsRequest],\n [ManageDappCanisterSettingsResponse],\n [],\n ),\n 'register_dapp_canister' : IDL.Func(\n [RegisterDappCanisterRequest],\n [IDL.Record({})],\n [],\n ),\n 'register_dapp_canisters' : IDL.Func(\n [RegisterDappCanistersRequest],\n [IDL.Record({})],\n [],\n ),\n 'reset_timers' : IDL.Func([IDL.Record({})], [IDL.Record({})], []),\n 'set_dapp_controllers' : IDL.Func(\n [SetDappControllersRequest],\n [SetDappControllersResponse],\n [],\n ),\n });\n};\nexport const init = ({ IDL }) => {\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 SnsRootCanister = IDL.Record({\n 'dapp_canister_ids' : IDL.Vec(IDL.Principal),\n 'timers' : IDL.Opt(Timers),\n 'testflight' : IDL.Bool,\n 'archive_canister_ids' : IDL.Vec(IDL.Principal),\n 'governance_canister_id' : IDL.Opt(IDL.Principal),\n 'index_canister_id' : IDL.Opt(IDL.Principal),\n 'swap_canister_id' : IDL.Opt(IDL.Principal),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n });\n return [SnsRootCanister];\n};\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_root.did */\nexport const idlFactory = ({ IDL }) => {\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 SnsRootCanister = IDL.Record({\n 'dapp_canister_ids' : IDL.Vec(IDL.Principal),\n 'timers' : IDL.Opt(Timers),\n 'testflight' : IDL.Bool,\n 'archive_canister_ids' : IDL.Vec(IDL.Principal),\n 'governance_canister_id' : IDL.Opt(IDL.Principal),\n 'index_canister_id' : IDL.Opt(IDL.Principal),\n 'swap_canister_id' : IDL.Opt(IDL.Principal),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n });\n const CanisterIdRecord = IDL.Record({ 'canister_id' : IDL.Principal });\n const CanisterStatusType = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const LogVisibility = IDL.Variant({\n 'controllers' : IDL.Null,\n 'public' : IDL.Null,\n 'allowed_viewers' : IDL.Vec(IDL.Principal),\n });\n const DefiniteCanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Opt(IDL.Nat),\n 'wasm_memory_threshold' : IDL.Opt(IDL.Nat),\n 'controllers' : IDL.Vec(IDL.Principal),\n 'reserved_cycles_limit' : IDL.Opt(IDL.Nat),\n 'log_visibility' : IDL.Opt(LogVisibility),\n 'wasm_memory_limit' : IDL.Opt(IDL.Nat),\n 'memory_allocation' : IDL.Opt(IDL.Nat),\n 'compute_allocation' : IDL.Opt(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 CanisterStatusResult = IDL.Record({\n 'status' : CanisterStatusType,\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettings,\n 'query_stats' : IDL.Opt(QueryStats),\n 'idle_cycles_burned_per_day' : IDL.Opt(IDL.Nat),\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'reserved_cycles' : IDL.Opt(IDL.Nat),\n });\n const CanisterInstallMode = IDL.Variant({\n 'reinstall' : IDL.Null,\n 'upgrade' : IDL.Null,\n 'install' : IDL.Null,\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.Principal,\n });\n const ChangeCanisterRequest = IDL.Record({\n 'arg' : IDL.Vec(IDL.Nat8),\n 'wasm_module' : IDL.Vec(IDL.Nat8),\n 'stop_before_installing' : IDL.Bool,\n 'mode' : CanisterInstallMode,\n 'canister_id' : IDL.Principal,\n 'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),\n });\n const GetSnsCanistersSummaryRequest = IDL.Record({\n 'update_canister_list' : IDL.Opt(IDL.Bool),\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 CanisterStatusResultV2 = IDL.Record({\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 CanisterSummary = IDL.Record({\n 'status' : IDL.Opt(CanisterStatusResultV2),\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const GetSnsCanistersSummaryResponse = IDL.Record({\n 'root' : IDL.Opt(CanisterSummary),\n 'swap' : IDL.Opt(CanisterSummary),\n 'ledger' : IDL.Opt(CanisterSummary),\n 'index' : IDL.Opt(CanisterSummary),\n 'governance' : IDL.Opt(CanisterSummary),\n 'dapps' : IDL.Vec(CanisterSummary),\n 'archives' : IDL.Vec(CanisterSummary),\n });\n const GetTimersResponse = IDL.Record({ 'timers' : IDL.Opt(Timers) });\n const ListSnsCanistersResponse = IDL.Record({\n 'root' : IDL.Opt(IDL.Principal),\n 'swap' : IDL.Opt(IDL.Principal),\n 'ledger' : IDL.Opt(IDL.Principal),\n 'index' : IDL.Opt(IDL.Principal),\n 'governance' : IDL.Opt(IDL.Principal),\n 'dapps' : IDL.Vec(IDL.Principal),\n 'archives' : IDL.Vec(IDL.Principal),\n });\n const ManageDappCanisterSettingsRequest = 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 const ManageDappCanisterSettingsResponse = IDL.Record({\n 'failure_reason' : IDL.Opt(IDL.Text),\n });\n const RegisterDappCanisterRequest = IDL.Record({\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const RegisterDappCanistersRequest = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n });\n const SetDappControllersRequest = IDL.Record({\n 'canister_ids' : IDL.Opt(RegisterDappCanistersRequest),\n 'controller_principal_ids' : IDL.Vec(IDL.Principal),\n });\n const CanisterCallError = IDL.Record({\n 'code' : IDL.Opt(IDL.Int32),\n 'description' : IDL.Text,\n });\n const FailedUpdate = IDL.Record({\n 'err' : IDL.Opt(CanisterCallError),\n 'dapp_canister_id' : IDL.Opt(IDL.Principal),\n });\n const SetDappControllersResponse = IDL.Record({\n 'failed_updates' : IDL.Vec(FailedUpdate),\n });\n return IDL.Service({\n 'canister_status' : IDL.Func(\n [CanisterIdRecord],\n [CanisterStatusResult],\n [],\n ),\n 'change_canister' : IDL.Func([ChangeCanisterRequest], [], []),\n 'get_build_metadata' : IDL.Func([], [IDL.Text], ['query']),\n 'get_sns_canisters_summary' : IDL.Func(\n [GetSnsCanistersSummaryRequest],\n [GetSnsCanistersSummaryResponse],\n [],\n ),\n 'get_timers' : IDL.Func([IDL.Record({})], [GetTimersResponse], ['query']),\n 'list_sns_canisters' : IDL.Func(\n [IDL.Record({})],\n [ListSnsCanistersResponse],\n ['query'],\n ),\n 'manage_dapp_canister_settings' : IDL.Func(\n [ManageDappCanisterSettingsRequest],\n [ManageDappCanisterSettingsResponse],\n [],\n ),\n 'register_dapp_canister' : IDL.Func(\n [RegisterDappCanisterRequest],\n [IDL.Record({})],\n [],\n ),\n 'register_dapp_canisters' : IDL.Func(\n [RegisterDappCanistersRequest],\n [IDL.Record({})],\n [],\n ),\n 'reset_timers' : IDL.Func([IDL.Record({})], [IDL.Record({})], []),\n 'set_dapp_controllers' : IDL.Func(\n [SetDappControllersRequest],\n [SetDappControllersResponse],\n [],\n ),\n });\n};\nexport const init = ({ IDL }) => {\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 SnsRootCanister = IDL.Record({\n 'dapp_canister_ids' : IDL.Vec(IDL.Principal),\n 'timers' : IDL.Opt(Timers),\n 'testflight' : IDL.Bool,\n 'archive_canister_ids' : IDL.Vec(IDL.Principal),\n 'governance_canister_id' : IDL.Opt(IDL.Principal),\n 'index_canister_id' : IDL.Opt(IDL.Principal),\n 'swap_canister_id' : IDL.Opt(IDL.Principal),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n });\n return [SnsRootCanister];\n};\n", "import type { Agent } from \"@dfinity/agent\";\nimport { IcrcIndexCanister, IcrcLedgerCanister } from \"@dfinity/ledger-icrc\";\nimport type { Principal } from \"@dfinity/principal\";\nimport {\n assertNonNullish,\n fromNullable,\n type QueryParams,\n} from \"@dfinity/utils\";\nimport type {\n ListSnsCanistersResponse,\n _SERVICE as SnsRootService,\n} from \"../candid/sns_root\";\nimport { SnsGovernanceCanister } from \"./governance.canister\";\nimport { SnsRootCanister } from \"./root.canister\";\nimport { SnsWrapper } from \"./sns.wrapper\";\nimport { SnsSwapCanister } from \"./swap.canister\";\nimport type { SnsCanisterOptions } from \"./types/canister.options\";\n\n/**\n * Options to discover and initialize all canisters of a Sns.\n */\nexport interface InitSnsCanistersOptions extends QueryParams {\n /** An agent that can be used to override the default agent. Useful to target another environment that mainnet. */\n agent?: Agent;\n /** The options that will be used to instantiate the actors of the root canister of the particular Sns. */\n rootOptions: Omit<SnsCanisterOptions<SnsRootService>, \"agent\">;\n}\n\nexport interface InitSnsWrapper {\n (options: InitSnsCanistersOptions): Promise<SnsWrapper>;\n}\n\n/**\n * Lookup for the canister ids of a Sns and initialize the wrapper to access its features.\n */\nexport const initSnsWrapper: InitSnsWrapper = async ({\n agent,\n rootOptions,\n certified = true,\n}: InitSnsCanistersOptions): Promise<SnsWrapper> => {\n const rootCanister: SnsRootCanister = SnsRootCanister.create({\n ...rootOptions,\n agent,\n });\n\n const { ledger, swap, governance, index }: ListSnsCanistersResponse =\n await rootCanister.listSnsCanisters({ certified });\n\n const governanceCanisterId: Principal | undefined = fromNullable(governance);\n const ledgerCanisterId: Principal | undefined = fromNullable(ledger);\n const swapCanisterId: Principal | undefined = fromNullable(swap);\n const indexCanisterId: Principal | undefined = fromNullable(index);\n\n assertNonNullish(governanceCanisterId);\n assertNonNullish(ledgerCanisterId);\n assertNonNullish(swapCanisterId);\n assertNonNullish(indexCanisterId);\n\n return new SnsWrapper({\n root: rootCanister,\n governance: SnsGovernanceCanister.create({\n canisterId: governanceCanisterId,\n agent,\n }),\n ledger: IcrcLedgerCanister.create({ canisterId: ledgerCanisterId, agent }),\n swap: SnsSwapCanister.create({ canisterId: swapCanisterId, agent }),\n index: IcrcIndexCanister.create({ canisterId: indexCanisterId, agent }),\n certified,\n });\n};\n", "import type {\n BalanceParams,\n GetAccountTransactionsParams,\n IcrcAccount,\n IcrcBlockIndex,\n IcrcGetTransactions,\n IcrcIndexCanister,\n IcrcLedgerCanister,\n IcrcTokenMetadataResponse,\n IcrcTokens,\n TransferParams,\n} from \"@dfinity/ledger-icrc\";\nimport type { Principal } from \"@dfinity/principal\";\nimport {\n bigIntToUint8Array,\n toNullable,\n type QueryParams,\n} from \"@dfinity/utils\";\nimport type {\n GetMetadataResponse,\n ListNervousSystemFunctionsResponse,\n ListProposalsResponse,\n NervousSystemParameters,\n Neuron,\n NeuronId,\n ProposalData,\n} from \"../candid/sns_governance\";\nimport type {\n BuyerState,\n GetAutoFinalizationStatusResponse,\n GetBuyerStateRequest,\n GetDerivedStateResponse,\n GetLifecycleResponse,\n GetSaleParametersResponse,\n GetStateResponse,\n RefreshBuyerTokensRequest,\n RefreshBuyerTokensResponse,\n Ticket,\n} from \"../candid/sns_swap\";\nimport { MAX_NEURONS_SUBACCOUNTS } from \"./constants/governance.constants\";\nimport { SnsGovernanceError } from \"./errors/governance.errors\";\nimport type { SnsGovernanceCanister } from \"./governance.canister\";\nimport type { SnsRootCanister } from \"./root.canister\";\nimport type { SnsSwapCanister } from \"./swap.canister\";\nimport type {\n SnsClaimNeuronParams,\n SnsDisburseNeuronParams,\n SnsGetNeuronParams,\n SnsGetProposalParams,\n SnsIncreaseDissolveDelayParams,\n SnsIncreaseStakeNeuronParams,\n SnsListNeuronsParams,\n SnsListProposalsParams,\n SnsNeuronAutoStakeMaturityParams,\n SnsNeuronDisburseMaturityParams,\n SnsNeuronPermissionsParams,\n SnsNeuronStakeMaturityParams,\n SnsRegisterVoteParams,\n SnsSetDissolveTimestampParams,\n SnsSetFollowingParams,\n SnsSetTopicFollowees,\n SnsSplitNeuronParams,\n SnsStakeNeuronParams,\n} from \"./types/governance.params\";\nimport type { NewSaleTicketParams } from \"./types/swap.params\";\nimport { neuronSubaccount } from \"./utils/governance.utils\";\n\ninterface SnsWrapperOptions {\n /** The wrapper for the \"root\" canister of the particular Sns */\n root: SnsRootCanister;\n /** The wrapper for the \"governance\" canister of the particular Sns */\n governance: SnsGovernanceCanister;\n /** The wrapper for the \"ledger\" canister of the particular Sns */\n ledger: IcrcLedgerCanister;\n /** The wrapper for the \"swap\" canister of the particular Sns */\n swap: SnsSwapCanister;\n /** The wrapper for the \"index\" canister of the particular Sns */\n index: IcrcIndexCanister;\n\n /** The wrapper has been instantiated and should perform query or update calls */\n certified: boolean;\n}\n\n/**\n * Sns wrapper - notably used by NNS-dapp - ease the access to a particular Sns.\n * It knows all the Sns' canisters, wrap and enhance their available features.\n * A wrapper either performs query or update calls.\n */\nexport class SnsWrapper {\n private readonly root: SnsRootCanister;\n private readonly governance: SnsGovernanceCanister;\n private readonly ledger: IcrcLedgerCanister;\n private readonly swap: SnsSwapCanister;\n private readonly index: IcrcIndexCanister;\n private readonly certified: boolean;\n\n /**\n * Constructor to instantiate a Sns\n */\n constructor({\n root,\n governance,\n ledger,\n swap,\n index,\n certified,\n }: SnsWrapperOptions) {\n this.root = root;\n this.governance = governance;\n this.ledger = ledger;\n this.swap = swap;\n this.index = index;\n this.certified = certified;\n }\n\n /**\n * Binds the list of canister ids of the Sns.\n */\n get canisterIds(): {\n rootCanisterId: Principal;\n ledgerCanisterId: Principal;\n governanceCanisterId: Principal;\n swapCanisterId: Principal;\n indexCanisterId: Principal;\n } {\n return {\n rootCanisterId: this.root.canisterId,\n ledgerCanisterId: this.ledger.canisterId,\n governanceCanisterId: this.governance.canisterId,\n swapCanisterId: this.swap.canisterId,\n indexCanisterId: this.index.canisterId,\n };\n }\n\n listNeurons = (\n params: Omit<SnsListNeuronsParams, \"certified\">,\n ): Promise<Neuron[]> => this.governance.listNeurons(this.mergeParams(params));\n\n listProposals = (\n params: Omit<SnsListProposalsParams, \"certified\">,\n ): Promise<ListProposalsResponse> =>\n this.governance.listProposals(this.mergeParams(params));\n\n getProposal = (\n params: Omit<SnsGetProposalParams, \"certified\">,\n ): Promise<ProposalData> =>\n this.governance.getProposal(this.mergeParams(params));\n\n listNervousSystemFunctions = (\n params: Omit<QueryParams, \"certified\">,\n ): Promise<ListNervousSystemFunctionsResponse> =>\n this.governance.listNervousSystemFunctions(this.mergeParams(params));\n\n metadata = (\n params: Omit<QueryParams, \"certified\">,\n ): Promise<[GetMetadataResponse, IcrcTokenMetadataResponse]> =>\n Promise.all([\n this.governance.metadata(this.mergeParams(params)),\n this.ledger.metadata(this.mergeParams(params)),\n ]);\n\n nervousSystemParameters = (\n params: Omit<QueryParams, \"certified\">,\n ): Promise<NervousSystemParameters> =>\n this.governance.nervousSystemParameters(this.mergeParams(params));\n\n ledgerMetadata = (\n params: Omit<QueryParams, \"certified\">,\n ): Promise<IcrcTokenMetadataResponse> =>\n this.ledger.metadata(this.mergeParams(params));\n\n transactionFee = (\n params: Omit<QueryParams, \"certified\">,\n ): Promise<IcrcTokens> =>\n this.ledger.transactionFee(this.mergeParams(params));\n\n totalTokensSupply = (\n params: Omit<QueryParams, \"certified\">,\n ): Promise<IcrcTokens> =>\n this.ledger.totalTokensSupply(this.mergeParams(params));\n\n balance = (params: Omit<BalanceParams, \"certified\">): Promise<IcrcTokens> =>\n this.ledger.balance(this.mergeParams(params));\n\n // Always certified\n transfer = (params: TransferParams): Promise<IcrcBlockIndex> =>\n this.ledger.transfer(params);\n\n getNeuron = (\n params: Omit<SnsGetNeuronParams, \"certified\">,\n ): Promise<Neuron> => this.governance.getNeuron(this.mergeParams(params));\n\n queryNeuron = (\n params: Omit<SnsGetNeuronParams, \"certified\">,\n ): Promise<Neuron | undefined> =>\n this.governance.queryNeuron(this.mergeParams(params));\n\n /**\n * Returns the subaccount of the next neuron to be created.\n *\n * The neuron account is a subaccount of the governance canister.\n * The subaccount is derived from the controller and an ascending index.\n *\n * \u203C\uFE0F The id of the neuron is the subaccount (neuron ID = subaccount) \u203C\uFE0F.\n *\n * If the neuron does not exist for that subaccount, then we use it for the next neuron.\n *\n * The index is used in the memo of the transfer and when claiming the neuron.\n * This is how the backend can identify which neuron is being claimed.\n *\n * @param controller\n * @returns\n */\n nextNeuronAccount = async (\n controller: Principal,\n ): Promise<{ account: IcrcAccount; index: bigint }> => {\n // TODO: try parallilizing requests to improve performance\n // OR use binary search https://dfinity.atlassian.net/browse/FOLLOW-825\n for (let index = 0; index < MAX_NEURONS_SUBACCOUNTS; index++) {\n const subaccount = neuronSubaccount({ index, controller });\n\n const neuronId: NeuronId = { id: subaccount };\n let neuron = await this.governance.queryNeuron({\n neuronId,\n certified: false,\n });\n if (neuron === undefined) {\n // Recheck with update call whether the neuron does not exist\n neuron = await this.governance.queryNeuron({\n neuronId,\n certified: true,\n });\n // If the neuron does not exist, we can use this subaccount\n if (neuron === undefined) {\n return {\n account: {\n ...this.owner,\n subaccount,\n },\n index: BigInt(index),\n };\n }\n }\n }\n throw new SnsGovernanceError(\"No more neuron accounts available\");\n };\n\n /**\n * Stakes a neuron.\n *\n * This is a convenient method that transfers the stake to the neuron subaccount and then claims the neuron.\n *\n * \u26A0\uFE0F This feature is provided as it without warranty. It does not implement any additional checks of the validity of the payment flow - e.g. it does not handle refund nor retries claiming the neuron in case of errors.\n *\n * @param {SnsStakeNeuronParams} params\n * @param {Principal} params.controller\n * @param {bigint} params.stakeE8s\n * @param {source} params.source\n * @returns {NeuronId}\n */\n stakeNeuron = async ({\n stakeE8s,\n source,\n controller,\n createdAt,\n fee,\n }: SnsStakeNeuronParams): Promise<NeuronId> => {\n this.assertCertified(\"stakeNeuron\");\n const { account: neuronAccount, index } =\n await this.nextNeuronAccount(controller);\n // This should not happen. The neuron account is always a subaccount of the SNS governance canister.\n if (neuronAccount.subaccount === undefined) {\n throw new SnsGovernanceError(\n \"There was an error creating the neuron subaccount\",\n );\n }\n await this.ledger.transfer({\n amount: stakeE8s,\n to: {\n owner: neuronAccount.owner,\n subaccount: toNullable(neuronAccount.subaccount),\n },\n from_subaccount: source.subaccount,\n memo: bigIntToUint8Array(index),\n created_at_time: createdAt,\n fee,\n });\n return this.governance.claimNeuron({\n memo: BigInt(index),\n controller,\n subaccount: neuronAccount.subaccount,\n });\n };\n\n /**\n * Increase the stake of a neuron.\n *\n * This is a convenient method that transfers the stake to the neuron subaccount and then refresh the neuron.\n *\n * \u26A0\uFE0F This feature is provided as it without warranty. It does not implement any additional checks of the validity of the payment flow - e.g. it does not handle refund nor calls refresh again in case of errors.\n *\n * @param {SnsStakeNeuronParams} params\n * @param {Principal} params.controller\n * @param {bigint} params.stakeE8s\n * @param {source} params.source\n * @returns {NeuronId}\n */\n increaseStakeNeuron = async ({\n stakeE8s,\n source,\n neuronId,\n }: SnsIncreaseStakeNeuronParams): Promise<void> => {\n this.assertCertified(\"stakeNeuron\");\n\n await this.ledger.transfer({\n amount: stakeE8s,\n to: {\n ...this.owner,\n subaccount: toNullable(Uint8Array.from(neuronId.id)),\n },\n from_subaccount: source.subaccount,\n });\n\n return this.governance.refreshNeuron(neuronId);\n };\n\n getNeuronBalance = (neuronId: NeuronId): Promise<IcrcTokens> => {\n const account = {\n ...this.owner,\n subaccount: Uint8Array.from(neuronId.id),\n };\n return this.ledger.balance({ ...account, certified: this.certified });\n };\n\n // Always certified\n addNeuronPermissions = (params: SnsNeuronPermissionsParams): Promise<void> =>\n this.governance.addNeuronPermissions(params);\n\n // Always certified\n refreshNeuron = (neuronId: NeuronId): Promise<void> =>\n this.governance.refreshNeuron(neuronId);\n\n // Always certified\n claimNeuron = (params: SnsClaimNeuronParams): Promise<NeuronId> =>\n this.governance.claimNeuron(params);\n\n // Always certified\n removeNeuronPermissions = (\n params: SnsNeuronPermissionsParams,\n ): Promise<void> => this.governance.removeNeuronPermissions(params);\n\n // Always certified\n splitNeuron = (params: SnsSplitNeuronParams): Promise<NeuronId | undefined> =>\n this.governance.splitNeuron(params);\n\n // Always certified\n disburse = (params: SnsDisburseNeuronParams): Promise<void> =>\n this.governance.disburse(params);\n\n // Always certified\n startDissolving = (neuronId: NeuronId): Promise<void> =>\n this.governance.startDissolving(neuronId);\n\n // Always certified\n stopDissolving = (neuronId: NeuronId): Promise<void> =>\n this.governance.stopDissolving(neuronId);\n\n // Always certified\n setDissolveTimestamp = (\n params: SnsSetDissolveTimestampParams,\n ): Promise<void> => this.governance.setDissolveTimestamp(params);\n\n // Always certified\n increaseDissolveDelay = (\n params: SnsIncreaseDissolveDelayParams,\n ): Promise<void> => this.governance.increaseDissolveDelay(params);\n\n // Always certified\n setTopicFollowees = (params: SnsSetTopicFollowees): Promise<void> =>\n this.governance.setTopicFollowees(params);\n\n // Always certified\n setFollowing = (params: SnsSetFollowingParams): Promise<void> =>\n this.governance.setFollowing(params);\n\n // Always certified\n registerVote = (params: SnsRegisterVoteParams): Promise<void> =>\n this.governance.registerVote(params);\n\n swapState = (\n params: Omit<QueryParams, \"certified\">,\n ): Promise<GetStateResponse> => this.swap.state(this.mergeParams(params));\n\n /**\n * Returns the ticket if a ticket was found for the caller and the ticket\n * was removed successfully. Returns None if no ticket was found for the caller.\n * Only the owner of a ticket can remove it.\n *\n * Always certified\n *\n * @param params\n */\n notifyPaymentFailure = (): Promise<Ticket | undefined> =>\n this.swap.notifyPaymentFailure();\n\n // Always certified\n notifyParticipation = (\n params: RefreshBuyerTokensRequest,\n ): Promise<RefreshBuyerTokensResponse> =>\n this.swap.notifyParticipation(params);\n\n getUserCommitment = (\n params: GetBuyerStateRequest,\n ): Promise<BuyerState | undefined> =>\n this.swap.getUserCommitment(this.mergeParams(params));\n\n getOpenTicket = (\n params: Omit<QueryParams, \"certified\">,\n ): Promise<Ticket | undefined> =>\n this.swap.getOpenTicket(this.mergeParams(params));\n\n // Always certified\n newSaleTicket = (params: NewSaleTicketParams): Promise<Ticket> =>\n this.swap.newSaleTicket(params);\n\n getLifecycle = (\n params: Omit<QueryParams, \"certified\">,\n ): Promise<GetLifecycleResponse | undefined> =>\n this.swap.getLifecycle(this.mergeParams(params));\n\n getFinalizationStatus = (\n params: Omit<QueryParams, \"certified\">,\n ): Promise<GetAutoFinalizationStatusResponse | undefined> =>\n this.swap.getFinalizationStatus(this.mergeParams(params));\n\n getSaleParameters = (\n params: Omit<QueryParams, \"certified\">,\n ): Promise<GetSaleParametersResponse | undefined> =>\n this.swap.getSaleParameters(this.mergeParams(params));\n\n getDerivedState = (\n params: Omit<QueryParams, \"certified\">,\n ): Promise<GetDerivedStateResponse | undefined> =>\n this.swap.getDerivedState(this.mergeParams(params));\n\n // Always certified\n getTransactions = (\n params: GetAccountTransactionsParams,\n ): Promise<IcrcGetTransactions> => this.index.getTransactions(params);\n\n // Always certified\n stakeMaturity = (params: SnsNeuronStakeMaturityParams): Promise<void> =>\n this.governance.stakeMaturity(params);\n\n // Always certified\n disburseMaturity = (params: SnsNeuronDisburseMaturityParams): Promise<void> =>\n this.governance.disburseMaturity(params);\n\n // Always certified\n autoStakeMaturity = (\n params: SnsNeuronAutoStakeMaturityParams,\n ): Promise<void> => this.governance.autoStakeMaturity(params);\n\n private mergeParams<T>(params: T): QueryParams & T {\n return {\n ...params,\n certified: this.certified,\n };\n }\n\n private assertCertified = (name: string): void => {\n if (!this.certified) {\n throw new SnsGovernanceError(`Call to ${name} needs to be certified`);\n }\n };\n\n /**\n * Each Sns neuron id is a subaccount of the related Sns ledger account of the Sns governance canister.\n *\n * In other words, the Sns governance canister is the owner. It has an account in the related Sns ledger and each neuron is both a child of the Sns governance canister and a subaccount in the Sns ledger.\n *\n * @private\n */\n private get owner(): IcrcAccount {\n return {\n owner: this.canisterIds.governanceCanisterId,\n };\n }\n}\n", "import type { IcrcSubaccount } from \"@dfinity/ledger-icrc\";\nimport type { Principal } from \"@dfinity/principal\";\nimport {\n arrayOfNumberToUint8Array,\n asciiStringToByteArray,\n numberToUint8Array,\n} from \"@dfinity/utils\";\nimport { sha256 } from \"@noble/hashes/sha256\";\n\n/**\n * Neuron subaccount is calculated as \"sha256(0x0c . \u201Cneuron-stake\u201D . controller . i)\"\n *\n * @param params\n * @param {Principal} params.newController\n * @param {number} params.index\n * @returns\n */\nexport const neuronSubaccount = ({\n index,\n controller,\n}: {\n index: number;\n controller: Principal;\n}): IcrcSubaccount => {\n const padding = asciiStringToByteArray(\"neuron-stake\");\n const data = [\n 0x0c,\n ...padding,\n ...controller.toUint8Array(),\n ...numberToUint8Array(index),\n ];\n // TODO(#238): Implement without library and make it compatible with NodeJS and browser\n const shaObj = sha256.create();\n shaObj.update(arrayOfNumberToUint8Array(data));\n return shaObj.digest();\n};\n", "function number(n: number) {\n if (!Number.isSafeInteger(n) || n < 0) throw new Error(`positive integer expected, not ${n}`);\n}\n\nfunction bool(b: boolean) {\n if (typeof b !== 'boolean') throw new Error(`boolean expected, not ${b}`);\n}\n\n// copied from utils\nexport function isBytes(a: unknown): a is Uint8Array {\n return (\n a instanceof Uint8Array ||\n (a != null && typeof a === 'object' && a.constructor.name === 'Uint8Array')\n );\n}\n\nfunction bytes(b: Uint8Array | undefined, ...lengths: number[]) {\n if (!isBytes(b)) throw new Error('Uint8Array expected');\n if (lengths.length > 0 && !lengths.includes(b.length))\n throw new Error(`Uint8Array expected of length ${lengths}, not of length=${b.length}`);\n}\n\ntype Hash = {\n (data: Uint8Array): Uint8Array;\n blockLen: number;\n outputLen: number;\n create: any;\n};\nfunction hash(h: Hash) {\n if (typeof h !== 'function' || typeof h.create !== 'function')\n throw new Error('Hash should be wrapped by utils.wrapConstructor');\n number(h.outputLen);\n number(h.blockLen);\n}\n\nfunction exists(instance: any, checkFinished = true) {\n if (instance.destroyed) throw new Error('Hash instance has been destroyed');\n if (checkFinished && instance.finished) throw new Error('Hash#digest() has already been called');\n}\nfunction output(out: any, instance: any) {\n bytes(out);\n const min = instance.outputLen;\n if (out.length < min) {\n throw new Error(`digestInto() expects output buffer of length at least ${min}`);\n }\n}\n\nexport { number, bool, bytes, hash, exists, output };\n\nconst assert = { number, bool, bytes, hash, exists, output };\nexport default assert;\n", "/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n\n// We use WebCrypto aka globalThis.crypto, which exists in browsers and node.js 16+.\n// node.js versions earlier than v19 don't declare it in global scope.\n// For node.js, package.json#exports field mapping rewrites import\n// from `crypto` to `cryptoNode`, which imports native module.\n// Makes the utils un-importable in browsers without a bundler.\n// Once node.js 18 is deprecated (2025-04-30), we can just drop the import.\nimport { crypto } from '@noble/hashes/crypto';\nimport { bytes as abytes } from './_assert.js';\n// export { isBytes } from './_assert.js';\n// We can't reuse isBytes from _assert, because somehow this causes huge perf issues\nexport function isBytes(a: unknown): a is Uint8Array {\n return (\n a instanceof Uint8Array ||\n (a != null && typeof a === 'object' && a.constructor.name === 'Uint8Array')\n );\n}\n\n// prettier-ignore\nexport type TypedArray = Int8Array | Uint8ClampedArray | Uint8Array |\n Uint16Array | Int16Array | Uint32Array | Int32Array;\n\n// Cast array to different type\nexport const u8 = (arr: TypedArray) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\nexport const u32 = (arr: TypedArray) =>\n new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\n\n// Cast array to view\nexport const createView = (arr: TypedArray) =>\n new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n\n// The rotate right (circular right shift) operation for uint32\nexport const rotr = (word: number, shift: number) => (word << (32 - shift)) | (word >>> shift);\n// The rotate left (circular left shift) operation for uint32\nexport const rotl = (word: number, shift: number) =>\n (word << shift) | ((word >>> (32 - shift)) >>> 0);\n\nexport const isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;\n// The byte swap operation for uint32\nexport const byteSwap = (word: number) =>\n ((word << 24) & 0xff000000) |\n ((word << 8) & 0xff0000) |\n ((word >>> 8) & 0xff00) |\n ((word >>> 24) & 0xff);\n// Conditionally byte swap if on a big-endian platform\nexport const byteSwapIfBE = isLE ? (n: number) => n : (n: number) => byteSwap(n);\n\n// In place byte swap for Uint32Array\nexport function byteSwap32(arr: Uint32Array) {\n for (let i = 0; i < arr.length; i++) {\n arr[i] = byteSwap(arr[i]);\n }\n}\n\n// Array where index 0xf0 (240) is mapped to string 'f0'\nconst hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) =>\n i.toString(16).padStart(2, '0')\n);\n/**\n * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123'\n */\nexport function bytesToHex(bytes: Uint8Array): string {\n abytes(bytes);\n // pre-caching improves the speed 6x\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\n\n// We use optimized technique to convert hex string to byte array\nconst asciis = { _0: 48, _9: 57, _A: 65, _F: 70, _a: 97, _f: 102 } as const;\nfunction asciiToBase16(char: number): number | undefined {\n if (char >= asciis._0 && char <= asciis._9) return char - asciis._0;\n if (char >= asciis._A && char <= asciis._F) return char - (asciis._A - 10);\n if (char >= asciis._a && char <= asciis._f) return char - (asciis._a - 10);\n return;\n}\n\n/**\n * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23])\n */\nexport function hexToBytes(hex: string): Uint8Array {\n if (typeof hex !== 'string') throw new Error('hex string expected, got ' + typeof hex);\n const hl = hex.length;\n const al = hl / 2;\n if (hl % 2) throw new Error('padded hex string expected, got unpadded hex of length ' + hl);\n const array = new Uint8Array(al);\n for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) {\n const n1 = asciiToBase16(hex.charCodeAt(hi));\n const n2 = asciiToBase16(hex.charCodeAt(hi + 1));\n if (n1 === undefined || n2 === undefined) {\n const char = hex[hi] + hex[hi + 1];\n throw new Error('hex string expected, got non-hex character \"' + char + '\" at index ' + hi);\n }\n array[ai] = n1 * 16 + n2;\n }\n return array;\n}\n\n// There is no setImmediate in browser and setTimeout is slow.\n// call of async fn will return Promise, which will be fullfiled only on\n// next scheduler queue processing step and this is exactly what we need.\nexport const nextTick = async () => {};\n\n// Returns control to thread each 'tick' ms to avoid blocking\nexport async function asyncLoop(iters: number, tick: number, cb: (i: number) => void) {\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick) continue;\n await nextTick();\n ts += diff;\n }\n}\n\n// Global symbols in both browsers and Node.js since v11\n// See https://github.com/microsoft/TypeScript/issues/31535\ndeclare const TextEncoder: any;\n\n/**\n * @example utf8ToBytes('abc') // new Uint8Array([97, 98, 99])\n */\nexport function utf8ToBytes(str: string): Uint8Array {\n if (typeof str !== 'string') throw new Error(`utf8ToBytes expected string, got ${typeof str}`);\n return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809\n}\n\nexport type Input = Uint8Array | string;\n/**\n * Normalizes (non-hex) string or Uint8Array to Uint8Array.\n * Warning: when Uint8Array is passed, it would NOT get copied.\n * Keep in mind for future mutable operations.\n */\nexport function toBytes(data: Input): Uint8Array {\n if (typeof data === 'string') data = utf8ToBytes(data);\n abytes(data);\n return data;\n}\n\n/**\n * Copies several Uint8Arrays into one.\n */\nexport function concatBytes(...arrays: Uint8Array[]): Uint8Array {\n let sum = 0;\n for (let i = 0; i < arrays.length; i++) {\n const a = arrays[i];\n abytes(a);\n sum += a.length;\n }\n const res = new Uint8Array(sum);\n for (let i = 0, pad = 0; i < arrays.length; i++) {\n const a = arrays[i];\n res.set(a, pad);\n pad += a.length;\n }\n return res;\n}\n\n// For runtime check if class implements interface\nexport abstract class Hash<T extends Hash<T>> {\n abstract blockLen: number; // Bytes per block\n abstract outputLen: number; // Bytes in output\n abstract update(buf: Input): this;\n // Writes digest into buf\n abstract digestInto(buf: Uint8Array): void;\n abstract digest(): Uint8Array;\n /**\n * Resets internal state. Makes Hash instance unusable.\n * Reset is impossible for keyed hashes if key is consumed into state. If digest is not consumed\n * by user, they will need to manually call `destroy()` when zeroing is necessary.\n */\n abstract destroy(): void;\n /**\n * Clones hash instance. Unsafe: doesn't check whether `to` is valid. Can be used as `clone()`\n * when no options are passed.\n * Reasons to use `_cloneInto` instead of clone: 1) performance 2) reuse instance => all internal\n * buffers are overwritten => causes buffer overwrite which is used for digest in some cases.\n * There are no guarantees for clean-up because it's impossible in JS.\n */\n abstract _cloneInto(to?: T): T;\n // Safe version that clones internal state\n clone(): T {\n return this._cloneInto();\n }\n}\n\n/**\n * XOF: streaming API to read digest in chunks.\n * Same as 'squeeze' in keccak/k12 and 'seek' in blake3, but more generic name.\n * When hash used in XOF mode it is up to user to call '.destroy' afterwards, since we cannot\n * destroy state, next call can require more bytes.\n */\nexport type HashXOF<T extends Hash<T>> = Hash<T> & {\n xof(bytes: number): Uint8Array; // Read 'bytes' bytes from digest stream\n xofInto(buf: Uint8Array): Uint8Array; // read buf.length bytes from digest stream into buf\n};\n\nconst toStr = {}.toString;\ntype EmptyObj = {};\nexport function checkOpts<T1 extends EmptyObj, T2 extends EmptyObj>(\n defaults: T1,\n opts?: T2\n): T1 & T2 {\n if (opts !== undefined && toStr.call(opts) !== '[object Object]')\n throw new Error('Options should be object or undefined');\n const merged = Object.assign(defaults, opts);\n return merged as T1 & T2;\n}\n\nexport type CHash = ReturnType<typeof wrapConstructor>;\n\nexport function wrapConstructor<T extends Hash<T>>(hashCons: () => Hash<T>) {\n const hashC = (msg: Input): Uint8Array => hashCons().update(toBytes(msg)).digest();\n const tmp = hashCons();\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = () => hashCons();\n return hashC;\n}\n\nexport function wrapConstructorWithOpts<H extends Hash<H>, T extends Object>(\n hashCons: (opts?: T) => Hash<H>\n) {\n const hashC = (msg: Input, opts?: T): Uint8Array => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({} as T);\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts: T) => hashCons(opts);\n return hashC;\n}\n\nexport function wrapXOFConstructorWithOpts<H extends HashXOF<H>, T extends Object>(\n hashCons: (opts?: T) => HashXOF<H>\n) {\n const hashC = (msg: Input, opts?: T): Uint8Array => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({} as T);\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts: T) => hashCons(opts);\n return hashC;\n}\n\n/**\n * Secure PRNG. Uses `crypto.getRandomValues`, which defers to OS.\n */\nexport function randomBytes(bytesLength = 32): Uint8Array {\n if (crypto && typeof crypto.getRandomValues === 'function') {\n return crypto.getRandomValues(new Uint8Array(bytesLength));\n }\n // Legacy Node.js compatibility\n if (crypto && typeof crypto.randomBytes === 'function') {\n return crypto.randomBytes(bytesLength);\n }\n throw new Error('crypto.getRandomValues must be defined');\n}\n", "import { exists, output } from './_assert.js';\nimport { Hash, createView, Input, toBytes } from './utils.js';\n\n/**\n * Polyfill for Safari 14\n */\nfunction setBigUint64(view: DataView, byteOffset: number, value: bigint, isLE: boolean): void {\n if (typeof view.setBigUint64 === 'function') return view.setBigUint64(byteOffset, value, isLE);\n const _32n = BigInt(32);\n const _u32_max = BigInt(0xffffffff);\n const wh = Number((value >> _32n) & _u32_max);\n const wl = Number(value & _u32_max);\n const h = isLE ? 4 : 0;\n const l = isLE ? 0 : 4;\n view.setUint32(byteOffset + h, wh, isLE);\n view.setUint32(byteOffset + l, wl, isLE);\n}\n\n/**\n * Choice: a ? b : c\n */\nexport const Chi = (a: number, b: number, c: number) => (a & b) ^ (~a & c);\n\n/**\n * Majority function, true if any two inputs is true\n */\nexport const Maj = (a: number, b: number, c: number) => (a & b) ^ (a & c) ^ (b & c);\n\n/**\n * Merkle-Damgard hash construction base class.\n * Could be used to create MD5, RIPEMD, SHA1, SHA2.\n */\nexport abstract class HashMD<T extends HashMD<T>> extends Hash<T> {\n protected abstract process(buf: DataView, offset: number): void;\n protected abstract get(): number[];\n protected abstract set(...args: number[]): void;\n abstract destroy(): void;\n protected abstract roundClean(): void;\n // For partial updates less than block size\n protected buffer: Uint8Array;\n protected view: DataView;\n protected finished = false;\n protected length = 0;\n protected pos = 0;\n protected destroyed = false;\n\n constructor(\n readonly blockLen: number,\n public outputLen: number,\n readonly padOffset: number,\n readonly isLE: boolean\n ) {\n super();\n this.buffer = new Uint8Array(blockLen);\n this.view = createView(this.buffer);\n }\n update(data: Input): this {\n exists(this);\n const { view, buffer, blockLen } = this;\n data = toBytes(data);\n const len = data.length;\n for (let pos = 0; pos < len; ) {\n const take = Math.min(blockLen - this.pos, len - pos);\n // Fast path: we have at least one block in input, cast it to view and process\n if (take === blockLen) {\n const dataView = createView(data);\n for (; blockLen <= len - pos; pos += blockLen) this.process(dataView, pos);\n continue;\n }\n buffer.set(data.subarray(pos, pos + take), this.pos);\n this.pos += take;\n pos += take;\n if (this.pos === blockLen) {\n this.process(view, 0);\n this.pos = 0;\n }\n }\n this.length += data.length;\n this.roundClean();\n return this;\n }\n digestInto(out: Uint8Array) {\n exists(this);\n output(out, this);\n this.finished = true;\n // Padding\n // We can avoid allocation of buffer for padding completely if it\n // was previously not allocated here. But it won't change performance.\n const { buffer, view, blockLen, isLE } = this;\n let { pos } = this;\n // append the bit '1' to the message\n buffer[pos++] = 0b10000000;\n this.buffer.subarray(pos).fill(0);\n // we have less than padOffset left in buffer, so we cannot put length in\n // current block, need process it and pad again\n if (this.padOffset > blockLen - pos) {\n this.process(view, 0);\n pos = 0;\n }\n // Pad until full block byte with zeros\n for (let i = pos; i < blockLen; i++) buffer[i] = 0;\n // Note: sha512 requires length to be 128bit integer, but length in JS will overflow before that\n // You need to write around 2 exabytes (u64_max / 8 / (1024**6)) for this to happen.\n // So we just write lowest 64 bits of that value.\n setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE);\n this.process(view, 0);\n const oview = createView(out);\n const len = this.outputLen;\n // NOTE: we do division by 4 later, which should be fused in single op with modulo by JIT\n if (len % 4) throw new Error('_sha2: outputLen should be aligned to 32bit');\n const outLen = len / 4;\n const state = this.get();\n if (outLen > state.length) throw new Error('_sha2: outputLen bigger than state');\n for (let i = 0; i < outLen; i++) oview.setUint32(4 * i, state[i], isLE);\n }\n digest() {\n const { buffer, outputLen } = this;\n this.digestInto(buffer);\n const res = buffer.slice(0, outputLen);\n this.destroy();\n return res;\n }\n _cloneInto(to?: T): T {\n to ||= new (this.constructor as any)() as T;\n to.set(...this.get());\n const { blockLen, buffer, length, finished, destroyed, pos } = this;\n to.length = length;\n to.pos = pos;\n to.finished = finished;\n to.destroyed = destroyed;\n if (length % blockLen) to.buffer.set(buffer);\n return to;\n }\n}\n", "import { HashMD, Chi, Maj } from './_md.js';\nimport { rotr, wrapConstructor } from './utils.js';\n\n// SHA2-256 need to try 2^128 hashes to execute birthday attack.\n// BTC network is doing 2^67 hashes/sec as per early 2023.\n\n// Round constants:\n// first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311)\n// prettier-ignore\nconst SHA256_K = /* @__PURE__ */ new Uint32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\n\n// Initial state:\n// first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19\n// prettier-ignore\nconst SHA256_IV = /* @__PURE__ */ new Uint32Array([\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n]);\n\n// Temporary buffer, not used to store anything between runs\n// Named this way because it matches specification.\nconst SHA256_W = /* @__PURE__ */ new Uint32Array(64);\nexport class SHA256 extends HashMD<SHA256> {\n // We cannot use array here since array allows indexing by variable\n // which means optimizer/compiler cannot use registers.\n A = SHA256_IV[0] | 0;\n B = SHA256_IV[1] | 0;\n C = SHA256_IV[2] | 0;\n D = SHA256_IV[3] | 0;\n E = SHA256_IV[4] | 0;\n F = SHA256_IV[5] | 0;\n G = SHA256_IV[6] | 0;\n H = SHA256_IV[7] | 0;\n\n constructor() {\n super(64, 32, 8, false);\n }\n protected get(): [number, number, number, number, number, number, number, number] {\n const { A, B, C, D, E, F, G, H } = this;\n return [A, B, C, D, E, F, G, H];\n }\n // prettier-ignore\n protected set(\n A: number, B: number, C: number, D: number, E: number, F: number, G: number, H: number\n ) {\n this.A = A | 0;\n this.B = B | 0;\n this.C = C | 0;\n this.D = D | 0;\n this.E = E | 0;\n this.F = F | 0;\n this.G = G | 0;\n this.H = H | 0;\n }\n protected process(view: DataView, offset: number): void {\n // Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array\n for (let i = 0; i < 16; i++, offset += 4) SHA256_W[i] = view.getUint32(offset, false);\n for (let i = 16; i < 64; i++) {\n const W15 = SHA256_W[i - 15];\n const W2 = SHA256_W[i - 2];\n const s0 = rotr(W15, 7) ^ rotr(W15, 18) ^ (W15 >>> 3);\n const s1 = rotr(W2, 17) ^ rotr(W2, 19) ^ (W2 >>> 10);\n SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0;\n }\n // Compression function main loop, 64 rounds\n let { A, B, C, D, E, F, G, H } = this;\n for (let i = 0; i < 64; i++) {\n const sigma1 = rotr(E, 6) ^ rotr(E, 11) ^ rotr(E, 25);\n const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;\n const sigma0 = rotr(A, 2) ^ rotr(A, 13) ^ rotr(A, 22);\n const T2 = (sigma0 + Maj(A, B, C)) | 0;\n H = G;\n G = F;\n F = E;\n E = (D + T1) | 0;\n D = C;\n C = B;\n B = A;\n A = (T1 + T2) | 0;\n }\n // Add the compressed chunk to the current hash value\n A = (A + this.A) | 0;\n B = (B + this.B) | 0;\n C = (C + this.C) | 0;\n D = (D + this.D) | 0;\n E = (E + this.E) | 0;\n F = (F + this.F) | 0;\n G = (G + this.G) | 0;\n H = (H + this.H) | 0;\n this.set(A, B, C, D, E, F, G, H);\n }\n protected roundClean() {\n SHA256_W.fill(0);\n }\n destroy() {\n this.set(0, 0, 0, 0, 0, 0, 0, 0);\n this.buffer.fill(0);\n }\n}\n// Constants from https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf\nclass SHA224 extends SHA256 {\n A = 0xc1059ed8 | 0;\n B = 0x367cd507 | 0;\n C = 0x3070dd17 | 0;\n D = 0xf70e5939 | 0;\n E = 0xffc00b31 | 0;\n F = 0x68581511 | 0;\n G = 0x64f98fa7 | 0;\n H = 0xbefa4fa4 | 0;\n constructor() {\n super();\n this.outputLen = 28;\n }\n}\n\n/**\n * SHA2-256 hash function\n * @param message - data that would be hashed\n */\nexport const sha256 = /* @__PURE__ */ wrapConstructor(() => new SHA256());\n/**\n * SHA2-224 hash function\n */\nexport const sha224 = /* @__PURE__ */ wrapConstructor(() => new SHA224());\n", "import {\n Canister,\n createServices,\n fromDefinedNullable,\n fromNullable,\n type QueryParams,\n} from \"@dfinity/utils\";\nimport type {\n BuyerState,\n GetAutoFinalizationStatusResponse,\n GetBuyerStateRequest,\n GetDerivedStateResponse,\n GetLifecycleResponse,\n GetSaleParametersResponse,\n GetStateResponse,\n RefreshBuyerTokensRequest,\n RefreshBuyerTokensResponse,\n _SERVICE as SnsSwapService,\n Ticket,\n} from \"../candid/sns_swap\";\nimport { idlFactory as certifiedIdlFactory } from \"../candid/sns_swap.certified.idl\";\nimport { idlFactory } from \"../candid/sns_swap.idl\";\nimport { toNewSaleTicketRequest } from \"./converters/swap.converters\";\nimport { UnsupportedMethodError } from \"./errors/common.errors\";\nimport {\n SnsSwapGetOpenTicketError,\n SnsSwapNewTicketError,\n} from \"./errors/swap.errors\";\nimport type { SnsCanisterOptions } from \"./types/canister.options\";\nimport type { NewSaleTicketParams } from \"./types/swap.params\";\nimport { isMethodNotSupportedError } from \"./utils/error.utils\";\n\nexport class SnsSwapCanister extends Canister<SnsSwapService> {\n static create(options: SnsCanisterOptions<SnsSwapService>) {\n const { service, certifiedService, canisterId } =\n createServices<SnsSwapService>({\n options,\n idlFactory,\n certifiedIdlFactory,\n });\n\n return new SnsSwapCanister(canisterId, service, certifiedService);\n }\n\n /**\n * Get the state of the swap\n */\n state = (params: QueryParams): Promise<GetStateResponse> =>\n this.caller(params).get_state({});\n\n /**\n * Notify of the payment failure to remove the ticket\n */\n notifyPaymentFailure = async (): Promise<Ticket | undefined> => {\n const { ticket } = await this.caller({\n certified: true,\n }).notify_payment_failure({});\n return fromNullable(ticket);\n };\n\n /**\n * Notify of the user participating in the swap\n */\n notifyParticipation = async (\n params: RefreshBuyerTokensRequest,\n ): Promise<RefreshBuyerTokensResponse> =>\n await this.caller({ certified: true }).refresh_buyer_tokens(params);\n\n /**\n * Get user commitment\n */\n getUserCommitment = async (\n params: GetBuyerStateRequest & QueryParams,\n ): Promise<BuyerState | undefined> => {\n const { buyer_state } = await this.caller({\n certified: params.certified,\n }).get_buyer_state({ principal_id: params.principal_id });\n return fromNullable(buyer_state);\n };\n\n /**\n * Get sale buyers state\n */\n getDerivedState = ({\n certified,\n }: QueryParams): Promise<GetDerivedStateResponse> =>\n this.caller({ certified }).get_derived_state({});\n\n /**\n * Get sale parameters\n */\n getSaleParameters = ({\n certified,\n }: QueryParams): Promise<GetSaleParametersResponse> =>\n this.caller({ certified }).get_sale_parameters({});\n\n /**\n * Return a sale ticket if created and not yet removed (payment flow)\n */\n getOpenTicket = async (params: QueryParams): Promise<Ticket | undefined> => {\n const { result: response } = await this.caller({\n certified: params.certified,\n }).get_open_ticket({});\n const result = fromDefinedNullable(response);\n\n if (\"Ok\" in result) {\n return fromNullable(result.Ok.ticket);\n }\n\n const errorType = fromDefinedNullable(result?.Err?.error_type);\n throw new SnsSwapGetOpenTicketError(errorType);\n };\n\n /**\n * Create a sale ticket (payment flow)\n */\n newSaleTicket = async (params: NewSaleTicketParams): Promise<Ticket> => {\n const request = toNewSaleTicketRequest(params);\n const { result: response } = await this.caller({\n certified: true,\n }).new_sale_ticket(request);\n\n const result = fromDefinedNullable(response);\n\n if (\"Ok\" in result) {\n return fromDefinedNullable(result.Ok.ticket);\n }\n\n const errorData = result.Err;\n const error = new SnsSwapNewTicketError({\n errorType: errorData.error_type,\n invalidUserAmount: fromNullable(errorData.invalid_user_amount ?? []),\n existingTicket: fromNullable(errorData.existing_ticket ?? []),\n });\n\n throw error;\n };\n\n /**\n * Get sale lifecycle state\n */\n getLifecycle = (params: QueryParams): Promise<GetLifecycleResponse> =>\n this.caller(params).get_lifecycle({});\n\n /**\n * Get sale lifecycle state\n */\n getFinalizationStatus = async (\n params: QueryParams,\n ): Promise<GetAutoFinalizationStatusResponse> => {\n try {\n return await this.caller(params).get_auto_finalization_status({});\n } catch (error) {\n // Throw a custom error if the method is not supported by the canister\n if (isMethodNotSupportedError(error)) {\n throw new UnsupportedMethodError(\"getFinalizationStatus\");\n }\n throw error;\n }\n };\n}\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_swap.did */\nexport const idlFactory = ({ IDL }) => {\n const NeuronBasketConstructionParameters = IDL.Record({\n 'dissolve_delay_interval_seconds' : IDL.Nat64,\n 'count' : IDL.Nat64,\n });\n const LinearScalingCoefficient = IDL.Record({\n 'slope_numerator' : IDL.Opt(IDL.Nat64),\n 'intercept_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'from_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'slope_denominator' : IDL.Opt(IDL.Nat64),\n 'to_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n });\n const IdealMatchedParticipationFunction = IDL.Record({\n 'serialized_representation' : IDL.Opt(IDL.Text),\n });\n const NeuronsFundParticipationConstraints = IDL.Record({\n 'coefficient_intervals' : IDL.Vec(LinearScalingCoefficient),\n 'max_neurons_fund_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'min_direct_participation_threshold_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'ideal_matched_participation_function' : IDL.Opt(\n IdealMatchedParticipationFunction\n ),\n });\n const Countries = IDL.Record({ 'iso_codes' : IDL.Vec(IDL.Text) });\n const Init = IDL.Record({\n 'nns_proposal_id' : IDL.Opt(IDL.Nat64),\n 'sns_root_canister_id' : IDL.Text,\n 'neurons_fund_participation' : IDL.Opt(IDL.Bool),\n 'min_participant_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'neuron_basket_construction_parameters' : IDL.Opt(\n NeuronBasketConstructionParameters\n ),\n 'fallback_controller_principal_ids' : IDL.Vec(IDL.Text),\n 'max_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'confirmation_text' : IDL.Opt(IDL.Text),\n 'swap_start_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'swap_due_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'min_participants' : IDL.Opt(IDL.Nat32),\n 'sns_token_e8s' : IDL.Opt(IDL.Nat64),\n 'nns_governance_canister_id' : IDL.Text,\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'icp_ledger_canister_id' : IDL.Text,\n 'sns_ledger_canister_id' : IDL.Text,\n 'neurons_fund_participation_constraints' : IDL.Opt(\n NeuronsFundParticipationConstraints\n ),\n 'should_auto_finalize' : IDL.Opt(IDL.Bool),\n 'max_participant_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'sns_governance_canister_id' : IDL.Text,\n 'min_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'restricted_countries' : IDL.Opt(Countries),\n 'min_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'max_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n });\n const ErrorRefundIcpRequest = IDL.Record({\n 'source_principal_id' : IDL.Opt(IDL.Principal),\n });\n const Ok = IDL.Record({ 'block_height' : IDL.Opt(IDL.Nat64) });\n const Err = IDL.Record({\n 'description' : IDL.Opt(IDL.Text),\n 'error_type' : IDL.Opt(IDL.Int32),\n });\n const Result = IDL.Variant({ 'Ok' : Ok, 'Err' : Err });\n const ErrorRefundIcpResponse = IDL.Record({ 'result' : IDL.Opt(Result) });\n const CanisterCallError = IDL.Record({\n 'code' : IDL.Opt(IDL.Int32),\n 'description' : IDL.Text,\n });\n const FailedUpdate = IDL.Record({\n 'err' : IDL.Opt(CanisterCallError),\n 'dapp_canister_id' : IDL.Opt(IDL.Principal),\n });\n const SetDappControllersResponse = IDL.Record({\n 'failed_updates' : IDL.Vec(FailedUpdate),\n });\n const Possibility = IDL.Variant({\n 'Ok' : SetDappControllersResponse,\n 'Err' : CanisterCallError,\n });\n const SetDappControllersCallResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility),\n });\n const SweepResult = IDL.Record({\n 'failure' : IDL.Nat32,\n 'skipped' : IDL.Nat32,\n 'invalid' : IDL.Nat32,\n 'success' : IDL.Nat32,\n 'global_failures' : IDL.Nat32,\n });\n const GovernanceError = IDL.Record({\n 'error_message' : IDL.Text,\n 'error_type' : IDL.Int32,\n });\n const Response = IDL.Record({\n 'governance_error' : IDL.Opt(GovernanceError),\n });\n const Possibility_1 = IDL.Variant({\n 'Ok' : Response,\n 'Err' : CanisterCallError,\n });\n const SettleCommunityFundParticipationResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility_1),\n });\n const Ok_1 = IDL.Record({\n 'neurons_fund_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'neurons_fund_neurons_count' : IDL.Opt(IDL.Nat64),\n });\n const Error = IDL.Record({ 'message' : IDL.Opt(IDL.Text) });\n const Possibility_2 = IDL.Variant({ 'Ok' : Ok_1, 'Err' : Error });\n const SettleNeuronsFundParticipationResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility_2),\n });\n const Possibility_3 = IDL.Variant({\n 'Ok' : IDL.Record({}),\n 'Err' : CanisterCallError,\n });\n const SetModeCallResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility_3),\n });\n const FinalizeSwapResponse = IDL.Record({\n 'set_dapp_controllers_call_result' : IDL.Opt(SetDappControllersCallResult),\n 'create_sns_neuron_recipes_result' : IDL.Opt(SweepResult),\n 'settle_community_fund_participation_result' : IDL.Opt(\n SettleCommunityFundParticipationResult\n ),\n 'error_message' : IDL.Opt(IDL.Text),\n 'settle_neurons_fund_participation_result' : IDL.Opt(\n SettleNeuronsFundParticipationResult\n ),\n 'set_mode_call_result' : IDL.Opt(SetModeCallResult),\n 'sweep_icp_result' : IDL.Opt(SweepResult),\n 'claim_neuron_result' : IDL.Opt(SweepResult),\n 'sweep_sns_result' : IDL.Opt(SweepResult),\n });\n const GetAutoFinalizationStatusResponse = IDL.Record({\n 'auto_finalize_swap_response' : IDL.Opt(FinalizeSwapResponse),\n 'has_auto_finalize_been_attempted' : IDL.Opt(IDL.Bool),\n 'is_auto_finalize_enabled' : IDL.Opt(IDL.Bool),\n });\n const GetBuyerStateRequest = IDL.Record({\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const TransferableAmount = IDL.Record({\n 'transfer_fee_paid_e8s' : IDL.Opt(IDL.Nat64),\n 'transfer_start_timestamp_seconds' : IDL.Nat64,\n 'amount_e8s' : IDL.Nat64,\n 'amount_transferred_e8s' : IDL.Opt(IDL.Nat64),\n 'transfer_success_timestamp_seconds' : IDL.Nat64,\n });\n const BuyerState = IDL.Record({\n 'icp' : IDL.Opt(TransferableAmount),\n 'has_created_neuron_recipes' : IDL.Opt(IDL.Bool),\n });\n const GetBuyerStateResponse = IDL.Record({\n 'buyer_state' : IDL.Opt(BuyerState),\n });\n const GetBuyersTotalResponse = IDL.Record({ 'buyers_total' : IDL.Nat64 });\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 '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 GetDerivedStateResponse = IDL.Record({\n 'sns_tokens_per_icp' : IDL.Opt(IDL.Float64),\n 'buyer_total_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'cf_participant_count' : IDL.Opt(IDL.Nat64),\n 'neurons_fund_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'direct_participant_count' : IDL.Opt(IDL.Nat64),\n 'cf_neuron_count' : IDL.Opt(IDL.Nat64),\n });\n const GetInitResponse = IDL.Record({ 'init' : IDL.Opt(Init) });\n const GetLifecycleResponse = IDL.Record({\n 'decentralization_sale_open_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'lifecycle' : IDL.Opt(IDL.Int32),\n 'decentralization_swap_termination_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Icrc1Account = IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const Ticket = IDL.Record({\n 'creation_time' : IDL.Nat64,\n 'ticket_id' : IDL.Nat64,\n 'account' : IDL.Opt(Icrc1Account),\n 'amount_icp_e8s' : IDL.Nat64,\n });\n const Ok_2 = IDL.Record({ 'ticket' : IDL.Opt(Ticket) });\n const Err_1 = IDL.Record({ 'error_type' : IDL.Opt(IDL.Int32) });\n const Result_1 = IDL.Variant({ 'Ok' : Ok_2, 'Err' : Err_1 });\n const GetOpenTicketResponse = IDL.Record({ 'result' : IDL.Opt(Result_1) });\n const Params = IDL.Record({\n 'min_participant_icp_e8s' : IDL.Nat64,\n 'neuron_basket_construction_parameters' : IDL.Opt(\n NeuronBasketConstructionParameters\n ),\n 'max_icp_e8s' : IDL.Nat64,\n 'swap_due_timestamp_seconds' : IDL.Nat64,\n 'min_participants' : IDL.Nat32,\n 'sns_token_e8s' : IDL.Nat64,\n 'sale_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'max_participant_icp_e8s' : IDL.Nat64,\n 'min_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'min_icp_e8s' : IDL.Nat64,\n 'max_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n });\n const GetSaleParametersResponse = IDL.Record({ 'params' : IDL.Opt(Params) });\n const NeuronId = IDL.Record({ 'id' : IDL.Vec(IDL.Nat8) });\n const NeuronAttributes = IDL.Record({\n 'dissolve_delay_seconds' : IDL.Nat64,\n 'memo' : IDL.Nat64,\n 'followees' : IDL.Vec(NeuronId),\n });\n const Principals = IDL.Record({ 'principals' : IDL.Vec(IDL.Principal) });\n const CfInvestment = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'hotkey_principal' : IDL.Text,\n 'hotkeys' : IDL.Opt(Principals),\n 'nns_neuron_id' : IDL.Nat64,\n });\n const DirectInvestment = IDL.Record({ 'buyer_principal' : IDL.Text });\n const Investor = IDL.Variant({\n 'CommunityFund' : CfInvestment,\n 'Direct' : DirectInvestment,\n });\n const SnsNeuronRecipe = IDL.Record({\n 'sns' : IDL.Opt(TransferableAmount),\n 'claimed_status' : IDL.Opt(IDL.Int32),\n 'neuron_attributes' : IDL.Opt(NeuronAttributes),\n 'investor' : IDL.Opt(Investor),\n });\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 CfNeuron = IDL.Record({\n 'has_created_neuron_recipes' : IDL.Opt(IDL.Bool),\n 'hotkeys' : IDL.Opt(Principals),\n 'nns_neuron_id' : IDL.Nat64,\n 'amount_icp_e8s' : IDL.Nat64,\n });\n const CfParticipant = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'hotkey_principal' : IDL.Text,\n 'cf_neurons' : IDL.Vec(CfNeuron),\n });\n const Swap = IDL.Record({\n 'auto_finalize_swap_response' : IDL.Opt(FinalizeSwapResponse),\n 'neuron_recipes' : IDL.Vec(SnsNeuronRecipe),\n 'next_ticket_id' : IDL.Opt(IDL.Nat64),\n 'decentralization_sale_open_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'finalize_swap_in_progress' : IDL.Opt(IDL.Bool),\n 'timers' : IDL.Opt(Timers),\n 'cf_participants' : IDL.Vec(CfParticipant),\n 'init' : IDL.Opt(Init),\n 'already_tried_to_auto_finalize' : IDL.Opt(IDL.Bool),\n 'neurons_fund_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'purge_old_tickets_last_completion_timestamp_nanoseconds' : IDL.Opt(\n IDL.Nat64\n ),\n 'direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'lifecycle' : IDL.Int32,\n 'purge_old_tickets_next_principal' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'decentralization_swap_termination_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'buyers' : IDL.Vec(IDL.Tuple(IDL.Text, BuyerState)),\n 'params' : IDL.Opt(Params),\n 'open_sns_token_swap_proposal_id' : IDL.Opt(IDL.Nat64),\n });\n const DerivedState = IDL.Record({\n 'sns_tokens_per_icp' : IDL.Float32,\n 'buyer_total_icp_e8s' : IDL.Nat64,\n 'cf_participant_count' : IDL.Opt(IDL.Nat64),\n 'neurons_fund_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'direct_participant_count' : IDL.Opt(IDL.Nat64),\n 'cf_neuron_count' : IDL.Opt(IDL.Nat64),\n });\n const GetStateResponse = IDL.Record({\n 'swap' : IDL.Opt(Swap),\n 'derived' : IDL.Opt(DerivedState),\n });\n const GetTimersResponse = IDL.Record({ 'timers' : IDL.Opt(Timers) });\n const ListCommunityFundParticipantsRequest = IDL.Record({\n 'offset' : IDL.Opt(IDL.Nat64),\n 'limit' : IDL.Opt(IDL.Nat32),\n });\n const ListCommunityFundParticipantsResponse = IDL.Record({\n 'cf_participants' : IDL.Vec(CfParticipant),\n });\n const ListDirectParticipantsRequest = IDL.Record({\n 'offset' : IDL.Opt(IDL.Nat32),\n 'limit' : IDL.Opt(IDL.Nat32),\n });\n const Participant = IDL.Record({\n 'participation' : IDL.Opt(BuyerState),\n 'participant_id' : IDL.Opt(IDL.Principal),\n });\n const ListDirectParticipantsResponse = IDL.Record({\n 'participants' : IDL.Vec(Participant),\n });\n const ListSnsNeuronRecipesRequest = IDL.Record({\n 'offset' : IDL.Opt(IDL.Nat64),\n 'limit' : IDL.Opt(IDL.Nat32),\n });\n const ListSnsNeuronRecipesResponse = IDL.Record({\n 'sns_neuron_recipes' : IDL.Vec(SnsNeuronRecipe),\n });\n const NewSaleTicketRequest = IDL.Record({\n 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'amount_icp_e8s' : IDL.Nat64,\n });\n const InvalidUserAmount = IDL.Record({\n 'min_amount_icp_e8s_included' : IDL.Nat64,\n 'max_amount_icp_e8s_included' : IDL.Nat64,\n });\n const Err_2 = IDL.Record({\n 'invalid_user_amount' : IDL.Opt(InvalidUserAmount),\n 'existing_ticket' : IDL.Opt(Ticket),\n 'error_type' : IDL.Int32,\n });\n const Result_2 = IDL.Variant({ 'Ok' : Ok_2, 'Err' : Err_2 });\n const NewSaleTicketResponse = IDL.Record({ 'result' : IDL.Opt(Result_2) });\n const RefreshBuyerTokensRequest = IDL.Record({\n 'confirmation_text' : IDL.Opt(IDL.Text),\n 'buyer' : IDL.Text,\n });\n const RefreshBuyerTokensResponse = IDL.Record({\n 'icp_accepted_participation_e8s' : IDL.Nat64,\n 'icp_ledger_account_balance_e8s' : IDL.Nat64,\n });\n return IDL.Service({\n 'error_refund_icp' : IDL.Func(\n [ErrorRefundIcpRequest],\n [ErrorRefundIcpResponse],\n [],\n ),\n 'finalize_swap' : IDL.Func([IDL.Record({})], [FinalizeSwapResponse], []),\n 'get_auto_finalization_status' : IDL.Func(\n [IDL.Record({})],\n [GetAutoFinalizationStatusResponse],\n [],\n ),\n 'get_buyer_state' : IDL.Func(\n [GetBuyerStateRequest],\n [GetBuyerStateResponse],\n [],\n ),\n 'get_buyers_total' : IDL.Func(\n [IDL.Record({})],\n [GetBuyersTotalResponse],\n [],\n ),\n 'get_canister_status' : IDL.Func(\n [IDL.Record({})],\n [CanisterStatusResultV2],\n [],\n ),\n 'get_derived_state' : IDL.Func(\n [IDL.Record({})],\n [GetDerivedStateResponse],\n [],\n ),\n 'get_init' : IDL.Func([IDL.Record({})], [GetInitResponse], []),\n 'get_lifecycle' : IDL.Func([IDL.Record({})], [GetLifecycleResponse], []),\n 'get_open_ticket' : IDL.Func([IDL.Record({})], [GetOpenTicketResponse], []),\n 'get_sale_parameters' : IDL.Func(\n [IDL.Record({})],\n [GetSaleParametersResponse],\n [],\n ),\n 'get_state' : IDL.Func([IDL.Record({})], [GetStateResponse], []),\n 'get_timers' : IDL.Func([IDL.Record({})], [GetTimersResponse], []),\n 'list_community_fund_participants' : IDL.Func(\n [ListCommunityFundParticipantsRequest],\n [ListCommunityFundParticipantsResponse],\n [],\n ),\n 'list_direct_participants' : IDL.Func(\n [ListDirectParticipantsRequest],\n [ListDirectParticipantsResponse],\n [],\n ),\n 'list_sns_neuron_recipes' : IDL.Func(\n [ListSnsNeuronRecipesRequest],\n [ListSnsNeuronRecipesResponse],\n [],\n ),\n 'new_sale_ticket' : IDL.Func(\n [NewSaleTicketRequest],\n [NewSaleTicketResponse],\n [],\n ),\n 'notify_payment_failure' : IDL.Func([IDL.Record({})], [Ok_2], []),\n 'refresh_buyer_tokens' : IDL.Func(\n [RefreshBuyerTokensRequest],\n [RefreshBuyerTokensResponse],\n [],\n ),\n 'reset_timers' : IDL.Func([IDL.Record({})], [IDL.Record({})], []),\n });\n};\nexport const init = ({ IDL }) => {\n const NeuronBasketConstructionParameters = IDL.Record({\n 'dissolve_delay_interval_seconds' : IDL.Nat64,\n 'count' : IDL.Nat64,\n });\n const LinearScalingCoefficient = IDL.Record({\n 'slope_numerator' : IDL.Opt(IDL.Nat64),\n 'intercept_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'from_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'slope_denominator' : IDL.Opt(IDL.Nat64),\n 'to_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n });\n const IdealMatchedParticipationFunction = IDL.Record({\n 'serialized_representation' : IDL.Opt(IDL.Text),\n });\n const NeuronsFundParticipationConstraints = IDL.Record({\n 'coefficient_intervals' : IDL.Vec(LinearScalingCoefficient),\n 'max_neurons_fund_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'min_direct_participation_threshold_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'ideal_matched_participation_function' : IDL.Opt(\n IdealMatchedParticipationFunction\n ),\n });\n const Countries = IDL.Record({ 'iso_codes' : IDL.Vec(IDL.Text) });\n const Init = IDL.Record({\n 'nns_proposal_id' : IDL.Opt(IDL.Nat64),\n 'sns_root_canister_id' : IDL.Text,\n 'neurons_fund_participation' : IDL.Opt(IDL.Bool),\n 'min_participant_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'neuron_basket_construction_parameters' : IDL.Opt(\n NeuronBasketConstructionParameters\n ),\n 'fallback_controller_principal_ids' : IDL.Vec(IDL.Text),\n 'max_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'confirmation_text' : IDL.Opt(IDL.Text),\n 'swap_start_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'swap_due_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'min_participants' : IDL.Opt(IDL.Nat32),\n 'sns_token_e8s' : IDL.Opt(IDL.Nat64),\n 'nns_governance_canister_id' : IDL.Text,\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'icp_ledger_canister_id' : IDL.Text,\n 'sns_ledger_canister_id' : IDL.Text,\n 'neurons_fund_participation_constraints' : IDL.Opt(\n NeuronsFundParticipationConstraints\n ),\n 'should_auto_finalize' : IDL.Opt(IDL.Bool),\n 'max_participant_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'sns_governance_canister_id' : IDL.Text,\n 'min_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'restricted_countries' : IDL.Opt(Countries),\n 'min_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'max_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n });\n return [Init];\n};\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_swap.did */\nexport const idlFactory = ({ IDL }) => {\n const NeuronBasketConstructionParameters = IDL.Record({\n 'dissolve_delay_interval_seconds' : IDL.Nat64,\n 'count' : IDL.Nat64,\n });\n const LinearScalingCoefficient = IDL.Record({\n 'slope_numerator' : IDL.Opt(IDL.Nat64),\n 'intercept_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'from_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'slope_denominator' : IDL.Opt(IDL.Nat64),\n 'to_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n });\n const IdealMatchedParticipationFunction = IDL.Record({\n 'serialized_representation' : IDL.Opt(IDL.Text),\n });\n const NeuronsFundParticipationConstraints = IDL.Record({\n 'coefficient_intervals' : IDL.Vec(LinearScalingCoefficient),\n 'max_neurons_fund_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'min_direct_participation_threshold_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'ideal_matched_participation_function' : IDL.Opt(\n IdealMatchedParticipationFunction\n ),\n });\n const Countries = IDL.Record({ 'iso_codes' : IDL.Vec(IDL.Text) });\n const Init = IDL.Record({\n 'nns_proposal_id' : IDL.Opt(IDL.Nat64),\n 'sns_root_canister_id' : IDL.Text,\n 'neurons_fund_participation' : IDL.Opt(IDL.Bool),\n 'min_participant_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'neuron_basket_construction_parameters' : IDL.Opt(\n NeuronBasketConstructionParameters\n ),\n 'fallback_controller_principal_ids' : IDL.Vec(IDL.Text),\n 'max_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'confirmation_text' : IDL.Opt(IDL.Text),\n 'swap_start_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'swap_due_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'min_participants' : IDL.Opt(IDL.Nat32),\n 'sns_token_e8s' : IDL.Opt(IDL.Nat64),\n 'nns_governance_canister_id' : IDL.Text,\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'icp_ledger_canister_id' : IDL.Text,\n 'sns_ledger_canister_id' : IDL.Text,\n 'neurons_fund_participation_constraints' : IDL.Opt(\n NeuronsFundParticipationConstraints\n ),\n 'should_auto_finalize' : IDL.Opt(IDL.Bool),\n 'max_participant_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'sns_governance_canister_id' : IDL.Text,\n 'min_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'restricted_countries' : IDL.Opt(Countries),\n 'min_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'max_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n });\n const ErrorRefundIcpRequest = IDL.Record({\n 'source_principal_id' : IDL.Opt(IDL.Principal),\n });\n const Ok = IDL.Record({ 'block_height' : IDL.Opt(IDL.Nat64) });\n const Err = IDL.Record({\n 'description' : IDL.Opt(IDL.Text),\n 'error_type' : IDL.Opt(IDL.Int32),\n });\n const Result = IDL.Variant({ 'Ok' : Ok, 'Err' : Err });\n const ErrorRefundIcpResponse = IDL.Record({ 'result' : IDL.Opt(Result) });\n const CanisterCallError = IDL.Record({\n 'code' : IDL.Opt(IDL.Int32),\n 'description' : IDL.Text,\n });\n const FailedUpdate = IDL.Record({\n 'err' : IDL.Opt(CanisterCallError),\n 'dapp_canister_id' : IDL.Opt(IDL.Principal),\n });\n const SetDappControllersResponse = IDL.Record({\n 'failed_updates' : IDL.Vec(FailedUpdate),\n });\n const Possibility = IDL.Variant({\n 'Ok' : SetDappControllersResponse,\n 'Err' : CanisterCallError,\n });\n const SetDappControllersCallResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility),\n });\n const SweepResult = IDL.Record({\n 'failure' : IDL.Nat32,\n 'skipped' : IDL.Nat32,\n 'invalid' : IDL.Nat32,\n 'success' : IDL.Nat32,\n 'global_failures' : IDL.Nat32,\n });\n const GovernanceError = IDL.Record({\n 'error_message' : IDL.Text,\n 'error_type' : IDL.Int32,\n });\n const Response = IDL.Record({\n 'governance_error' : IDL.Opt(GovernanceError),\n });\n const Possibility_1 = IDL.Variant({\n 'Ok' : Response,\n 'Err' : CanisterCallError,\n });\n const SettleCommunityFundParticipationResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility_1),\n });\n const Ok_1 = IDL.Record({\n 'neurons_fund_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'neurons_fund_neurons_count' : IDL.Opt(IDL.Nat64),\n });\n const Error = IDL.Record({ 'message' : IDL.Opt(IDL.Text) });\n const Possibility_2 = IDL.Variant({ 'Ok' : Ok_1, 'Err' : Error });\n const SettleNeuronsFundParticipationResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility_2),\n });\n const Possibility_3 = IDL.Variant({\n 'Ok' : IDL.Record({}),\n 'Err' : CanisterCallError,\n });\n const SetModeCallResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility_3),\n });\n const FinalizeSwapResponse = IDL.Record({\n 'set_dapp_controllers_call_result' : IDL.Opt(SetDappControllersCallResult),\n 'create_sns_neuron_recipes_result' : IDL.Opt(SweepResult),\n 'settle_community_fund_participation_result' : IDL.Opt(\n SettleCommunityFundParticipationResult\n ),\n 'error_message' : IDL.Opt(IDL.Text),\n 'settle_neurons_fund_participation_result' : IDL.Opt(\n SettleNeuronsFundParticipationResult\n ),\n 'set_mode_call_result' : IDL.Opt(SetModeCallResult),\n 'sweep_icp_result' : IDL.Opt(SweepResult),\n 'claim_neuron_result' : IDL.Opt(SweepResult),\n 'sweep_sns_result' : IDL.Opt(SweepResult),\n });\n const GetAutoFinalizationStatusResponse = IDL.Record({\n 'auto_finalize_swap_response' : IDL.Opt(FinalizeSwapResponse),\n 'has_auto_finalize_been_attempted' : IDL.Opt(IDL.Bool),\n 'is_auto_finalize_enabled' : IDL.Opt(IDL.Bool),\n });\n const GetBuyerStateRequest = IDL.Record({\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const TransferableAmount = IDL.Record({\n 'transfer_fee_paid_e8s' : IDL.Opt(IDL.Nat64),\n 'transfer_start_timestamp_seconds' : IDL.Nat64,\n 'amount_e8s' : IDL.Nat64,\n 'amount_transferred_e8s' : IDL.Opt(IDL.Nat64),\n 'transfer_success_timestamp_seconds' : IDL.Nat64,\n });\n const BuyerState = IDL.Record({\n 'icp' : IDL.Opt(TransferableAmount),\n 'has_created_neuron_recipes' : IDL.Opt(IDL.Bool),\n });\n const GetBuyerStateResponse = IDL.Record({\n 'buyer_state' : IDL.Opt(BuyerState),\n });\n const GetBuyersTotalResponse = IDL.Record({ 'buyers_total' : IDL.Nat64 });\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 '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 GetDerivedStateResponse = IDL.Record({\n 'sns_tokens_per_icp' : IDL.Opt(IDL.Float64),\n 'buyer_total_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'cf_participant_count' : IDL.Opt(IDL.Nat64),\n 'neurons_fund_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'direct_participant_count' : IDL.Opt(IDL.Nat64),\n 'cf_neuron_count' : IDL.Opt(IDL.Nat64),\n });\n const GetInitResponse = IDL.Record({ 'init' : IDL.Opt(Init) });\n const GetLifecycleResponse = IDL.Record({\n 'decentralization_sale_open_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'lifecycle' : IDL.Opt(IDL.Int32),\n 'decentralization_swap_termination_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Icrc1Account = IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const Ticket = IDL.Record({\n 'creation_time' : IDL.Nat64,\n 'ticket_id' : IDL.Nat64,\n 'account' : IDL.Opt(Icrc1Account),\n 'amount_icp_e8s' : IDL.Nat64,\n });\n const Ok_2 = IDL.Record({ 'ticket' : IDL.Opt(Ticket) });\n const Err_1 = IDL.Record({ 'error_type' : IDL.Opt(IDL.Int32) });\n const Result_1 = IDL.Variant({ 'Ok' : Ok_2, 'Err' : Err_1 });\n const GetOpenTicketResponse = IDL.Record({ 'result' : IDL.Opt(Result_1) });\n const Params = IDL.Record({\n 'min_participant_icp_e8s' : IDL.Nat64,\n 'neuron_basket_construction_parameters' : IDL.Opt(\n NeuronBasketConstructionParameters\n ),\n 'max_icp_e8s' : IDL.Nat64,\n 'swap_due_timestamp_seconds' : IDL.Nat64,\n 'min_participants' : IDL.Nat32,\n 'sns_token_e8s' : IDL.Nat64,\n 'sale_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'max_participant_icp_e8s' : IDL.Nat64,\n 'min_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'min_icp_e8s' : IDL.Nat64,\n 'max_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n });\n const GetSaleParametersResponse = IDL.Record({ 'params' : IDL.Opt(Params) });\n const NeuronId = IDL.Record({ 'id' : IDL.Vec(IDL.Nat8) });\n const NeuronAttributes = IDL.Record({\n 'dissolve_delay_seconds' : IDL.Nat64,\n 'memo' : IDL.Nat64,\n 'followees' : IDL.Vec(NeuronId),\n });\n const Principals = IDL.Record({ 'principals' : IDL.Vec(IDL.Principal) });\n const CfInvestment = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'hotkey_principal' : IDL.Text,\n 'hotkeys' : IDL.Opt(Principals),\n 'nns_neuron_id' : IDL.Nat64,\n });\n const DirectInvestment = IDL.Record({ 'buyer_principal' : IDL.Text });\n const Investor = IDL.Variant({\n 'CommunityFund' : CfInvestment,\n 'Direct' : DirectInvestment,\n });\n const SnsNeuronRecipe = IDL.Record({\n 'sns' : IDL.Opt(TransferableAmount),\n 'claimed_status' : IDL.Opt(IDL.Int32),\n 'neuron_attributes' : IDL.Opt(NeuronAttributes),\n 'investor' : IDL.Opt(Investor),\n });\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 CfNeuron = IDL.Record({\n 'has_created_neuron_recipes' : IDL.Opt(IDL.Bool),\n 'hotkeys' : IDL.Opt(Principals),\n 'nns_neuron_id' : IDL.Nat64,\n 'amount_icp_e8s' : IDL.Nat64,\n });\n const CfParticipant = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'hotkey_principal' : IDL.Text,\n 'cf_neurons' : IDL.Vec(CfNeuron),\n });\n const Swap = IDL.Record({\n 'auto_finalize_swap_response' : IDL.Opt(FinalizeSwapResponse),\n 'neuron_recipes' : IDL.Vec(SnsNeuronRecipe),\n 'next_ticket_id' : IDL.Opt(IDL.Nat64),\n 'decentralization_sale_open_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'finalize_swap_in_progress' : IDL.Opt(IDL.Bool),\n 'timers' : IDL.Opt(Timers),\n 'cf_participants' : IDL.Vec(CfParticipant),\n 'init' : IDL.Opt(Init),\n 'already_tried_to_auto_finalize' : IDL.Opt(IDL.Bool),\n 'neurons_fund_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'purge_old_tickets_last_completion_timestamp_nanoseconds' : IDL.Opt(\n IDL.Nat64\n ),\n 'direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'lifecycle' : IDL.Int32,\n 'purge_old_tickets_next_principal' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'decentralization_swap_termination_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'buyers' : IDL.Vec(IDL.Tuple(IDL.Text, BuyerState)),\n 'params' : IDL.Opt(Params),\n 'open_sns_token_swap_proposal_id' : IDL.Opt(IDL.Nat64),\n });\n const DerivedState = IDL.Record({\n 'sns_tokens_per_icp' : IDL.Float32,\n 'buyer_total_icp_e8s' : IDL.Nat64,\n 'cf_participant_count' : IDL.Opt(IDL.Nat64),\n 'neurons_fund_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'direct_participant_count' : IDL.Opt(IDL.Nat64),\n 'cf_neuron_count' : IDL.Opt(IDL.Nat64),\n });\n const GetStateResponse = IDL.Record({\n 'swap' : IDL.Opt(Swap),\n 'derived' : IDL.Opt(DerivedState),\n });\n const GetTimersResponse = IDL.Record({ 'timers' : IDL.Opt(Timers) });\n const ListCommunityFundParticipantsRequest = IDL.Record({\n 'offset' : IDL.Opt(IDL.Nat64),\n 'limit' : IDL.Opt(IDL.Nat32),\n });\n const ListCommunityFundParticipantsResponse = IDL.Record({\n 'cf_participants' : IDL.Vec(CfParticipant),\n });\n const ListDirectParticipantsRequest = IDL.Record({\n 'offset' : IDL.Opt(IDL.Nat32),\n 'limit' : IDL.Opt(IDL.Nat32),\n });\n const Participant = IDL.Record({\n 'participation' : IDL.Opt(BuyerState),\n 'participant_id' : IDL.Opt(IDL.Principal),\n });\n const ListDirectParticipantsResponse = IDL.Record({\n 'participants' : IDL.Vec(Participant),\n });\n const ListSnsNeuronRecipesRequest = IDL.Record({\n 'offset' : IDL.Opt(IDL.Nat64),\n 'limit' : IDL.Opt(IDL.Nat32),\n });\n const ListSnsNeuronRecipesResponse = IDL.Record({\n 'sns_neuron_recipes' : IDL.Vec(SnsNeuronRecipe),\n });\n const NewSaleTicketRequest = IDL.Record({\n 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'amount_icp_e8s' : IDL.Nat64,\n });\n const InvalidUserAmount = IDL.Record({\n 'min_amount_icp_e8s_included' : IDL.Nat64,\n 'max_amount_icp_e8s_included' : IDL.Nat64,\n });\n const Err_2 = IDL.Record({\n 'invalid_user_amount' : IDL.Opt(InvalidUserAmount),\n 'existing_ticket' : IDL.Opt(Ticket),\n 'error_type' : IDL.Int32,\n });\n const Result_2 = IDL.Variant({ 'Ok' : Ok_2, 'Err' : Err_2 });\n const NewSaleTicketResponse = IDL.Record({ 'result' : IDL.Opt(Result_2) });\n const RefreshBuyerTokensRequest = IDL.Record({\n 'confirmation_text' : IDL.Opt(IDL.Text),\n 'buyer' : IDL.Text,\n });\n const RefreshBuyerTokensResponse = IDL.Record({\n 'icp_accepted_participation_e8s' : IDL.Nat64,\n 'icp_ledger_account_balance_e8s' : IDL.Nat64,\n });\n return IDL.Service({\n 'error_refund_icp' : IDL.Func(\n [ErrorRefundIcpRequest],\n [ErrorRefundIcpResponse],\n [],\n ),\n 'finalize_swap' : IDL.Func([IDL.Record({})], [FinalizeSwapResponse], []),\n 'get_auto_finalization_status' : IDL.Func(\n [IDL.Record({})],\n [GetAutoFinalizationStatusResponse],\n ['query'],\n ),\n 'get_buyer_state' : IDL.Func(\n [GetBuyerStateRequest],\n [GetBuyerStateResponse],\n ['query'],\n ),\n 'get_buyers_total' : IDL.Func(\n [IDL.Record({})],\n [GetBuyersTotalResponse],\n [],\n ),\n 'get_canister_status' : IDL.Func(\n [IDL.Record({})],\n [CanisterStatusResultV2],\n [],\n ),\n 'get_derived_state' : IDL.Func(\n [IDL.Record({})],\n [GetDerivedStateResponse],\n ['query'],\n ),\n 'get_init' : IDL.Func([IDL.Record({})], [GetInitResponse], ['query']),\n 'get_lifecycle' : IDL.Func(\n [IDL.Record({})],\n [GetLifecycleResponse],\n ['query'],\n ),\n 'get_open_ticket' : IDL.Func(\n [IDL.Record({})],\n [GetOpenTicketResponse],\n ['query'],\n ),\n 'get_sale_parameters' : IDL.Func(\n [IDL.Record({})],\n [GetSaleParametersResponse],\n ['query'],\n ),\n 'get_state' : IDL.Func([IDL.Record({})], [GetStateResponse], ['query']),\n 'get_timers' : IDL.Func([IDL.Record({})], [GetTimersResponse], ['query']),\n 'list_community_fund_participants' : IDL.Func(\n [ListCommunityFundParticipantsRequest],\n [ListCommunityFundParticipantsResponse],\n ['query'],\n ),\n 'list_direct_participants' : IDL.Func(\n [ListDirectParticipantsRequest],\n [ListDirectParticipantsResponse],\n ['query'],\n ),\n 'list_sns_neuron_recipes' : IDL.Func(\n [ListSnsNeuronRecipesRequest],\n [ListSnsNeuronRecipesResponse],\n ['query'],\n ),\n 'new_sale_ticket' : IDL.Func(\n [NewSaleTicketRequest],\n [NewSaleTicketResponse],\n [],\n ),\n 'notify_payment_failure' : IDL.Func([IDL.Record({})], [Ok_2], []),\n 'refresh_buyer_tokens' : IDL.Func(\n [RefreshBuyerTokensRequest],\n [RefreshBuyerTokensResponse],\n [],\n ),\n 'reset_timers' : IDL.Func([IDL.Record({})], [IDL.Record({})], []),\n });\n};\nexport const init = ({ IDL }) => {\n const NeuronBasketConstructionParameters = IDL.Record({\n 'dissolve_delay_interval_seconds' : IDL.Nat64,\n 'count' : IDL.Nat64,\n });\n const LinearScalingCoefficient = IDL.Record({\n 'slope_numerator' : IDL.Opt(IDL.Nat64),\n 'intercept_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'from_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'slope_denominator' : IDL.Opt(IDL.Nat64),\n 'to_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n });\n const IdealMatchedParticipationFunction = IDL.Record({\n 'serialized_representation' : IDL.Opt(IDL.Text),\n });\n const NeuronsFundParticipationConstraints = IDL.Record({\n 'coefficient_intervals' : IDL.Vec(LinearScalingCoefficient),\n 'max_neurons_fund_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'min_direct_participation_threshold_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'ideal_matched_participation_function' : IDL.Opt(\n IdealMatchedParticipationFunction\n ),\n });\n const Countries = IDL.Record({ 'iso_codes' : IDL.Vec(IDL.Text) });\n const Init = IDL.Record({\n 'nns_proposal_id' : IDL.Opt(IDL.Nat64),\n 'sns_root_canister_id' : IDL.Text,\n 'neurons_fund_participation' : IDL.Opt(IDL.Bool),\n 'min_participant_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'neuron_basket_construction_parameters' : IDL.Opt(\n NeuronBasketConstructionParameters\n ),\n 'fallback_controller_principal_ids' : IDL.Vec(IDL.Text),\n 'max_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'confirmation_text' : IDL.Opt(IDL.Text),\n 'swap_start_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'swap_due_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'min_participants' : IDL.Opt(IDL.Nat32),\n 'sns_token_e8s' : IDL.Opt(IDL.Nat64),\n 'nns_governance_canister_id' : IDL.Text,\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'icp_ledger_canister_id' : IDL.Text,\n 'sns_ledger_canister_id' : IDL.Text,\n 'neurons_fund_participation_constraints' : IDL.Opt(\n NeuronsFundParticipationConstraints\n ),\n 'should_auto_finalize' : IDL.Opt(IDL.Bool),\n 'max_participant_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'sns_governance_canister_id' : IDL.Text,\n 'min_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'restricted_countries' : IDL.Opt(Countries),\n 'min_icp_e8s' : IDL.Opt(IDL.Nat64),\n 'max_direct_participation_icp_e8s' : IDL.Opt(IDL.Nat64),\n });\n return [Init];\n};\n", "import type { NewSaleTicketRequest } from \"../../candid/sns_swap\";\nimport type { NewSaleTicketParams } from \"../types/swap.params\";\n\n// Helper for building `NewSaleTicketRequest` structure\nexport const toNewSaleTicketRequest = ({\n subaccount,\n amount_icp_e8s,\n}: NewSaleTicketParams): NewSaleTicketRequest => ({\n subaccount: subaccount === undefined ? [] : [subaccount],\n amount_icp_e8s,\n});\n", "import { nonNullish } from \"@dfinity/utils\";\n\n/**\n * Identifies errors of method not being present in the canister.\n *\n * This is useful because SNS projects have different versions of SNS canisters.\n * Therefore, what works in the latest version might not work in the previous one.\n *\n * Error message example: \"Call was rejected:\n * Request ID: 3a6ef904b35fd19721c95c3df2b0b00b8abefba7f0ad188f5c472809b772c914\n * Reject code: 3\n * Reject text: Canister 75ffu-oaaaa-aaaaa-aabbq-cai has no update method 'get_auto_finalization_status'\"\n */\nexport const isMethodNotSupportedError = (err: unknown): boolean => {\n if (typeof err === \"object\" && nonNullish(err) && \"message\" in err) {\n const message = err.message as string;\n return (\n message.includes(\"has no update method\") ||\n message.includes(\"has no query method\")\n );\n }\n return false;\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["index_exports", "__export", "GetOpenTicketErrorType", "NewSaleTicketResponseErrorType", "SnsGovernanceCanister", "SnsGovernanceError", "SnsGovernanceTestCanister", "SnsNeuronPermissionType", "SnsProposalDecisionStatus", "SnsProposalRewardStatus", "SnsRootCanister", "SnsSwapCanister", "SnsSwapGetOpenTicketError", "SnsSwapLifecycle", "SnsSwapNewTicketError", "SnsVote", "SnsWrapper", "UnsupportedMethodError", "fromCandidAction", "initSnsWrapper", "neuronSubaccount", "__toCommonJS", "import_utils", "toManageNeuronCommand", "id", "command", "toManageNeuronConfigureCommand", "neuronId", "operation", "toCandidAccount", "owner", "subaccount", "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", "convertChunkedCanisterWasm", "convertGenericNervousSystemFunction", "convertFunctionType", "convertVotingRewardsParameters", "SnsNeuronPermissionType", "SnsProposalRewardStatus", "SnsProposalDecisionStatus", "SnsVote", "SnsSwapLifecycle", "GetOpenTicketErrorType", "NewSaleTicketResponseErrorType", "UnsupportedMethodError", "methodName", "SnsGovernanceError", "SnsSwapNewTicketError", "errorType", "invalidUserAmount", "existingTicket", "SnsSwapGetOpenTicketError", "import_utils", "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", "SetTopicsForCustomProposals", "ChunkedCanisterWasm", "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", "CanisterStatusType", "DefiniteCanisterSettingsArgs", "QueryStats", "CanisterStatusResultV2", "GetRunningSnsVersionResponse", "GetSnsInitializationParametersResponse", "GetTimersResponse", "GetUpgradeJournalRequest", "GetUpgradeJournalResponse", "ListNervousSystemFunctionsResponse", "ListNeurons", "ListNeuronsResponse", "TopicSelector", "ListProposals", "ListProposalsResponse", "ListTopicsRequest", "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", "SetTopicsForCustomProposals", "ChunkedCanisterWasm", "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", "CanisterStatusType", "DefiniteCanisterSettingsArgs", "QueryStats", "CanisterStatusResultV2", "GetRunningSnsVersionResponse", "GetSnsInitializationParametersResponse", "GetTimersResponse", "GetUpgradeJournalRequest", "GetUpgradeJournalResponse", "ListNervousSystemFunctionsResponse", "ListNeurons", "ListNeuronsResponse", "TopicSelector", "ListProposals", "ListProposalsResponse", "ListTopicsRequest", "TopicInfo", "ListTopicsResponse", "StakeMaturity", "Command", "ManageNeuron", "SplitResponse", "DisburseMaturityResponse", "ClaimOrRefreshResponse", "StakeMaturityResponse", "MergeMaturityResponse", "DisburseResponse", "Command_1", "ManageNeuronResponse", "SetMode", "SnsGovernanceCanister", "_SnsGovernanceCanister", "options", "service", "certifiedService", "canisterId", "idlFactory", "params", "principal", "limit", "beforeNeuronId", "neurons", "certified", "toListProposalRequest", "proposalId", "result", "data", "SnsGovernanceError", "neuronId", "error", "request", "response", "toAddPermissionsRequest", "toRemovePermissionsRequest", "toSplitNeuronRequest", "command", "errorMessage", "details", "split", "toDisburseNeuronRequest", "toStartDissolvingNeuronRequest", "toStopDissolvingNeuronRequest", "percentageToStake", "toStakeMaturityRequest", "toDisburseMaturityRequest", "toAutoStakeMaturityNeuronRequest", "toSetDissolveTimestampRequest", "toIncreaseDissolveDelayRequest", "toFollowRequest", "toSetFollowingRequest", "toRegisterVoteRequest", "toClaimOrRefreshRequest", "memo", "controller", "subaccount", "firstCommand", "import_utils", "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", "SetTopicsForCustomProposals", "ChunkedCanisterWasm", "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", "AddMaturityRequest", "AddMaturityResponse", "AdvanceTargetVersionRequest", "AdvanceTargetVersionResponse", "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", "CanisterStatusType", "DefiniteCanisterSettingsArgs", "QueryStats", "CanisterStatusResultV2", "GetRunningSnsVersionResponse", "GetSnsInitializationParametersResponse", "GetTimersResponse", "GetUpgradeJournalRequest", "GetUpgradeJournalResponse", "ListNervousSystemFunctionsResponse", "ListNeurons", "ListNeuronsResponse", "TopicSelector", "ListProposals", "ListProposalsResponse", "ListTopicsRequest", "TopicInfo", "ListTopicsResponse", "StakeMaturity", "Command", "ManageNeuron", "SplitResponse", "DisburseMaturityResponse", "ClaimOrRefreshResponse", "StakeMaturityResponse", "MergeMaturityResponse", "DisburseResponse", "Command_1", "ManageNeuronResponse", "MintTokensRequest", "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", "SetTopicsForCustomProposals", "ChunkedCanisterWasm", "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", "AddMaturityRequest", "AddMaturityResponse", "AdvanceTargetVersionRequest", "AdvanceTargetVersionResponse", "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", "CanisterStatusType", "DefiniteCanisterSettingsArgs", "QueryStats", "CanisterStatusResultV2", "GetRunningSnsVersionResponse", "GetSnsInitializationParametersResponse", "GetTimersResponse", "GetUpgradeJournalRequest", "GetUpgradeJournalResponse", "ListNervousSystemFunctionsResponse", "ListNeurons", "ListNeuronsResponse", "TopicSelector", "ListProposals", "ListProposalsResponse", "ListTopicsRequest", "TopicInfo", "ListTopicsResponse", "StakeMaturity", "Command", "ManageNeuron", "SplitResponse", "DisburseMaturityResponse", "ClaimOrRefreshResponse", "StakeMaturityResponse", "MergeMaturityResponse", "DisburseResponse", "Command_1", "ManageNeuronResponse", "MintTokensRequest", "SetMode", "SnsGovernanceTestCanister", "_SnsGovernanceTestCanister", "options", "service", "certifiedService", "canisterId", "idlFactory", "params", "id", "amountE8s", "new_maturity_e8s", "newMaturity", "SnsGovernanceError", "import_utils", "idlFactory", "IDL", "Timers", "SnsRootCanister", "CanisterIdRecord", "CanisterStatusType", "LogVisibility", "DefiniteCanisterSettings", "QueryStats", "CanisterStatusResult", "CanisterInstallMode", "ChunkedCanisterWasm", "ChangeCanisterRequest", "GetSnsCanistersSummaryRequest", "DefiniteCanisterSettingsArgs", "CanisterStatusResultV2", "CanisterSummary", "GetSnsCanistersSummaryResponse", "GetTimersResponse", "ListSnsCanistersResponse", "ManageDappCanisterSettingsRequest", "ManageDappCanisterSettingsResponse", "RegisterDappCanisterRequest", "RegisterDappCanistersRequest", "SetDappControllersRequest", "CanisterCallError", "FailedUpdate", "SetDappControllersResponse", "idlFactory", "IDL", "Timers", "SnsRootCanister", "CanisterIdRecord", "CanisterStatusType", "LogVisibility", "DefiniteCanisterSettings", "QueryStats", "CanisterStatusResult", "CanisterInstallMode", "ChunkedCanisterWasm", "ChangeCanisterRequest", "GetSnsCanistersSummaryRequest", "DefiniteCanisterSettingsArgs", "CanisterStatusResultV2", "CanisterSummary", "GetSnsCanistersSummaryResponse", "GetTimersResponse", "ListSnsCanistersResponse", "ManageDappCanisterSettingsRequest", "ManageDappCanisterSettingsResponse", "RegisterDappCanisterRequest", "RegisterDappCanistersRequest", "SetDappControllersRequest", "CanisterCallError", "FailedUpdate", "SetDappControllersResponse", "SnsRootCanister", "_SnsRootCanister", "options", "service", "certifiedService", "canisterId", "idlFactory", "certified", "import_ledger_icrc", "import_utils", "import_utils", "import_utils", "isBytes", "a", "bytes", "b", "lengths", "exists", "instance", "checkFinished", "output", "out", "bytes", "min", "createView", "arr", "rotr", "word", "shift", "isLE", "utf8ToBytes", "str", "toBytes", "data", "bytes", "Hash", "toStr", "wrapConstructor", "hashCons", "hashC", "msg", "toBytes", "tmp", "setBigUint64", "view", "byteOffset", "value", "isLE", "_32n", "_u32_max", "wh", "wl", "h", "l", "Chi", "a", "b", "c", "Maj", "HashMD", "Hash", "blockLen", "outputLen", "padOffset", "createView", "data", "exists", "buffer", "toBytes", "len", "pos", "take", "dataView", "out", "output", "i", "oview", "outLen", "state", "res", "to", "length", "finished", "destroyed", "SHA256_K", "SHA256_IV", "SHA256_W", "SHA256", "HashMD", "A", "B", "C", "D", "E", "F", "G", "H", "view", "offset", "i", "W15", "W2", "s0", "rotr", "s1", "sigma1", "T1", "Chi", "T2", "Maj", "sha256", "wrapConstructor", "SHA256", "neuronSubaccount", "index", "controller", "data", "shaObj", "sha256", "SnsWrapper", "root", "governance", "ledger", "swap", "index", "certified", "params", "controller", "subaccount", "neuronSubaccount", "neuronId", "neuron", "SnsGovernanceError", "stakeE8s", "source", "createdAt", "fee", "neuronAccount", "account", "name", "import_utils", "idlFactory", "IDL", "NeuronBasketConstructionParameters", "LinearScalingCoefficient", "IdealMatchedParticipationFunction", "NeuronsFundParticipationConstraints", "Countries", "Init", "ErrorRefundIcpRequest", "Ok", "Err", "Result", "ErrorRefundIcpResponse", "CanisterCallError", "FailedUpdate", "SetDappControllersResponse", "Possibility", "SetDappControllersCallResult", "SweepResult", "GovernanceError", "Response", "Possibility_1", "SettleCommunityFundParticipationResult", "Ok_1", "Error", "Possibility_2", "SettleNeuronsFundParticipationResult", "Possibility_3", "SetModeCallResult", "FinalizeSwapResponse", "GetAutoFinalizationStatusResponse", "GetBuyerStateRequest", "TransferableAmount", "BuyerState", "GetBuyerStateResponse", "GetBuyersTotalResponse", "CanisterStatusType", "DefiniteCanisterSettingsArgs", "QueryStats", "CanisterStatusResultV2", "GetDerivedStateResponse", "GetInitResponse", "GetLifecycleResponse", "Icrc1Account", "Ticket", "Ok_2", "Err_1", "Result_1", "GetOpenTicketResponse", "Params", "GetSaleParametersResponse", "NeuronId", "NeuronAttributes", "Principals", "CfInvestment", "DirectInvestment", "Investor", "SnsNeuronRecipe", "Timers", "CfNeuron", "CfParticipant", "Swap", "DerivedState", "GetStateResponse", "GetTimersResponse", "ListCommunityFundParticipantsRequest", "ListCommunityFundParticipantsResponse", "ListDirectParticipantsRequest", "Participant", "ListDirectParticipantsResponse", "ListSnsNeuronRecipesRequest", "ListSnsNeuronRecipesResponse", "NewSaleTicketRequest", "InvalidUserAmount", "Err_2", "Result_2", "NewSaleTicketResponse", "RefreshBuyerTokensRequest", "RefreshBuyerTokensResponse", "idlFactory", "IDL", "NeuronBasketConstructionParameters", "LinearScalingCoefficient", "IdealMatchedParticipationFunction", "NeuronsFundParticipationConstraints", "Countries", "Init", "ErrorRefundIcpRequest", "Ok", "Err", "Result", "ErrorRefundIcpResponse", "CanisterCallError", "FailedUpdate", "SetDappControllersResponse", "Possibility", "SetDappControllersCallResult", "SweepResult", "GovernanceError", "Response", "Possibility_1", "SettleCommunityFundParticipationResult", "Ok_1", "Error", "Possibility_2", "SettleNeuronsFundParticipationResult", "Possibility_3", "SetModeCallResult", "FinalizeSwapResponse", "GetAutoFinalizationStatusResponse", "GetBuyerStateRequest", "TransferableAmount", "BuyerState", "GetBuyerStateResponse", "GetBuyersTotalResponse", "CanisterStatusType", "DefiniteCanisterSettingsArgs", "QueryStats", "CanisterStatusResultV2", "GetDerivedStateResponse", "GetInitResponse", "GetLifecycleResponse", "Icrc1Account", "Ticket", "Ok_2", "Err_1", "Result_1", "GetOpenTicketResponse", "Params", "GetSaleParametersResponse", "NeuronId", "NeuronAttributes", "Principals", "CfInvestment", "DirectInvestment", "Investor", "SnsNeuronRecipe", "Timers", "CfNeuron", "CfParticipant", "Swap", "DerivedState", "GetStateResponse", "GetTimersResponse", "ListCommunityFundParticipantsRequest", "ListCommunityFundParticipantsResponse", "ListDirectParticipantsRequest", "Participant", "ListDirectParticipantsResponse", "ListSnsNeuronRecipesRequest", "ListSnsNeuronRecipesResponse", "NewSaleTicketRequest", "InvalidUserAmount", "Err_2", "Result_2", "NewSaleTicketResponse", "RefreshBuyerTokensRequest", "RefreshBuyerTokensResponse", "toNewSaleTicketRequest", "subaccount", "amount_icp_e8s", "import_utils", "isMethodNotSupportedError", "err", "message", "SnsSwapCanister", "_SnsSwapCanister", "options", "service", "certifiedService", "canisterId", "idlFactory", "params", "ticket", "buyer_state", "certified", "_a", "response", "result", "errorType", "SnsSwapGetOpenTicketError", "request", "toNewSaleTicketRequest", "errorData", "SnsSwapNewTicketError", "error", "isMethodNotSupportedError", "UnsupportedMethodError", "initSnsWrapper", "agent", "rootOptions", "certified", "rootCanister", "SnsRootCanister", "ledger", "swap", "governance", "index", "governanceCanisterId", "ledgerCanisterId", "swapCanisterId", "indexCanisterId", "SnsWrapper", "SnsGovernanceCanister", "SnsSwapCanister"]
|
|
7
7
|
}
|