@dfinity/sns 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/index.cjs.js.map +2 -2
- package/dist/esm/{chunk-ZVF3C5QU.js → chunk-JAVN4ROU.js} +2 -2
- package/dist/esm/{chunk-ZVF3C5QU.js.map → chunk-JAVN4ROU.js.map} +0 -0
- package/dist/esm/{chunk-CGB4OZHY.js → chunk-RHJCTI4Q.js} +2 -2
- package/dist/esm/chunk-RHJCTI4Q.js.map +7 -0
- package/dist/esm/{chunk-GYFUURE5.js → chunk-SDKH2X73.js} +2 -2
- package/dist/esm/chunk-SDKH2X73.js.map +7 -0
- package/dist/esm/governance.canister.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/sns.js +1 -1
- package/dist/esm/sns.wrapper.js +1 -1
- package/dist/types/converters/governance.converters.d.ts +2 -1
- package/dist/types/governance.canister.d.ts +5 -1
- package/dist/types/sns.wrapper.d.ts +2 -1
- package/dist/types/types/common.d.ts +1 -0
- package/dist/types/types/governance.params.d.ts +9 -1
- package/package.json +2 -2
- package/dist/esm/chunk-CGB4OZHY.js.map +0 -7
- package/dist/esm/chunk-GYFUURE5.js.map +0 -7
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts", "../../src/enums/governance.enums.ts", "../../src/enums/swap.enums.ts", "../../src/errors/governance.errors.ts", "../../src/governance.canister.ts", "../../candid/sns_governance.certified.idl.js", "../../candid/sns_governance.idl.js", "../../src/converters/governance.converters.ts", "../../src/services/canister.ts", "../../src/ledger.canister.ts", "../../candid/icrc1_ledger.certified.idl.js", "../../candid/icrc1_ledger.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/swap.canister.ts", "../../candid/sns_swap.certified.idl.js", "../../candid/sns_swap.idl.js", "../../src/types/ledger.responses.ts", "../../src/utils/ledger.utils.ts"],
|
|
4
|
-
"sourcesContent": ["export type {\n GetMetadataResponse as SnsGetMetadataResponse,\n ManageNeuron as SnsManageNeuron,\n ManageNeuronResponse as SnsManageNeuronResponse,\n Neuron as SnsNeuron,\n NeuronId as SnsNeuronId,\n} from \"../candid/sns_governance\";\nexport type { CanisterStatusResultV2 as SnsCanisterStatus } from \"../candid/sns_root\";\nexport type {\n BuyerState as SnsSwapBuyerState,\n CfParticipant,\n DerivedState as SnsSwapDerivedState,\n GetBuyerStateRequest as SnsGetBuyerStateRequest,\n GetBuyerStateResponse as SnsGetBuyerStateResponse,\n Init as SnsSwapInit,\n Params as SnsParams,\n SnsNeuronRecipe,\n Swap as SnsSwap,\n TransferableAmount as SnsTransferableAmount,\n} from \"../candid/sns_swap\";\nexport * from \"./enums/governance.enums\";\nexport * from \"./enums/swap.enums\";\nexport * from \"./errors/governance.errors\";\nexport { SnsGovernanceCanister } from \"./governance.canister\";\nexport { SnsLedgerCanister } from \"./ledger.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 type {\n SnsGetNeuronParams,\n SnsListNeuronsParams,\n} from \"./types/governance.params\";\nexport * from \"./types/ledger.responses\";\nexport type { QueryParams } from \"./types/query.params\";\nexport * from \"./utils/ledger.utils\";\n", "// Source: https://github.com/dfinity/ic/blob/1998263b426df0a22f0d0706695c0826f0ab4d7d/rs/sns/governance/proto/ic_sns_governance/pb/v1/governance.proto#L10\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 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", "// 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}\n", "export class SnsGovernanceError extends Error {}\n", "import type { Principal } from \"@dfinity/principal\";\nimport { createServices, fromNullable, toNullable } from \"@dfinity/utils\";\nimport type {\n GetMetadataResponse,\n ManageNeuron,\n ManageNeuronResponse,\n Neuron,\n NeuronId,\n _SERVICE as SnsGovernanceService,\n} from \"../candid/sns_governance\";\nimport { idlFactory as certifiedIdlFactory } from \"../candid/sns_governance.certified.idl\";\nimport { idlFactory } from \"../candid/sns_governance.idl\";\nimport { MAX_LIST_NEURONS_RESULTS } from \"./constants/governance.constants\";\nimport {\n toAddPermissionsRequest,\n toRemovePermissionsRequest,\n} from \"./converters/governance.converters\";\nimport { SnsGovernanceError } from \"./errors/governance.errors\";\nimport { Canister } from \"./services/canister\";\nimport type { SnsCanisterOptions } from \"./types/canister.options\";\nimport type {\n SnsGetNeuronParams,\n SnsListNeuronsParams,\n SnsNeuronPermissionsParams,\n} from \"./types/governance.params\";\nimport type { QueryParams } from \"./types/query.params\";\n\nexport class SnsGovernanceCanister extends Canister<SnsGovernanceService> {\n /**\n * Instantiate a canister to interact with the governance of a Sns project.\n *\n * @param {SnsCanisterOptions} options Miscellaneous options to initialize the canister. Its ID being the only mandatory parammeter.\n */\n static create(options: SnsCanisterOptions<SnsGovernanceService>) {\n const { service, certifiedService, canisterId } =\n createServices<SnsGovernanceService>({\n options,\n idlFactory,\n certifiedIdlFactory,\n });\n\n return new SnsGovernanceCanister(canisterId, service, certifiedService);\n }\n\n /**\n * List the neurons of the Sns\n */\n listNeurons = async (params: SnsListNeuronsParams): Promise<Neuron[]> => {\n const { principal, limit, beforeNeuronId } = params;\n\n const { neurons } = await this.caller(params).list_neurons({\n of_principal: toNullable<Principal>(principal),\n limit: limit ?? MAX_LIST_NEURONS_RESULTS,\n start_page_at: toNullable<NeuronId>(beforeNeuronId),\n });\n return neurons;\n };\n\n /**\n * Get the Sns metadata (title, description, etc.)\n */\n metadata = (params: QueryParams): Promise<GetMetadataResponse> =>\n this.caller(params).get_metadata({});\n\n /**\n * Get the neuron of the Sns\n */\n getNeuron = async (\n params: SnsGetNeuronParams & QueryParams\n ): Promise<Neuron> => {\n const { neuronId } = params;\n\n const { result } = await this.caller(params).get_neuron({\n neuron_id: toNullable(neuronId),\n });\n const data = fromNullable(result);\n if (data === undefined || \"Error\" in data) {\n throw new SnsGovernanceError(\n data?.Error.error_message ?? \"Response type not supported\"\n );\n }\n return data.Neuron;\n };\n\n /**\n * Manage neuron. For advanced users.\n */\n manageNeuron = async (\n request: ManageNeuron\n ): Promise<ManageNeuronResponse> => {\n const response = await this.caller({ certified: true }).manage_neuron(\n request\n );\n this.assertManageNeuronError(response);\n return response;\n };\n\n /**\n * Add permissions to a neuron for a specific principal\n */\n addNeuronPermissions = async (\n params: SnsNeuronPermissionsParams\n ): Promise<void> => {\n const request: ManageNeuron = toAddPermissionsRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Remove permissions to a neuron for a specific principal\n */\n removeNeuronPermissions = async (\n params: SnsNeuronPermissionsParams\n ): Promise<void> => {\n const request: ManageNeuron = toRemovePermissionsRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n *\n * @param response ManageNeuronResponse\n * @throws SnsGovernanceError\n */\n private assertManageNeuronError = ({\n command,\n }: ManageNeuronResponse): void => {\n // TODO: use upcoming fromDefinedNullable\n const firstCommand = command[0];\n if (firstCommand !== undefined && \"Error\" in firstCommand) {\n throw new SnsGovernanceError(firstCommand.Error.error_message);\n }\n };\n}\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_governance.did */\nexport const idlFactory = ({ IDL }) => {\n const GenericNervousSystemFunction = IDL.Record({\n 'validator_canister_id' : IDL.Opt(IDL.Principal),\n 'target_canister_id' : IDL.Opt(IDL.Principal),\n 'validator_method_name' : IDL.Opt(IDL.Text),\n 'target_method_name' : IDL.Opt(IDL.Text),\n });\n const FunctionType = IDL.Variant({\n 'NativeNervousSystemFunction' : IDL.Record({}),\n 'GenericNervousSystemFunction' : GenericNervousSystemFunction,\n });\n const NervousSystemFunction = IDL.Record({\n 'id' : IDL.Nat64,\n 'name' : IDL.Text,\n 'description' : IDL.Opt(IDL.Text),\n 'function_type' : IDL.Opt(FunctionType),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const NeuronId = IDL.Record({ 'id' : IDL.Vec(IDL.Nat8) });\n const Followees = IDL.Record({ 'followees' : IDL.Vec(NeuronId) });\n const DefaultFollowees = IDL.Record({\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n });\n const NeuronPermissionList = IDL.Record({\n 'permissions' : IDL.Vec(IDL.Int32),\n });\n const VotingRewardsParameters = IDL.Record({\n 'start_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'final_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'initial_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'reward_rate_transition_duration_seconds' : IDL.Opt(IDL.Nat64),\n 'round_duration_seconds' : IDL.Opt(IDL.Nat64),\n });\n const NervousSystemParameters = IDL.Record({\n 'default_followees' : IDL.Opt(DefaultFollowees),\n 'max_dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'neuron_claimer_permissions' : IDL.Opt(NeuronPermissionList),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'max_neuron_age_for_age_bonus' : IDL.Opt(IDL.Nat64),\n 'initial_voting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_dissolve_delay_to_vote_seconds' : IDL.Opt(IDL.Nat64),\n 'reject_cost_e8s' : IDL.Opt(IDL.Nat64),\n 'max_proposals_to_keep_per_action' : IDL.Opt(IDL.Nat32),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Opt(IDL.Nat64),\n 'max_number_of_neurons' : IDL.Opt(IDL.Nat64),\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'max_number_of_proposals_with_ballots' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'voting_rewards_parameters' : IDL.Opt(VotingRewardsParameters),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const Version = IDL.Record({\n 'archive_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'root_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'swap_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'ledger_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'governance_wasm_hash' : IDL.Vec(IDL.Nat8),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const RewardEvent = IDL.Record({\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'round' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const UpgradeInProgress = IDL.Record({\n 'mark_failed_at_seconds' : IDL.Nat64,\n 'checking_upgrade_lock' : IDL.Nat64,\n 'proposal_id' : IDL.Nat64,\n 'target_version' : IDL.Opt(Version),\n });\n const GovernanceError = IDL.Record({\n 'error_message' : IDL.Text,\n 'error_type' : IDL.Int32,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Tally = IDL.Record({\n 'no' : IDL.Nat64,\n 'yes' : IDL.Nat64,\n 'total' : IDL.Nat64,\n 'timestamp_seconds' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const ManageSnsMetadata = IDL.Record({\n 'url' : IDL.Opt(IDL.Text),\n 'logo' : IDL.Opt(IDL.Text),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n });\n const ExecuteGenericNervousSystemFunction = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'payload' : IDL.Vec(IDL.Nat8),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'UpgradeSnsToNextVersion' : IDL.Record({}),\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'Unspecified' : IDL.Record({}),\n 'ManageSnsMetadata' : ManageSnsMetadata,\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'Motion' : Motion,\n });\n const Proposal = IDL.Record({\n 'url' : IDL.Text,\n 'title' : IDL.Text,\n 'action' : IDL.Opt(Action),\n 'summary' : IDL.Text,\n });\n const WaitForQuietState = IDL.Record({\n 'current_deadline_timestamp_seconds' : IDL.Nat64,\n });\n const ProposalData = IDL.Record({\n 'id' : IDL.Opt(ProposalId),\n 'payload_text_rendering' : IDL.Opt(IDL.Text),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'proposal_creation_timestamp_seconds' : IDL.Nat64,\n 'initial_voting_period_seconds' : IDL.Nat64,\n 'reject_cost_e8s' : IDL.Nat64,\n 'latest_tally' : IDL.Opt(Tally),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Nat64,\n 'decided_timestamp_seconds' : IDL.Nat64,\n 'proposal' : IDL.Opt(Proposal),\n 'proposer' : IDL.Opt(NeuronId),\n 'wait_for_quiet_state' : IDL.Opt(WaitForQuietState),\n 'is_eligible_for_rewards' : IDL.Bool,\n 'executed_timestamp_seconds' : IDL.Nat64,\n });\n const Split = IDL.Record({ 'memo' : IDL.Nat64, 'amount_e8s' : IDL.Nat64 });\n const Follow = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'followees' : IDL.Vec(NeuronId),\n });\n const Subaccount = IDL.Record({ 'subaccount' : IDL.Vec(IDL.Nat8) });\n const Account = IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(Subaccount),\n });\n const DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const IncreaseDissolveDelay = IDL.Record({\n 'additional_dissolve_delay_seconds' : IDL.Nat32,\n });\n const SetDissolveTimestamp = IDL.Record({\n 'dissolve_timestamp_seconds' : IDL.Nat64,\n });\n const Operation = IDL.Variant({\n 'StopDissolving' : IDL.Record({}),\n 'StartDissolving' : IDL.Record({}),\n 'IncreaseDissolveDelay' : IncreaseDissolveDelay,\n 'SetDissolveTimestamp' : SetDissolveTimestamp,\n });\n const Configure = IDL.Record({ 'operation' : IDL.Opt(Operation) });\n const RegisterVote = IDL.Record({\n 'vote' : IDL.Int32,\n 'proposal' : IDL.Opt(ProposalId),\n });\n const MemoAndController = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'memo' : IDL.Nat64,\n });\n const By = IDL.Variant({\n 'MemoAndController' : MemoAndController,\n 'NeuronId' : IDL.Record({}),\n });\n const ClaimOrRefresh = IDL.Record({ 'by' : IDL.Opt(By) });\n const RemoveNeuronPermissions = IDL.Record({\n 'permissions_to_remove' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const AddNeuronPermissions = IDL.Record({\n 'permissions_to_add' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const MergeMaturity = IDL.Record({ 'percentage_to_merge' : IDL.Nat32 });\n const Amount = IDL.Record({ 'e8s' : IDL.Nat64 });\n const Disburse = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'amount' : IDL.Opt(Amount),\n });\n const Command_2 = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'ClaimOrRefreshNeuron' : ClaimOrRefresh,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const NeuronInFlightCommand = IDL.Record({\n 'command' : IDL.Opt(Command_2),\n 'timestamp' : IDL.Nat64,\n });\n const NeuronPermission = IDL.Record({\n 'principal' : IDL.Opt(IDL.Principal),\n 'permission_type' : IDL.Vec(IDL.Int32),\n });\n const DissolveState = IDL.Variant({\n 'DissolveDelaySeconds' : IDL.Nat64,\n 'WhenDissolvedTimestampSeconds' : IDL.Nat64,\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'permissions' : IDL.Vec(NeuronPermission),\n 'maturity_e8s_equivalent' : IDL.Nat64,\n 'cached_neuron_stake_e8s' : IDL.Nat64,\n 'created_timestamp_seconds' : IDL.Nat64,\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'voting_power_percentage_multiplier' : IDL.Nat64,\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n 'neuron_fees_e8s' : IDL.Nat64,\n });\n const Governance = IDL.Record({\n 'root_canister_id' : IDL.Opt(IDL.Principal),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'deployed_version' : IDL.Opt(Version),\n 'sns_initialization_parameters' : IDL.Text,\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'pending_version' : IDL.Opt(UpgradeInProgress),\n 'swap_canister_id' : IDL.Opt(IDL.Principal),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'proposals' : IDL.Vec(IDL.Tuple(IDL.Nat64, ProposalData)),\n 'in_flight_commands' : IDL.Vec(IDL.Tuple(IDL.Text, NeuronInFlightCommand)),\n 'sns_metadata' : IDL.Opt(ManageSnsMetadata),\n 'neurons' : IDL.Vec(IDL.Tuple(IDL.Text, Neuron)),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n const GetMetadataResponse = IDL.Record({\n 'url' : IDL.Opt(IDL.Text),\n 'logo' : IDL.Opt(IDL.Text),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n });\n const GetNeuron = IDL.Record({ 'neuron_id' : IDL.Opt(NeuronId) });\n const Result = IDL.Variant({ 'Error' : GovernanceError, 'Neuron' : Neuron });\n const GetNeuronResponse = IDL.Record({ 'result' : IDL.Opt(Result) });\n const GetProposal = IDL.Record({ 'proposal_id' : IDL.Opt(ProposalId) });\n const Result_1 = IDL.Variant({\n 'Error' : GovernanceError,\n 'Proposal' : ProposalData,\n });\n const GetProposalResponse = IDL.Record({ 'result' : IDL.Opt(Result_1) });\n const CanisterStatusType = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const DefiniteCanisterSettingsArgs = IDL.Record({\n 'controller' : IDL.Principal,\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const CanisterStatusResultV2 = IDL.Record({\n 'controller' : IDL.Principal,\n 'status' : CanisterStatusType,\n 'freezing_threshold' : IDL.Nat,\n 'balance' : IDL.Vec(IDL.Tuple(IDL.Vec(IDL.Nat8), IDL.Nat)),\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettingsArgs,\n 'idle_cycles_burned_per_day' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const GetRunningSnsVersionResponse = IDL.Record({\n 'deployed_version' : IDL.Opt(Version),\n 'pending_version' : IDL.Opt(UpgradeInProgress),\n });\n const GetSnsInitializationParametersResponse = IDL.Record({\n 'sns_initialization_parameters' : IDL.Text,\n });\n const ListNervousSystemFunctionsResponse = IDL.Record({\n 'reserved_ids' : IDL.Vec(IDL.Nat64),\n 'functions' : IDL.Vec(NervousSystemFunction),\n });\n const ListNeurons = IDL.Record({\n 'of_principal' : IDL.Opt(IDL.Principal),\n 'limit' : IDL.Nat32,\n 'start_page_at' : IDL.Opt(NeuronId),\n });\n const ListNeuronsResponse = IDL.Record({ 'neurons' : IDL.Vec(Neuron) });\n const ListProposals = IDL.Record({\n 'include_reward_status' : IDL.Vec(IDL.Int32),\n 'before_proposal' : IDL.Opt(ProposalId),\n 'limit' : IDL.Nat32,\n 'exclude_type' : IDL.Vec(IDL.Nat64),\n 'include_status' : IDL.Vec(IDL.Int32),\n });\n const ListProposalsResponse = IDL.Record({\n 'proposals' : IDL.Vec(ProposalData),\n });\n const Command = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'ClaimOrRefresh' : ClaimOrRefresh,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const ManageNeuron = IDL.Record({\n 'subaccount' : IDL.Vec(IDL.Nat8),\n 'command' : IDL.Opt(Command),\n });\n const SplitResponse = IDL.Record({ 'created_neuron_id' : IDL.Opt(NeuronId) });\n const DisburseMaturityResponse = IDL.Record({\n 'transfer_block_height' : IDL.Nat64,\n 'amount_disbursed_e8s' : IDL.Nat64,\n });\n const ClaimOrRefreshResponse = IDL.Record({\n 'refreshed_neuron_id' : IDL.Opt(NeuronId),\n });\n const MergeMaturityResponse = IDL.Record({\n 'merged_maturity_e8s' : IDL.Nat64,\n 'new_stake_e8s' : IDL.Nat64,\n });\n const DisburseResponse = IDL.Record({ 'transfer_block_height' : IDL.Nat64 });\n const Command_1 = IDL.Variant({\n 'Error' : GovernanceError,\n 'Split' : SplitResponse,\n 'Follow' : IDL.Record({}),\n 'DisburseMaturity' : DisburseMaturityResponse,\n 'ClaimOrRefresh' : ClaimOrRefreshResponse,\n 'Configure' : IDL.Record({}),\n 'RegisterVote' : IDL.Record({}),\n 'MakeProposal' : GetProposal,\n 'RemoveNeuronPermission' : IDL.Record({}),\n 'MergeMaturity' : MergeMaturityResponse,\n 'Disburse' : DisburseResponse,\n 'AddNeuronPermission' : IDL.Record({}),\n });\n const ManageNeuronResponse = IDL.Record({ 'command' : IDL.Opt(Command_1) });\n const SetMode = IDL.Record({ 'mode' : IDL.Int32 });\n return IDL.Service({\n 'get_build_metadata' : IDL.Func([], [IDL.Text], []),\n 'get_metadata' : IDL.Func([IDL.Record({})], [GetMetadataResponse], []),\n 'get_nervous_system_parameters' : IDL.Func(\n [IDL.Null],\n [NervousSystemParameters],\n [],\n ),\n 'get_neuron' : IDL.Func([GetNeuron], [GetNeuronResponse], []),\n 'get_proposal' : IDL.Func([GetProposal], [GetProposalResponse], []),\n 'get_root_canister_status' : IDL.Func(\n [IDL.Null],\n [CanisterStatusResultV2],\n [],\n ),\n 'get_running_sns_version' : IDL.Func(\n [IDL.Record({})],\n [GetRunningSnsVersionResponse],\n [],\n ),\n 'get_sns_initialization_parameters' : IDL.Func(\n [IDL.Record({})],\n [GetSnsInitializationParametersResponse],\n [],\n ),\n 'list_nervous_system_functions' : IDL.Func(\n [],\n [ListNervousSystemFunctionsResponse],\n [],\n ),\n 'list_neurons' : IDL.Func([ListNeurons], [ListNeuronsResponse], []),\n 'list_proposals' : IDL.Func([ListProposals], [ListProposalsResponse], []),\n 'manage_neuron' : IDL.Func([ManageNeuron], [ManageNeuronResponse], []),\n 'set_mode' : IDL.Func([SetMode], [IDL.Record({})], []),\n });\n};\nexport const init = ({ IDL }) => {\n const GenericNervousSystemFunction = IDL.Record({\n 'validator_canister_id' : IDL.Opt(IDL.Principal),\n 'target_canister_id' : IDL.Opt(IDL.Principal),\n 'validator_method_name' : IDL.Opt(IDL.Text),\n 'target_method_name' : IDL.Opt(IDL.Text),\n });\n const FunctionType = IDL.Variant({\n 'NativeNervousSystemFunction' : IDL.Record({}),\n 'GenericNervousSystemFunction' : GenericNervousSystemFunction,\n });\n const NervousSystemFunction = IDL.Record({\n 'id' : IDL.Nat64,\n 'name' : IDL.Text,\n 'description' : IDL.Opt(IDL.Text),\n 'function_type' : IDL.Opt(FunctionType),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const NeuronId = IDL.Record({ 'id' : IDL.Vec(IDL.Nat8) });\n const Followees = IDL.Record({ 'followees' : IDL.Vec(NeuronId) });\n const DefaultFollowees = IDL.Record({\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n });\n const NeuronPermissionList = IDL.Record({\n 'permissions' : IDL.Vec(IDL.Int32),\n });\n const VotingRewardsParameters = IDL.Record({\n 'start_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'final_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'initial_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'reward_rate_transition_duration_seconds' : IDL.Opt(IDL.Nat64),\n 'round_duration_seconds' : IDL.Opt(IDL.Nat64),\n });\n const NervousSystemParameters = IDL.Record({\n 'default_followees' : IDL.Opt(DefaultFollowees),\n 'max_dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'neuron_claimer_permissions' : IDL.Opt(NeuronPermissionList),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'max_neuron_age_for_age_bonus' : IDL.Opt(IDL.Nat64),\n 'initial_voting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_dissolve_delay_to_vote_seconds' : IDL.Opt(IDL.Nat64),\n 'reject_cost_e8s' : IDL.Opt(IDL.Nat64),\n 'max_proposals_to_keep_per_action' : IDL.Opt(IDL.Nat32),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Opt(IDL.Nat64),\n 'max_number_of_neurons' : IDL.Opt(IDL.Nat64),\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'max_number_of_proposals_with_ballots' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'voting_rewards_parameters' : IDL.Opt(VotingRewardsParameters),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const Version = IDL.Record({\n 'archive_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'root_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'swap_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'ledger_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'governance_wasm_hash' : IDL.Vec(IDL.Nat8),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const RewardEvent = IDL.Record({\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'round' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const UpgradeInProgress = IDL.Record({\n 'mark_failed_at_seconds' : IDL.Nat64,\n 'checking_upgrade_lock' : IDL.Nat64,\n 'proposal_id' : IDL.Nat64,\n 'target_version' : IDL.Opt(Version),\n });\n const GovernanceError = IDL.Record({\n 'error_message' : IDL.Text,\n 'error_type' : IDL.Int32,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Tally = IDL.Record({\n 'no' : IDL.Nat64,\n 'yes' : IDL.Nat64,\n 'total' : IDL.Nat64,\n 'timestamp_seconds' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const ManageSnsMetadata = IDL.Record({\n 'url' : IDL.Opt(IDL.Text),\n 'logo' : IDL.Opt(IDL.Text),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n });\n const ExecuteGenericNervousSystemFunction = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'payload' : IDL.Vec(IDL.Nat8),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'UpgradeSnsToNextVersion' : IDL.Record({}),\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'Unspecified' : IDL.Record({}),\n 'ManageSnsMetadata' : ManageSnsMetadata,\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'Motion' : Motion,\n });\n const Proposal = IDL.Record({\n 'url' : IDL.Text,\n 'title' : IDL.Text,\n 'action' : IDL.Opt(Action),\n 'summary' : IDL.Text,\n });\n const WaitForQuietState = IDL.Record({\n 'current_deadline_timestamp_seconds' : IDL.Nat64,\n });\n const ProposalData = IDL.Record({\n 'id' : IDL.Opt(ProposalId),\n 'payload_text_rendering' : IDL.Opt(IDL.Text),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'proposal_creation_timestamp_seconds' : IDL.Nat64,\n 'initial_voting_period_seconds' : IDL.Nat64,\n 'reject_cost_e8s' : IDL.Nat64,\n 'latest_tally' : IDL.Opt(Tally),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Nat64,\n 'decided_timestamp_seconds' : IDL.Nat64,\n 'proposal' : IDL.Opt(Proposal),\n 'proposer' : IDL.Opt(NeuronId),\n 'wait_for_quiet_state' : IDL.Opt(WaitForQuietState),\n 'is_eligible_for_rewards' : IDL.Bool,\n 'executed_timestamp_seconds' : IDL.Nat64,\n });\n const Split = IDL.Record({ 'memo' : IDL.Nat64, 'amount_e8s' : IDL.Nat64 });\n const Follow = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'followees' : IDL.Vec(NeuronId),\n });\n const Subaccount = IDL.Record({ 'subaccount' : IDL.Vec(IDL.Nat8) });\n const Account = IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(Subaccount),\n });\n const DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const IncreaseDissolveDelay = IDL.Record({\n 'additional_dissolve_delay_seconds' : IDL.Nat32,\n });\n const SetDissolveTimestamp = IDL.Record({\n 'dissolve_timestamp_seconds' : IDL.Nat64,\n });\n const Operation = IDL.Variant({\n 'StopDissolving' : IDL.Record({}),\n 'StartDissolving' : IDL.Record({}),\n 'IncreaseDissolveDelay' : IncreaseDissolveDelay,\n 'SetDissolveTimestamp' : SetDissolveTimestamp,\n });\n const Configure = IDL.Record({ 'operation' : IDL.Opt(Operation) });\n const RegisterVote = IDL.Record({\n 'vote' : IDL.Int32,\n 'proposal' : IDL.Opt(ProposalId),\n });\n const MemoAndController = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'memo' : IDL.Nat64,\n });\n const By = IDL.Variant({\n 'MemoAndController' : MemoAndController,\n 'NeuronId' : IDL.Record({}),\n });\n const ClaimOrRefresh = IDL.Record({ 'by' : IDL.Opt(By) });\n const RemoveNeuronPermissions = IDL.Record({\n 'permissions_to_remove' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const AddNeuronPermissions = IDL.Record({\n 'permissions_to_add' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const MergeMaturity = IDL.Record({ 'percentage_to_merge' : IDL.Nat32 });\n const Amount = IDL.Record({ 'e8s' : IDL.Nat64 });\n const Disburse = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'amount' : IDL.Opt(Amount),\n });\n const Command_2 = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'ClaimOrRefreshNeuron' : ClaimOrRefresh,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const NeuronInFlightCommand = IDL.Record({\n 'command' : IDL.Opt(Command_2),\n 'timestamp' : IDL.Nat64,\n });\n const NeuronPermission = IDL.Record({\n 'principal' : IDL.Opt(IDL.Principal),\n 'permission_type' : IDL.Vec(IDL.Int32),\n });\n const DissolveState = IDL.Variant({\n 'DissolveDelaySeconds' : IDL.Nat64,\n 'WhenDissolvedTimestampSeconds' : IDL.Nat64,\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'permissions' : IDL.Vec(NeuronPermission),\n 'maturity_e8s_equivalent' : IDL.Nat64,\n 'cached_neuron_stake_e8s' : IDL.Nat64,\n 'created_timestamp_seconds' : IDL.Nat64,\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'voting_power_percentage_multiplier' : IDL.Nat64,\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n 'neuron_fees_e8s' : IDL.Nat64,\n });\n const Governance = IDL.Record({\n 'root_canister_id' : IDL.Opt(IDL.Principal),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'deployed_version' : IDL.Opt(Version),\n 'sns_initialization_parameters' : IDL.Text,\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'pending_version' : IDL.Opt(UpgradeInProgress),\n 'swap_canister_id' : IDL.Opt(IDL.Principal),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'proposals' : IDL.Vec(IDL.Tuple(IDL.Nat64, ProposalData)),\n 'in_flight_commands' : IDL.Vec(IDL.Tuple(IDL.Text, NeuronInFlightCommand)),\n 'sns_metadata' : IDL.Opt(ManageSnsMetadata),\n 'neurons' : IDL.Vec(IDL.Tuple(IDL.Text, Neuron)),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n return [Governance];\n};\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_governance.did */\nexport const idlFactory = ({ IDL }) => {\n const GenericNervousSystemFunction = IDL.Record({\n 'validator_canister_id' : IDL.Opt(IDL.Principal),\n 'target_canister_id' : IDL.Opt(IDL.Principal),\n 'validator_method_name' : IDL.Opt(IDL.Text),\n 'target_method_name' : IDL.Opt(IDL.Text),\n });\n const FunctionType = IDL.Variant({\n 'NativeNervousSystemFunction' : IDL.Record({}),\n 'GenericNervousSystemFunction' : GenericNervousSystemFunction,\n });\n const NervousSystemFunction = IDL.Record({\n 'id' : IDL.Nat64,\n 'name' : IDL.Text,\n 'description' : IDL.Opt(IDL.Text),\n 'function_type' : IDL.Opt(FunctionType),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const NeuronId = IDL.Record({ 'id' : IDL.Vec(IDL.Nat8) });\n const Followees = IDL.Record({ 'followees' : IDL.Vec(NeuronId) });\n const DefaultFollowees = IDL.Record({\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n });\n const NeuronPermissionList = IDL.Record({\n 'permissions' : IDL.Vec(IDL.Int32),\n });\n const VotingRewardsParameters = IDL.Record({\n 'start_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'final_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'initial_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'reward_rate_transition_duration_seconds' : IDL.Opt(IDL.Nat64),\n 'round_duration_seconds' : IDL.Opt(IDL.Nat64),\n });\n const NervousSystemParameters = IDL.Record({\n 'default_followees' : IDL.Opt(DefaultFollowees),\n 'max_dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'neuron_claimer_permissions' : IDL.Opt(NeuronPermissionList),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'max_neuron_age_for_age_bonus' : IDL.Opt(IDL.Nat64),\n 'initial_voting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_dissolve_delay_to_vote_seconds' : IDL.Opt(IDL.Nat64),\n 'reject_cost_e8s' : IDL.Opt(IDL.Nat64),\n 'max_proposals_to_keep_per_action' : IDL.Opt(IDL.Nat32),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Opt(IDL.Nat64),\n 'max_number_of_neurons' : IDL.Opt(IDL.Nat64),\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'max_number_of_proposals_with_ballots' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'voting_rewards_parameters' : IDL.Opt(VotingRewardsParameters),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const Version = IDL.Record({\n 'archive_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'root_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'swap_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'ledger_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'governance_wasm_hash' : IDL.Vec(IDL.Nat8),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const RewardEvent = IDL.Record({\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'round' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const UpgradeInProgress = IDL.Record({\n 'mark_failed_at_seconds' : IDL.Nat64,\n 'checking_upgrade_lock' : IDL.Nat64,\n 'proposal_id' : IDL.Nat64,\n 'target_version' : IDL.Opt(Version),\n });\n const GovernanceError = IDL.Record({\n 'error_message' : IDL.Text,\n 'error_type' : IDL.Int32,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Tally = IDL.Record({\n 'no' : IDL.Nat64,\n 'yes' : IDL.Nat64,\n 'total' : IDL.Nat64,\n 'timestamp_seconds' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const ManageSnsMetadata = IDL.Record({\n 'url' : IDL.Opt(IDL.Text),\n 'logo' : IDL.Opt(IDL.Text),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n });\n const ExecuteGenericNervousSystemFunction = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'payload' : IDL.Vec(IDL.Nat8),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'UpgradeSnsToNextVersion' : IDL.Record({}),\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'Unspecified' : IDL.Record({}),\n 'ManageSnsMetadata' : ManageSnsMetadata,\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'Motion' : Motion,\n });\n const Proposal = IDL.Record({\n 'url' : IDL.Text,\n 'title' : IDL.Text,\n 'action' : IDL.Opt(Action),\n 'summary' : IDL.Text,\n });\n const WaitForQuietState = IDL.Record({\n 'current_deadline_timestamp_seconds' : IDL.Nat64,\n });\n const ProposalData = IDL.Record({\n 'id' : IDL.Opt(ProposalId),\n 'payload_text_rendering' : IDL.Opt(IDL.Text),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'proposal_creation_timestamp_seconds' : IDL.Nat64,\n 'initial_voting_period_seconds' : IDL.Nat64,\n 'reject_cost_e8s' : IDL.Nat64,\n 'latest_tally' : IDL.Opt(Tally),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Nat64,\n 'decided_timestamp_seconds' : IDL.Nat64,\n 'proposal' : IDL.Opt(Proposal),\n 'proposer' : IDL.Opt(NeuronId),\n 'wait_for_quiet_state' : IDL.Opt(WaitForQuietState),\n 'is_eligible_for_rewards' : IDL.Bool,\n 'executed_timestamp_seconds' : IDL.Nat64,\n });\n const Split = IDL.Record({ 'memo' : IDL.Nat64, 'amount_e8s' : IDL.Nat64 });\n const Follow = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'followees' : IDL.Vec(NeuronId),\n });\n const Subaccount = IDL.Record({ 'subaccount' : IDL.Vec(IDL.Nat8) });\n const Account = IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(Subaccount),\n });\n const DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const IncreaseDissolveDelay = IDL.Record({\n 'additional_dissolve_delay_seconds' : IDL.Nat32,\n });\n const SetDissolveTimestamp = IDL.Record({\n 'dissolve_timestamp_seconds' : IDL.Nat64,\n });\n const Operation = IDL.Variant({\n 'StopDissolving' : IDL.Record({}),\n 'StartDissolving' : IDL.Record({}),\n 'IncreaseDissolveDelay' : IncreaseDissolveDelay,\n 'SetDissolveTimestamp' : SetDissolveTimestamp,\n });\n const Configure = IDL.Record({ 'operation' : IDL.Opt(Operation) });\n const RegisterVote = IDL.Record({\n 'vote' : IDL.Int32,\n 'proposal' : IDL.Opt(ProposalId),\n });\n const MemoAndController = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'memo' : IDL.Nat64,\n });\n const By = IDL.Variant({\n 'MemoAndController' : MemoAndController,\n 'NeuronId' : IDL.Record({}),\n });\n const ClaimOrRefresh = IDL.Record({ 'by' : IDL.Opt(By) });\n const RemoveNeuronPermissions = IDL.Record({\n 'permissions_to_remove' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const AddNeuronPermissions = IDL.Record({\n 'permissions_to_add' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const MergeMaturity = IDL.Record({ 'percentage_to_merge' : IDL.Nat32 });\n const Amount = IDL.Record({ 'e8s' : IDL.Nat64 });\n const Disburse = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'amount' : IDL.Opt(Amount),\n });\n const Command_2 = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'ClaimOrRefreshNeuron' : ClaimOrRefresh,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const NeuronInFlightCommand = IDL.Record({\n 'command' : IDL.Opt(Command_2),\n 'timestamp' : IDL.Nat64,\n });\n const NeuronPermission = IDL.Record({\n 'principal' : IDL.Opt(IDL.Principal),\n 'permission_type' : IDL.Vec(IDL.Int32),\n });\n const DissolveState = IDL.Variant({\n 'DissolveDelaySeconds' : IDL.Nat64,\n 'WhenDissolvedTimestampSeconds' : IDL.Nat64,\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'permissions' : IDL.Vec(NeuronPermission),\n 'maturity_e8s_equivalent' : IDL.Nat64,\n 'cached_neuron_stake_e8s' : IDL.Nat64,\n 'created_timestamp_seconds' : IDL.Nat64,\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'voting_power_percentage_multiplier' : IDL.Nat64,\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n 'neuron_fees_e8s' : IDL.Nat64,\n });\n const Governance = IDL.Record({\n 'root_canister_id' : IDL.Opt(IDL.Principal),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'deployed_version' : IDL.Opt(Version),\n 'sns_initialization_parameters' : IDL.Text,\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'pending_version' : IDL.Opt(UpgradeInProgress),\n 'swap_canister_id' : IDL.Opt(IDL.Principal),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'proposals' : IDL.Vec(IDL.Tuple(IDL.Nat64, ProposalData)),\n 'in_flight_commands' : IDL.Vec(IDL.Tuple(IDL.Text, NeuronInFlightCommand)),\n 'sns_metadata' : IDL.Opt(ManageSnsMetadata),\n 'neurons' : IDL.Vec(IDL.Tuple(IDL.Text, Neuron)),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n const GetMetadataResponse = IDL.Record({\n 'url' : IDL.Opt(IDL.Text),\n 'logo' : IDL.Opt(IDL.Text),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n });\n const GetNeuron = IDL.Record({ 'neuron_id' : IDL.Opt(NeuronId) });\n const Result = IDL.Variant({ 'Error' : GovernanceError, 'Neuron' : Neuron });\n const GetNeuronResponse = IDL.Record({ 'result' : IDL.Opt(Result) });\n const GetProposal = IDL.Record({ 'proposal_id' : IDL.Opt(ProposalId) });\n const Result_1 = IDL.Variant({\n 'Error' : GovernanceError,\n 'Proposal' : ProposalData,\n });\n const GetProposalResponse = IDL.Record({ 'result' : IDL.Opt(Result_1) });\n const CanisterStatusType = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const DefiniteCanisterSettingsArgs = IDL.Record({\n 'controller' : IDL.Principal,\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const CanisterStatusResultV2 = IDL.Record({\n 'controller' : IDL.Principal,\n 'status' : CanisterStatusType,\n 'freezing_threshold' : IDL.Nat,\n 'balance' : IDL.Vec(IDL.Tuple(IDL.Vec(IDL.Nat8), IDL.Nat)),\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettingsArgs,\n 'idle_cycles_burned_per_day' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const GetRunningSnsVersionResponse = IDL.Record({\n 'deployed_version' : IDL.Opt(Version),\n 'pending_version' : IDL.Opt(UpgradeInProgress),\n });\n const GetSnsInitializationParametersResponse = IDL.Record({\n 'sns_initialization_parameters' : IDL.Text,\n });\n const ListNervousSystemFunctionsResponse = IDL.Record({\n 'reserved_ids' : IDL.Vec(IDL.Nat64),\n 'functions' : IDL.Vec(NervousSystemFunction),\n });\n const ListNeurons = IDL.Record({\n 'of_principal' : IDL.Opt(IDL.Principal),\n 'limit' : IDL.Nat32,\n 'start_page_at' : IDL.Opt(NeuronId),\n });\n const ListNeuronsResponse = IDL.Record({ 'neurons' : IDL.Vec(Neuron) });\n const ListProposals = IDL.Record({\n 'include_reward_status' : IDL.Vec(IDL.Int32),\n 'before_proposal' : IDL.Opt(ProposalId),\n 'limit' : IDL.Nat32,\n 'exclude_type' : IDL.Vec(IDL.Nat64),\n 'include_status' : IDL.Vec(IDL.Int32),\n });\n const ListProposalsResponse = IDL.Record({\n 'proposals' : IDL.Vec(ProposalData),\n });\n const Command = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'ClaimOrRefresh' : ClaimOrRefresh,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const ManageNeuron = IDL.Record({\n 'subaccount' : IDL.Vec(IDL.Nat8),\n 'command' : IDL.Opt(Command),\n });\n const SplitResponse = IDL.Record({ 'created_neuron_id' : IDL.Opt(NeuronId) });\n const DisburseMaturityResponse = IDL.Record({\n 'transfer_block_height' : IDL.Nat64,\n 'amount_disbursed_e8s' : IDL.Nat64,\n });\n const ClaimOrRefreshResponse = IDL.Record({\n 'refreshed_neuron_id' : IDL.Opt(NeuronId),\n });\n const MergeMaturityResponse = IDL.Record({\n 'merged_maturity_e8s' : IDL.Nat64,\n 'new_stake_e8s' : IDL.Nat64,\n });\n const DisburseResponse = IDL.Record({ 'transfer_block_height' : IDL.Nat64 });\n const Command_1 = IDL.Variant({\n 'Error' : GovernanceError,\n 'Split' : SplitResponse,\n 'Follow' : IDL.Record({}),\n 'DisburseMaturity' : DisburseMaturityResponse,\n 'ClaimOrRefresh' : ClaimOrRefreshResponse,\n 'Configure' : IDL.Record({}),\n 'RegisterVote' : IDL.Record({}),\n 'MakeProposal' : GetProposal,\n 'RemoveNeuronPermission' : IDL.Record({}),\n 'MergeMaturity' : MergeMaturityResponse,\n 'Disburse' : DisburseResponse,\n 'AddNeuronPermission' : IDL.Record({}),\n });\n const ManageNeuronResponse = IDL.Record({ 'command' : IDL.Opt(Command_1) });\n const SetMode = IDL.Record({ 'mode' : IDL.Int32 });\n return IDL.Service({\n 'get_build_metadata' : IDL.Func([], [IDL.Text], ['query']),\n 'get_metadata' : IDL.Func(\n [IDL.Record({})],\n [GetMetadataResponse],\n ['query'],\n ),\n 'get_nervous_system_parameters' : IDL.Func(\n [IDL.Null],\n [NervousSystemParameters],\n ['query'],\n ),\n 'get_neuron' : IDL.Func([GetNeuron], [GetNeuronResponse], ['query']),\n 'get_proposal' : IDL.Func([GetProposal], [GetProposalResponse], ['query']),\n 'get_root_canister_status' : IDL.Func(\n [IDL.Null],\n [CanisterStatusResultV2],\n [],\n ),\n 'get_running_sns_version' : IDL.Func(\n [IDL.Record({})],\n [GetRunningSnsVersionResponse],\n ['query'],\n ),\n 'get_sns_initialization_parameters' : IDL.Func(\n [IDL.Record({})],\n [GetSnsInitializationParametersResponse],\n ['query'],\n ),\n 'list_nervous_system_functions' : IDL.Func(\n [],\n [ListNervousSystemFunctionsResponse],\n ['query'],\n ),\n 'list_neurons' : IDL.Func([ListNeurons], [ListNeuronsResponse], ['query']),\n 'list_proposals' : IDL.Func(\n [ListProposals],\n [ListProposalsResponse],\n ['query'],\n ),\n 'manage_neuron' : IDL.Func([ManageNeuron], [ManageNeuronResponse], []),\n 'set_mode' : IDL.Func([SetMode], [IDL.Record({})], []),\n });\n};\nexport const init = ({ IDL }) => {\n const GenericNervousSystemFunction = IDL.Record({\n 'validator_canister_id' : IDL.Opt(IDL.Principal),\n 'target_canister_id' : IDL.Opt(IDL.Principal),\n 'validator_method_name' : IDL.Opt(IDL.Text),\n 'target_method_name' : IDL.Opt(IDL.Text),\n });\n const FunctionType = IDL.Variant({\n 'NativeNervousSystemFunction' : IDL.Record({}),\n 'GenericNervousSystemFunction' : GenericNervousSystemFunction,\n });\n const NervousSystemFunction = IDL.Record({\n 'id' : IDL.Nat64,\n 'name' : IDL.Text,\n 'description' : IDL.Opt(IDL.Text),\n 'function_type' : IDL.Opt(FunctionType),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const NeuronId = IDL.Record({ 'id' : IDL.Vec(IDL.Nat8) });\n const Followees = IDL.Record({ 'followees' : IDL.Vec(NeuronId) });\n const DefaultFollowees = IDL.Record({\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n });\n const NeuronPermissionList = IDL.Record({\n 'permissions' : IDL.Vec(IDL.Int32),\n });\n const VotingRewardsParameters = IDL.Record({\n 'start_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'final_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'initial_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'reward_rate_transition_duration_seconds' : IDL.Opt(IDL.Nat64),\n 'round_duration_seconds' : IDL.Opt(IDL.Nat64),\n });\n const NervousSystemParameters = IDL.Record({\n 'default_followees' : IDL.Opt(DefaultFollowees),\n 'max_dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'neuron_claimer_permissions' : IDL.Opt(NeuronPermissionList),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'max_neuron_age_for_age_bonus' : IDL.Opt(IDL.Nat64),\n 'initial_voting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_dissolve_delay_to_vote_seconds' : IDL.Opt(IDL.Nat64),\n 'reject_cost_e8s' : IDL.Opt(IDL.Nat64),\n 'max_proposals_to_keep_per_action' : IDL.Opt(IDL.Nat32),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Opt(IDL.Nat64),\n 'max_number_of_neurons' : IDL.Opt(IDL.Nat64),\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'max_number_of_proposals_with_ballots' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'voting_rewards_parameters' : IDL.Opt(VotingRewardsParameters),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const Version = IDL.Record({\n 'archive_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'root_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'swap_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'ledger_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'governance_wasm_hash' : IDL.Vec(IDL.Nat8),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const RewardEvent = IDL.Record({\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'round' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const UpgradeInProgress = IDL.Record({\n 'mark_failed_at_seconds' : IDL.Nat64,\n 'checking_upgrade_lock' : IDL.Nat64,\n 'proposal_id' : IDL.Nat64,\n 'target_version' : IDL.Opt(Version),\n });\n const GovernanceError = IDL.Record({\n 'error_message' : IDL.Text,\n 'error_type' : IDL.Int32,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Tally = IDL.Record({\n 'no' : IDL.Nat64,\n 'yes' : IDL.Nat64,\n 'total' : IDL.Nat64,\n 'timestamp_seconds' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const ManageSnsMetadata = IDL.Record({\n 'url' : IDL.Opt(IDL.Text),\n 'logo' : IDL.Opt(IDL.Text),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n });\n const ExecuteGenericNervousSystemFunction = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'payload' : IDL.Vec(IDL.Nat8),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'UpgradeSnsToNextVersion' : IDL.Record({}),\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'Unspecified' : IDL.Record({}),\n 'ManageSnsMetadata' : ManageSnsMetadata,\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'Motion' : Motion,\n });\n const Proposal = IDL.Record({\n 'url' : IDL.Text,\n 'title' : IDL.Text,\n 'action' : IDL.Opt(Action),\n 'summary' : IDL.Text,\n });\n const WaitForQuietState = IDL.Record({\n 'current_deadline_timestamp_seconds' : IDL.Nat64,\n });\n const ProposalData = IDL.Record({\n 'id' : IDL.Opt(ProposalId),\n 'payload_text_rendering' : IDL.Opt(IDL.Text),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'proposal_creation_timestamp_seconds' : IDL.Nat64,\n 'initial_voting_period_seconds' : IDL.Nat64,\n 'reject_cost_e8s' : IDL.Nat64,\n 'latest_tally' : IDL.Opt(Tally),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Nat64,\n 'decided_timestamp_seconds' : IDL.Nat64,\n 'proposal' : IDL.Opt(Proposal),\n 'proposer' : IDL.Opt(NeuronId),\n 'wait_for_quiet_state' : IDL.Opt(WaitForQuietState),\n 'is_eligible_for_rewards' : IDL.Bool,\n 'executed_timestamp_seconds' : IDL.Nat64,\n });\n const Split = IDL.Record({ 'memo' : IDL.Nat64, 'amount_e8s' : IDL.Nat64 });\n const Follow = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'followees' : IDL.Vec(NeuronId),\n });\n const Subaccount = IDL.Record({ 'subaccount' : IDL.Vec(IDL.Nat8) });\n const Account = IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(Subaccount),\n });\n const DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const IncreaseDissolveDelay = IDL.Record({\n 'additional_dissolve_delay_seconds' : IDL.Nat32,\n });\n const SetDissolveTimestamp = IDL.Record({\n 'dissolve_timestamp_seconds' : IDL.Nat64,\n });\n const Operation = IDL.Variant({\n 'StopDissolving' : IDL.Record({}),\n 'StartDissolving' : IDL.Record({}),\n 'IncreaseDissolveDelay' : IncreaseDissolveDelay,\n 'SetDissolveTimestamp' : SetDissolveTimestamp,\n });\n const Configure = IDL.Record({ 'operation' : IDL.Opt(Operation) });\n const RegisterVote = IDL.Record({\n 'vote' : IDL.Int32,\n 'proposal' : IDL.Opt(ProposalId),\n });\n const MemoAndController = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'memo' : IDL.Nat64,\n });\n const By = IDL.Variant({\n 'MemoAndController' : MemoAndController,\n 'NeuronId' : IDL.Record({}),\n });\n const ClaimOrRefresh = IDL.Record({ 'by' : IDL.Opt(By) });\n const RemoveNeuronPermissions = IDL.Record({\n 'permissions_to_remove' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const AddNeuronPermissions = IDL.Record({\n 'permissions_to_add' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const MergeMaturity = IDL.Record({ 'percentage_to_merge' : IDL.Nat32 });\n const Amount = IDL.Record({ 'e8s' : IDL.Nat64 });\n const Disburse = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'amount' : IDL.Opt(Amount),\n });\n const Command_2 = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'ClaimOrRefreshNeuron' : ClaimOrRefresh,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const NeuronInFlightCommand = IDL.Record({\n 'command' : IDL.Opt(Command_2),\n 'timestamp' : IDL.Nat64,\n });\n const NeuronPermission = IDL.Record({\n 'principal' : IDL.Opt(IDL.Principal),\n 'permission_type' : IDL.Vec(IDL.Int32),\n });\n const DissolveState = IDL.Variant({\n 'DissolveDelaySeconds' : IDL.Nat64,\n 'WhenDissolvedTimestampSeconds' : IDL.Nat64,\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'permissions' : IDL.Vec(NeuronPermission),\n 'maturity_e8s_equivalent' : IDL.Nat64,\n 'cached_neuron_stake_e8s' : IDL.Nat64,\n 'created_timestamp_seconds' : IDL.Nat64,\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'voting_power_percentage_multiplier' : IDL.Nat64,\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n 'neuron_fees_e8s' : IDL.Nat64,\n });\n const Governance = IDL.Record({\n 'root_canister_id' : IDL.Opt(IDL.Principal),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'deployed_version' : IDL.Opt(Version),\n 'sns_initialization_parameters' : IDL.Text,\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'pending_version' : IDL.Opt(UpgradeInProgress),\n 'swap_canister_id' : IDL.Opt(IDL.Principal),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'proposals' : IDL.Vec(IDL.Tuple(IDL.Nat64, ProposalData)),\n 'in_flight_commands' : IDL.Vec(IDL.Tuple(IDL.Text, NeuronInFlightCommand)),\n 'sns_metadata' : IDL.Opt(ManageSnsMetadata),\n 'neurons' : IDL.Vec(IDL.Tuple(IDL.Text, Neuron)),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n return [Governance];\n};\n", "import type { ManageNeuron } from \"../../candid/sns_governance\";\nimport type { SnsNeuronPermissionsParams } from \"../types/governance.params\";\n\nexport const toAddPermissionsRequest = ({\n neuronId,\n permissions,\n principal,\n}: SnsNeuronPermissionsParams): ManageNeuron => ({\n subaccount: neuronId.id,\n command: [\n {\n AddNeuronPermissions: {\n permissions_to_add: [{ permissions: Int32Array.from(permissions) }],\n principal_id: [principal],\n },\n },\n ],\n});\n\nexport const toRemovePermissionsRequest = ({\n neuronId,\n permissions,\n principal,\n}: SnsNeuronPermissionsParams): ManageNeuron => ({\n subaccount: neuronId.id,\n command: [\n {\n RemoveNeuronPermissions: {\n permissions_to_remove: [{ permissions: Int32Array.from(permissions) }],\n principal_id: [principal],\n },\n },\n ],\n});\n", "import type { Principal } from \"@dfinity/principal\";\nimport type { QueryParams } from \"../types/query.params\";\n\nexport abstract class Canister<T> {\n protected constructor(\n private readonly id: Principal,\n protected readonly service: T,\n protected readonly certifiedService: T\n ) {}\n\n get canisterId(): Principal {\n return this.id;\n }\n\n protected caller = ({ certified = true }: QueryParams): T =>\n certified ? this.certifiedService : this.service;\n}\n", "import { createServices, toNullable } from \"@dfinity/utils\";\nimport type {\n Tokens,\n _SERVICE as SnsLedgerService,\n} from \"../candid/icrc1_ledger\";\nimport { idlFactory as certifiedIdlFactory } from \"../candid/icrc1_ledger.certified.idl\";\nimport { idlFactory } from \"../candid/icrc1_ledger.idl\";\nimport { Canister } from \"./services/canister\";\nimport type { SnsCanisterOptions } from \"./types/canister.options\";\nimport type { BalanceParams } from \"./types/ledger.params\";\nimport type { SnsTokenMetadataResponse } from \"./types/ledger.responses\";\nimport type { QueryParams } from \"./types/query.params\";\n\nexport class SnsLedgerCanister extends Canister<SnsLedgerService> {\n static create(options: SnsCanisterOptions<SnsLedgerService>) {\n const { service, certifiedService, canisterId } =\n createServices<SnsLedgerService>({\n options,\n idlFactory,\n certifiedIdlFactory,\n });\n\n return new SnsLedgerCanister(canisterId, service, certifiedService);\n }\n\n /**\n * The token metadata (name, symbol, etc.).\n */\n metadata = (params: QueryParams): Promise<SnsTokenMetadataResponse> =>\n this.caller(params).icrc1_metadata();\n\n /**\n * Returns the balance of the given account.\n *\n * @param {BalanceParams} params The parameters to get the balance of an account.\n * @returns {Promise<Tokens>} The balance of the given account.\n */\n balance = (params: BalanceParams): Promise<Tokens> =>\n this.caller({ certified: params.certified }).icrc1_balance_of({\n owner: params.owner,\n subaccount: toNullable(params.subaccount),\n });\n}\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/icrc1_ledger.did */\nexport const idlFactory = ({ IDL }) => {\n const Value = IDL.Variant({\n 'Int' : IDL.Int,\n 'Nat' : IDL.Nat,\n 'Blob' : IDL.Vec(IDL.Nat8),\n 'Text' : IDL.Text,\n });\n const Subaccount = IDL.Vec(IDL.Nat8);\n const Account = IDL.Record({\n 'owner' : IDL.Principal,\n 'subaccount' : IDL.Opt(Subaccount),\n });\n const InitArgs = IDL.Record({\n 'token_symbol' : IDL.Text,\n 'transfer_fee' : IDL.Nat64,\n 'metadata' : IDL.Vec(IDL.Tuple(IDL.Text, Value)),\n 'minting_account' : Account,\n 'initial_balances' : IDL.Vec(IDL.Tuple(Account, IDL.Nat64)),\n 'archive_options' : IDL.Record({\n 'num_blocks_to_archive' : IDL.Nat64,\n 'trigger_threshold' : IDL.Nat64,\n 'max_message_size_bytes' : IDL.Opt(IDL.Nat64),\n 'cycles_for_archive_creation' : IDL.Opt(IDL.Nat64),\n 'node_max_memory_size_bytes' : IDL.Opt(IDL.Nat64),\n 'controller_id' : IDL.Principal,\n }),\n 'token_name' : IDL.Text,\n });\n const Tokens = IDL.Nat;\n const Timestamp = IDL.Nat64;\n const TransferArg = IDL.Record({\n 'to' : Account,\n 'fee' : IDL.Opt(Tokens),\n 'memo' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'from_subaccount' : IDL.Opt(Subaccount),\n 'created_at_time' : IDL.Opt(Timestamp),\n 'amount' : Tokens,\n });\n const BlockIndex = IDL.Nat;\n const TransferError = IDL.Variant({\n 'GenericError' : IDL.Record({\n 'message' : IDL.Text,\n 'error_code' : IDL.Nat,\n }),\n 'TemporarilyUnavailable' : IDL.Null,\n 'BadBurn' : IDL.Record({ 'min_burn_amount' : Tokens }),\n 'Duplicate' : IDL.Record({ 'duplicate_of' : BlockIndex }),\n 'BadFee' : IDL.Record({ 'expected_fee' : Tokens }),\n 'CreatedInFuture' : IDL.Record({ 'ledger_time' : IDL.Nat64 }),\n 'TooOld' : IDL.Null,\n 'InsufficientFunds' : IDL.Record({ 'balance' : Tokens }),\n });\n const TransferResult = IDL.Variant({\n 'Ok' : BlockIndex,\n 'Err' : TransferError,\n });\n return IDL.Service({\n 'icrc1_balance_of' : IDL.Func([Account], [Tokens], []),\n 'icrc1_decimals' : IDL.Func([], [IDL.Nat8], []),\n 'icrc1_fee' : IDL.Func([], [Tokens], []),\n 'icrc1_metadata' : IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Text, Value))], []),\n 'icrc1_minting_account' : IDL.Func([], [IDL.Opt(Account)], []),\n 'icrc1_name' : IDL.Func([], [IDL.Text], []),\n 'icrc1_supported_standards' : IDL.Func(\n [],\n [IDL.Vec(IDL.Record({ 'url' : IDL.Text, 'name' : IDL.Text }))],\n [],\n ),\n 'icrc1_symbol' : IDL.Func([], [IDL.Text], []),\n 'icrc1_total_supply' : IDL.Func([], [Tokens], []),\n 'icrc1_transfer' : IDL.Func([TransferArg], [TransferResult], []),\n });\n};\nexport const init = ({ IDL }) => {\n const Value = IDL.Variant({\n 'Int' : IDL.Int,\n 'Nat' : IDL.Nat,\n 'Blob' : IDL.Vec(IDL.Nat8),\n 'Text' : IDL.Text,\n });\n const Subaccount = IDL.Vec(IDL.Nat8);\n const Account = IDL.Record({\n 'owner' : IDL.Principal,\n 'subaccount' : IDL.Opt(Subaccount),\n });\n const InitArgs = IDL.Record({\n 'token_symbol' : IDL.Text,\n 'transfer_fee' : IDL.Nat64,\n 'metadata' : IDL.Vec(IDL.Tuple(IDL.Text, Value)),\n 'minting_account' : Account,\n 'initial_balances' : IDL.Vec(IDL.Tuple(Account, IDL.Nat64)),\n 'archive_options' : IDL.Record({\n 'num_blocks_to_archive' : IDL.Nat64,\n 'trigger_threshold' : IDL.Nat64,\n 'max_message_size_bytes' : IDL.Opt(IDL.Nat64),\n 'cycles_for_archive_creation' : IDL.Opt(IDL.Nat64),\n 'node_max_memory_size_bytes' : IDL.Opt(IDL.Nat64),\n 'controller_id' : IDL.Principal,\n }),\n 'token_name' : IDL.Text,\n });\n return [InitArgs];\n};\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/icrc1_ledger.did */\nexport const idlFactory = ({ IDL }) => {\n const Value = IDL.Variant({\n 'Int' : IDL.Int,\n 'Nat' : IDL.Nat,\n 'Blob' : IDL.Vec(IDL.Nat8),\n 'Text' : IDL.Text,\n });\n const Subaccount = IDL.Vec(IDL.Nat8);\n const Account = IDL.Record({\n 'owner' : IDL.Principal,\n 'subaccount' : IDL.Opt(Subaccount),\n });\n const InitArgs = IDL.Record({\n 'token_symbol' : IDL.Text,\n 'transfer_fee' : IDL.Nat64,\n 'metadata' : IDL.Vec(IDL.Tuple(IDL.Text, Value)),\n 'minting_account' : Account,\n 'initial_balances' : IDL.Vec(IDL.Tuple(Account, IDL.Nat64)),\n 'archive_options' : IDL.Record({\n 'num_blocks_to_archive' : IDL.Nat64,\n 'trigger_threshold' : IDL.Nat64,\n 'max_message_size_bytes' : IDL.Opt(IDL.Nat64),\n 'cycles_for_archive_creation' : IDL.Opt(IDL.Nat64),\n 'node_max_memory_size_bytes' : IDL.Opt(IDL.Nat64),\n 'controller_id' : IDL.Principal,\n }),\n 'token_name' : IDL.Text,\n });\n const Tokens = IDL.Nat;\n const Timestamp = IDL.Nat64;\n const TransferArg = IDL.Record({\n 'to' : Account,\n 'fee' : IDL.Opt(Tokens),\n 'memo' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'from_subaccount' : IDL.Opt(Subaccount),\n 'created_at_time' : IDL.Opt(Timestamp),\n 'amount' : Tokens,\n });\n const BlockIndex = IDL.Nat;\n const TransferError = IDL.Variant({\n 'GenericError' : IDL.Record({\n 'message' : IDL.Text,\n 'error_code' : IDL.Nat,\n }),\n 'TemporarilyUnavailable' : IDL.Null,\n 'BadBurn' : IDL.Record({ 'min_burn_amount' : Tokens }),\n 'Duplicate' : IDL.Record({ 'duplicate_of' : BlockIndex }),\n 'BadFee' : IDL.Record({ 'expected_fee' : Tokens }),\n 'CreatedInFuture' : IDL.Record({ 'ledger_time' : IDL.Nat64 }),\n 'TooOld' : IDL.Null,\n 'InsufficientFunds' : IDL.Record({ 'balance' : Tokens }),\n });\n const TransferResult = IDL.Variant({\n 'Ok' : BlockIndex,\n 'Err' : TransferError,\n });\n return IDL.Service({\n 'icrc1_balance_of' : IDL.Func([Account], [Tokens], ['query']),\n 'icrc1_decimals' : IDL.Func([], [IDL.Nat8], ['query']),\n 'icrc1_fee' : IDL.Func([], [Tokens], ['query']),\n 'icrc1_metadata' : IDL.Func(\n [],\n [IDL.Vec(IDL.Tuple(IDL.Text, Value))],\n ['query'],\n ),\n 'icrc1_minting_account' : IDL.Func([], [IDL.Opt(Account)], ['query']),\n 'icrc1_name' : IDL.Func([], [IDL.Text], ['query']),\n 'icrc1_supported_standards' : IDL.Func(\n [],\n [IDL.Vec(IDL.Record({ 'url' : IDL.Text, 'name' : IDL.Text }))],\n ['query'],\n ),\n 'icrc1_symbol' : IDL.Func([], [IDL.Text], ['query']),\n 'icrc1_total_supply' : IDL.Func([], [Tokens], ['query']),\n 'icrc1_transfer' : IDL.Func([TransferArg], [TransferResult], []),\n });\n};\nexport const init = ({ IDL }) => {\n const Value = IDL.Variant({\n 'Int' : IDL.Int,\n 'Nat' : IDL.Nat,\n 'Blob' : IDL.Vec(IDL.Nat8),\n 'Text' : IDL.Text,\n });\n const Subaccount = IDL.Vec(IDL.Nat8);\n const Account = IDL.Record({\n 'owner' : IDL.Principal,\n 'subaccount' : IDL.Opt(Subaccount),\n });\n const InitArgs = IDL.Record({\n 'token_symbol' : IDL.Text,\n 'transfer_fee' : IDL.Nat64,\n 'metadata' : IDL.Vec(IDL.Tuple(IDL.Text, Value)),\n 'minting_account' : Account,\n 'initial_balances' : IDL.Vec(IDL.Tuple(Account, IDL.Nat64)),\n 'archive_options' : IDL.Record({\n 'num_blocks_to_archive' : IDL.Nat64,\n 'trigger_threshold' : IDL.Nat64,\n 'max_message_size_bytes' : IDL.Opt(IDL.Nat64),\n 'cycles_for_archive_creation' : IDL.Opt(IDL.Nat64),\n 'node_max_memory_size_bytes' : IDL.Opt(IDL.Nat64),\n 'controller_id' : IDL.Principal,\n }),\n 'token_name' : IDL.Text,\n });\n return [InitArgs];\n};\n", "import { 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 { Canister } from \"./services/canister\";\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 = async ({\n certified = true,\n }: {\n certified?: boolean;\n }): Promise<ListSnsCanistersResponse> => {\n return this.caller({ certified }).list_sns_canisters({});\n };\n}\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_root.did */\nexport const idlFactory = ({ IDL }) => {\n const SnsRootCanister = IDL.Record({\n 'dapp_canister_ids' : IDL.Vec(IDL.Principal),\n 'latest_ledger_archive_poll_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'archive_canister_ids' : IDL.Vec(IDL.Principal),\n 'governance_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 CanisterStatusResult = IDL.Record({\n 'controller' : IDL.Principal,\n 'status' : CanisterStatusType,\n 'memory_size' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const GetSnsCanistersSummaryRequest = IDL.Record({\n 'update_canister_list' : IDL.Opt(IDL.Bool),\n });\n const CanisterStatusType_1 = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const DefiniteCanisterSettingsArgs = IDL.Record({\n 'controller' : IDL.Principal,\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const CanisterStatusResultV2 = IDL.Record({\n 'controller' : IDL.Principal,\n 'status' : CanisterStatusType_1,\n 'freezing_threshold' : IDL.Nat,\n 'balance' : IDL.Vec(IDL.Tuple(IDL.Vec(IDL.Nat8), IDL.Nat)),\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettingsArgs,\n 'idle_cycles_burned_per_day' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const 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 'governance' : IDL.Opt(CanisterSummary),\n 'dapps' : IDL.Vec(CanisterSummary),\n 'archives' : IDL.Vec(CanisterSummary),\n });\n const ListSnsCanistersResponse = IDL.Record({\n 'root' : IDL.Opt(IDL.Principal),\n 'swap' : IDL.Opt(IDL.Principal),\n 'ledger' : 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 RegisterDappCanisterRequest = IDL.Record({\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const SetDappControllersRequest = IDL.Record({\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 'get_build_metadata' : IDL.Func([], [IDL.Text], []),\n 'get_sns_canisters_summary' : IDL.Func(\n [GetSnsCanistersSummaryRequest],\n [GetSnsCanistersSummaryResponse],\n [],\n ),\n 'list_sns_canisters' : IDL.Func(\n [IDL.Record({})],\n [ListSnsCanistersResponse],\n [],\n ),\n 'register_dapp_canister' : IDL.Func(\n [RegisterDappCanisterRequest],\n [IDL.Record({})],\n [],\n ),\n 'set_dapp_controllers' : IDL.Func(\n [SetDappControllersRequest],\n [SetDappControllersResponse],\n [],\n ),\n });\n};\nexport const init = ({ IDL }) => {\n const SnsRootCanister = IDL.Record({\n 'dapp_canister_ids' : IDL.Vec(IDL.Principal),\n 'latest_ledger_archive_poll_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'archive_canister_ids' : IDL.Vec(IDL.Principal),\n 'governance_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 SnsRootCanister = IDL.Record({\n 'dapp_canister_ids' : IDL.Vec(IDL.Principal),\n 'latest_ledger_archive_poll_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'archive_canister_ids' : IDL.Vec(IDL.Principal),\n 'governance_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 CanisterStatusResult = IDL.Record({\n 'controller' : IDL.Principal,\n 'status' : CanisterStatusType,\n 'memory_size' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const GetSnsCanistersSummaryRequest = IDL.Record({\n 'update_canister_list' : IDL.Opt(IDL.Bool),\n });\n const CanisterStatusType_1 = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const DefiniteCanisterSettingsArgs = IDL.Record({\n 'controller' : IDL.Principal,\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const CanisterStatusResultV2 = IDL.Record({\n 'controller' : IDL.Principal,\n 'status' : CanisterStatusType_1,\n 'freezing_threshold' : IDL.Nat,\n 'balance' : IDL.Vec(IDL.Tuple(IDL.Vec(IDL.Nat8), IDL.Nat)),\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettingsArgs,\n 'idle_cycles_burned_per_day' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const 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 'governance' : IDL.Opt(CanisterSummary),\n 'dapps' : IDL.Vec(CanisterSummary),\n 'archives' : IDL.Vec(CanisterSummary),\n });\n const ListSnsCanistersResponse = IDL.Record({\n 'root' : IDL.Opt(IDL.Principal),\n 'swap' : IDL.Opt(IDL.Principal),\n 'ledger' : 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 RegisterDappCanisterRequest = IDL.Record({\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const SetDappControllersRequest = IDL.Record({\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 'get_build_metadata' : IDL.Func([], [IDL.Text], ['query']),\n 'get_sns_canisters_summary' : IDL.Func(\n [GetSnsCanistersSummaryRequest],\n [GetSnsCanistersSummaryResponse],\n [],\n ),\n 'list_sns_canisters' : IDL.Func(\n [IDL.Record({})],\n [ListSnsCanistersResponse],\n ['query'],\n ),\n 'register_dapp_canister' : IDL.Func(\n [RegisterDappCanisterRequest],\n [IDL.Record({})],\n [],\n ),\n 'set_dapp_controllers' : IDL.Func(\n [SetDappControllersRequest],\n [SetDappControllersResponse],\n [],\n ),\n });\n};\nexport const init = ({ IDL }) => {\n const SnsRootCanister = IDL.Record({\n 'dapp_canister_ids' : IDL.Vec(IDL.Principal),\n 'latest_ledger_archive_poll_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'archive_canister_ids' : IDL.Vec(IDL.Principal),\n 'governance_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 type { Principal } from \"@dfinity/principal\";\nimport { assertNonNullish, fromNullable } from \"@dfinity/utils\";\nimport type {\n ListSnsCanistersResponse,\n _SERVICE as SnsRootService,\n} from \"../candid/sns_root\";\nimport { SnsGovernanceCanister } from \"./governance.canister\";\nimport { SnsLedgerCanister } from \"./ledger.canister\";\nimport { SnsRootCanister } from \"./root.canister\";\nimport { SnsWrapper } from \"./sns.wrapper\";\nimport { SnsSwapCanister } from \"./swap.canister\";\nimport type { SnsCanisterOptions } from \"./types/canister.options\";\nimport type { QueryParams } from \"./types/query.params\";\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 }: 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\n assertNonNullish(governanceCanisterId);\n assertNonNullish(ledgerCanisterId);\n assertNonNullish(swapCanisterId);\n\n return new SnsWrapper({\n root: rootCanister,\n governance: SnsGovernanceCanister.create({\n canisterId: governanceCanisterId,\n agent,\n }),\n ledger: SnsLedgerCanister.create({ canisterId: ledgerCanisterId, agent }),\n swap: SnsSwapCanister.create({ canisterId: swapCanisterId, agent }),\n certified,\n });\n};\n", "import type { Principal } from \"@dfinity/principal\";\nimport type { Tokens } from \"../candid/icrc1_ledger\";\nimport type { GetMetadataResponse, Neuron } from \"../candid/sns_governance\";\nimport type {\n BuyerState,\n GetBuyerStateRequest,\n GetStateResponse,\n RefreshBuyerTokensRequest,\n} from \"../candid/sns_swap\";\nimport type { SnsGovernanceCanister } from \"./governance.canister\";\nimport type { SnsLedgerCanister } from \"./ledger.canister\";\nimport type { SnsRootCanister } from \"./root.canister\";\nimport type { SnsSwapCanister } from \"./swap.canister\";\nimport type {\n SnsGetNeuronParams,\n SnsListNeuronsParams,\n SnsNeuronPermissionsParams,\n} from \"./types/governance.params\";\nimport type { BalanceParams } from \"./types/ledger.params\";\nimport type { SnsTokenMetadataResponse } from \"./types/ledger.responses\";\nimport type { QueryParams } from \"./types/query.params\";\n\ninterface SnsWrapperOptions {\n /** The wrapper for the \"root\" canister of the particular Sns */\n root: SnsRootCanister;\n /** The wrapper for the \"governance\" canister of the particular Sns */\n governance: SnsGovernanceCanister;\n /** The wrapper for the \"ledger\" canister of the particular Sns */\n ledger: SnsLedgerCanister;\n /** The wrapper for the \"swap\" canister of the particular Sns */\n swap: SnsSwapCanister;\n\n /** The wrapper has been instantiated and should perform query or update calls */\n certified: boolean;\n}\n\n/**\n * Sns wrapper - notably used by NNS-dapp - ease the access to a particular Sns.\n * It knows all the Sns' canisters, wrap and enhance their available features.\n * A wrapper either performs query or update calls.\n */\nexport class SnsWrapper {\n private readonly root: SnsRootCanister;\n private readonly governance: SnsGovernanceCanister;\n private readonly ledger: SnsLedgerCanister;\n private readonly swap: SnsSwapCanister;\n private readonly certified: boolean;\n\n /**\n * Constructor to instantiate a Sns\n */\n constructor({\n root,\n governance,\n ledger,\n swap,\n certified,\n }: SnsWrapperOptions) {\n this.root = root;\n this.governance = governance;\n this.ledger = ledger;\n this.swap = swap;\n this.certified = certified;\n }\n\n /**\n * Binds the list of canister ids of the Sns.\n */\n get canisterIds(): {\n rootCanisterId: Principal;\n ledgerCanisterId: Principal;\n governanceCanisterId: Principal;\n swapCanisterId: Principal;\n } {\n return {\n rootCanisterId: this.root.canisterId,\n ledgerCanisterId: this.ledger.canisterId,\n governanceCanisterId: this.governance.canisterId,\n swapCanisterId: this.swap.canisterId,\n };\n }\n\n listNeurons = (\n params: Omit<SnsListNeuronsParams, \"certified\">\n ): Promise<Neuron[]> => this.governance.listNeurons(this.mergeParams(params));\n\n metadata = (\n params: Omit<QueryParams, \"certified\">\n ): Promise<[GetMetadataResponse, SnsTokenMetadataResponse]> =>\n Promise.all([\n this.governance.metadata(this.mergeParams(params)),\n this.ledger.metadata(this.mergeParams(params)),\n ]);\n\n ledgerMetadata = (\n params: Omit<QueryParams, \"certified\">\n ): Promise<SnsTokenMetadataResponse> =>\n this.ledger.metadata(this.mergeParams(params));\n\n balance = (params: Omit<BalanceParams, \"certified\">): Promise<Tokens> =>\n this.ledger.balance(this.mergeParams(params));\n\n getNeuron = (\n params: Omit<SnsGetNeuronParams, \"certified\">\n ): Promise<Neuron> => this.governance.getNeuron(this.mergeParams(params));\n\n // Always certified\n addNeuronPermissions = (params: SnsNeuronPermissionsParams): Promise<void> =>\n this.governance.addNeuronPermissions(params);\n\n // Always certified\n removeNeuronPermissions = (\n params: SnsNeuronPermissionsParams\n ): Promise<void> => this.governance.removeNeuronPermissions(params);\n\n swapState = (\n params: Omit<QueryParams, \"certified\">\n ): Promise<GetStateResponse> => this.swap.state(this.mergeParams(params));\n\n // Always certified\n notifyParticipation = (params: RefreshBuyerTokensRequest): Promise<void> =>\n this.swap.notifyParticipation(params);\n\n getUserCommitment = (\n params: GetBuyerStateRequest\n ): Promise<BuyerState | undefined> =>\n this.swap.getUserCommitment(this.mergeParams(params));\n\n private mergeParams<T>(params: T): QueryParams & T {\n return {\n ...params,\n certified: this.certified,\n };\n }\n}\n", "import { createServices, fromNullable } from \"@dfinity/utils\";\nimport type {\n BuyerState,\n GetBuyerStateRequest,\n GetStateResponse,\n RefreshBuyerTokensRequest,\n _SERVICE as SnsSwapService,\n} from \"../candid/sns_swap\";\nimport { idlFactory as certifiedIdlFactory } from \"../candid/sns_swap.certified.idl\";\nimport { idlFactory } from \"../candid/sns_swap.idl\";\nimport { Canister } from \"./services/canister\";\nimport type { SnsCanisterOptions } from \"./types/canister.options\";\nimport type { QueryParams } from \"./types/query.params\";\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 user participating in the swap\n */\n notifyParticipation = async (\n params: RefreshBuyerTokensRequest\n ): Promise<void> => {\n await this.caller({ certified: true }).refresh_buyer_tokens(params);\n };\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", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_swap.did */\nexport const idlFactory = ({ IDL }) => {\n const Init = IDL.Record({\n 'sns_root_canister_id' : IDL.Text,\n 'fallback_controller_principal_ids' : IDL.Vec(IDL.Text),\n 'nns_governance_canister_id' : IDL.Text,\n 'icp_ledger_canister_id' : IDL.Text,\n 'sns_ledger_canister_id' : IDL.Text,\n 'sns_governance_canister_id' : IDL.Text,\n });\n const ErrorRefundIcpRequest = IDL.Record({\n 'icp_e8s' : IDL.Nat64,\n 'fee_override_e8s' : IDL.Nat64,\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 CanisterCallError = IDL.Record({\n 'code' : IDL.Opt(IDL.Int32),\n 'description' : IDL.Text,\n });\n const Possibility = IDL.Variant({\n 'Ok' : Response,\n 'Err' : CanisterCallError,\n });\n const SettleCommunityFundParticipationResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility),\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_1 = IDL.Variant({\n 'Ok' : SetDappControllersResponse,\n 'Err' : CanisterCallError,\n });\n const SetDappControllersCallResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility_1),\n });\n const Possibility_2 = IDL.Variant({ 'Err' : CanisterCallError });\n const SetModeCallResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility_2),\n });\n const SweepResult = IDL.Record({\n 'failure' : IDL.Nat32,\n 'skipped' : IDL.Nat32,\n 'success' : IDL.Nat32,\n });\n const FinalizeSwapResponse = IDL.Record({\n 'settle_community_fund_participation_result' : IDL.Opt(\n SettleCommunityFundParticipationResult\n ),\n 'set_dapp_controllers_result' : IDL.Opt(SetDappControllersCallResult),\n 'sns_governance_normal_mode_enabled' : IDL.Opt(SetModeCallResult),\n 'sweep_icp' : IDL.Opt(SweepResult),\n 'sweep_sns' : IDL.Opt(SweepResult),\n 'create_neuron' : IDL.Opt(SweepResult),\n });\n const GetBuyerStateRequest = IDL.Record({\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const TransferableAmount = IDL.Record({\n 'transfer_start_timestamp_seconds' : IDL.Nat64,\n 'amount_e8s' : IDL.Nat64,\n 'transfer_success_timestamp_seconds' : IDL.Nat64,\n });\n const BuyerState = IDL.Record({ 'icp' : IDL.Opt(TransferableAmount) });\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 'controller' : IDL.Principal,\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const CanisterStatusResultV2 = IDL.Record({\n 'controller' : IDL.Principal,\n 'status' : CanisterStatusType,\n 'freezing_threshold' : IDL.Nat,\n 'balance' : IDL.Vec(IDL.Tuple(IDL.Vec(IDL.Nat8), IDL.Nat)),\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettingsArgs,\n 'idle_cycles_burned_per_day' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const CfInvestment = IDL.Record({\n 'hotkey_principal' : IDL.Text,\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 'investor' : IDL.Opt(Investor),\n });\n const CfNeuron = IDL.Record({\n 'nns_neuron_id' : IDL.Nat64,\n 'amount_icp_e8s' : IDL.Nat64,\n });\n const CfParticipant = IDL.Record({\n 'hotkey_principal' : IDL.Text,\n 'cf_neurons' : IDL.Vec(CfNeuron),\n });\n const Params = IDL.Record({\n 'min_participant_icp_e8s' : IDL.Nat64,\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 'max_participant_icp_e8s' : IDL.Nat64,\n 'min_icp_e8s' : IDL.Nat64,\n });\n const Swap = IDL.Record({\n 'neuron_recipes' : IDL.Vec(SnsNeuronRecipe),\n 'cf_participants' : IDL.Vec(CfParticipant),\n 'init' : IDL.Opt(Init),\n 'lifecycle' : IDL.Int32,\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 });\n const GetStateResponse = IDL.Record({\n 'swap' : IDL.Opt(Swap),\n 'derived' : IDL.Opt(DerivedState),\n });\n const OpenRequest = IDL.Record({\n 'cf_participants' : IDL.Vec(CfParticipant),\n 'params' : IDL.Opt(Params),\n 'open_sns_token_swap_proposal_id' : IDL.Opt(IDL.Nat64),\n });\n const RefreshBuyerTokensRequest = IDL.Record({ 'buyer' : IDL.Text });\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 [IDL.Record({})],\n [],\n ),\n 'finalize_swap' : IDL.Func([IDL.Record({})], [FinalizeSwapResponse], []),\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_state' : IDL.Func([IDL.Record({})], [GetStateResponse], []),\n 'open' : IDL.Func([OpenRequest], [IDL.Record({})], []),\n 'refresh_buyer_tokens' : IDL.Func(\n [RefreshBuyerTokensRequest],\n [RefreshBuyerTokensResponse],\n [],\n ),\n });\n};\nexport const init = ({ IDL }) => {\n const Init = IDL.Record({\n 'sns_root_canister_id' : IDL.Text,\n 'fallback_controller_principal_ids' : IDL.Vec(IDL.Text),\n 'nns_governance_canister_id' : IDL.Text,\n 'icp_ledger_canister_id' : IDL.Text,\n 'sns_ledger_canister_id' : IDL.Text,\n 'sns_governance_canister_id' : IDL.Text,\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 Init = IDL.Record({\n 'sns_root_canister_id' : IDL.Text,\n 'fallback_controller_principal_ids' : IDL.Vec(IDL.Text),\n 'nns_governance_canister_id' : IDL.Text,\n 'icp_ledger_canister_id' : IDL.Text,\n 'sns_ledger_canister_id' : IDL.Text,\n 'sns_governance_canister_id' : IDL.Text,\n });\n const ErrorRefundIcpRequest = IDL.Record({\n 'icp_e8s' : IDL.Nat64,\n 'fee_override_e8s' : IDL.Nat64,\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 CanisterCallError = IDL.Record({\n 'code' : IDL.Opt(IDL.Int32),\n 'description' : IDL.Text,\n });\n const Possibility = IDL.Variant({\n 'Ok' : Response,\n 'Err' : CanisterCallError,\n });\n const SettleCommunityFundParticipationResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility),\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_1 = IDL.Variant({\n 'Ok' : SetDappControllersResponse,\n 'Err' : CanisterCallError,\n });\n const SetDappControllersCallResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility_1),\n });\n const Possibility_2 = IDL.Variant({ 'Err' : CanisterCallError });\n const SetModeCallResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility_2),\n });\n const SweepResult = IDL.Record({\n 'failure' : IDL.Nat32,\n 'skipped' : IDL.Nat32,\n 'success' : IDL.Nat32,\n });\n const FinalizeSwapResponse = IDL.Record({\n 'settle_community_fund_participation_result' : IDL.Opt(\n SettleCommunityFundParticipationResult\n ),\n 'set_dapp_controllers_result' : IDL.Opt(SetDappControllersCallResult),\n 'sns_governance_normal_mode_enabled' : IDL.Opt(SetModeCallResult),\n 'sweep_icp' : IDL.Opt(SweepResult),\n 'sweep_sns' : IDL.Opt(SweepResult),\n 'create_neuron' : IDL.Opt(SweepResult),\n });\n const GetBuyerStateRequest = IDL.Record({\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const TransferableAmount = IDL.Record({\n 'transfer_start_timestamp_seconds' : IDL.Nat64,\n 'amount_e8s' : IDL.Nat64,\n 'transfer_success_timestamp_seconds' : IDL.Nat64,\n });\n const BuyerState = IDL.Record({ 'icp' : IDL.Opt(TransferableAmount) });\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 'controller' : IDL.Principal,\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const CanisterStatusResultV2 = IDL.Record({\n 'controller' : IDL.Principal,\n 'status' : CanisterStatusType,\n 'freezing_threshold' : IDL.Nat,\n 'balance' : IDL.Vec(IDL.Tuple(IDL.Vec(IDL.Nat8), IDL.Nat)),\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettingsArgs,\n 'idle_cycles_burned_per_day' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const CfInvestment = IDL.Record({\n 'hotkey_principal' : IDL.Text,\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 'investor' : IDL.Opt(Investor),\n });\n const CfNeuron = IDL.Record({\n 'nns_neuron_id' : IDL.Nat64,\n 'amount_icp_e8s' : IDL.Nat64,\n });\n const CfParticipant = IDL.Record({\n 'hotkey_principal' : IDL.Text,\n 'cf_neurons' : IDL.Vec(CfNeuron),\n });\n const Params = IDL.Record({\n 'min_participant_icp_e8s' : IDL.Nat64,\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 'max_participant_icp_e8s' : IDL.Nat64,\n 'min_icp_e8s' : IDL.Nat64,\n });\n const Swap = IDL.Record({\n 'neuron_recipes' : IDL.Vec(SnsNeuronRecipe),\n 'cf_participants' : IDL.Vec(CfParticipant),\n 'init' : IDL.Opt(Init),\n 'lifecycle' : IDL.Int32,\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 });\n const GetStateResponse = IDL.Record({\n 'swap' : IDL.Opt(Swap),\n 'derived' : IDL.Opt(DerivedState),\n });\n const OpenRequest = IDL.Record({\n 'cf_participants' : IDL.Vec(CfParticipant),\n 'params' : IDL.Opt(Params),\n 'open_sns_token_swap_proposal_id' : IDL.Opt(IDL.Nat64),\n });\n const RefreshBuyerTokensRequest = IDL.Record({ 'buyer' : IDL.Text });\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 [IDL.Record({})],\n [],\n ),\n 'finalize_swap' : IDL.Func([IDL.Record({})], [FinalizeSwapResponse], []),\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_state' : IDL.Func([IDL.Record({})], [GetStateResponse], ['query']),\n 'open' : IDL.Func([OpenRequest], [IDL.Record({})], []),\n 'refresh_buyer_tokens' : IDL.Func(\n [RefreshBuyerTokensRequest],\n [RefreshBuyerTokensResponse],\n [],\n ),\n });\n};\nexport const init = ({ IDL }) => {\n const Init = IDL.Record({\n 'sns_root_canister_id' : IDL.Text,\n 'fallback_controller_principal_ids' : IDL.Vec(IDL.Text),\n 'nns_governance_canister_id' : IDL.Text,\n 'icp_ledger_canister_id' : IDL.Text,\n 'sns_ledger_canister_id' : IDL.Text,\n 'sns_governance_canister_id' : IDL.Text,\n });\n return [Init];\n};\n", "import type { Principal } from \"@dfinity/principal\";\nimport type { Subaccount, Value } from \"../../candid/icrc1_ledger\";\n\n// Source: https://github.com/dfinity/icrc-1#standard-metadata-entries\nexport enum SnsMetadataResponseEntries {\n SYMBOL = \"icrc1:symbol\",\n NAME = \"icrc1:name\",\n DECIMALS = \"icrc1:decimals\",\n FEE = \"icrc1:fee\",\n}\n\nexport type SnsTokenMetadataResponse = [\n string | SnsMetadataResponseEntries,\n Value\n][];\n\nexport interface SnsAccount {\n owner: Principal;\n subaccount?: Subaccount;\n}\n", "import { Principal } from \"@dfinity/principal\";\nimport type { SnsAccount } from \"../types/ledger.responses\";\n\n// https://github.com/dfinity/ICRC-1/pull/55/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R236\nconst EXTRA_BYTES = parseInt(\"FF\", 16);\nconst MAX_ACCOUNT_BYTES_LENGTH = 32;\n\n/**\n * Removes leading zeros from a Uint8Array\n *\n * @param bytes Uint8Array\n * @returns Uint8Array\n */\nconst shrink = (bytes: Uint8Array): Uint8Array => {\n const shrinked = Array.from(bytes);\n while (shrinked[0] === 0) {\n shrinked.shift();\n }\n return Uint8Array.from(shrinked);\n};\n\n/**\n * Encodes an SNS account into a string.\n * Formatting Reference: https://github.com/dfinity/ICRC-1/pull/55/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R238\n *\n * @param snsAccount { owner: Principal, subaccount?: Uint8Array }\n * @returns string\n */\nexport const encodeSnsAccount = ({ owner, subaccount }: SnsAccount): string => {\n if (subaccount === undefined) {\n return owner.toText();\n }\n\n const subaccountBytes = shrink(subaccount);\n\n if (subaccountBytes.length === 0) {\n return owner.toText();\n }\n\n const bytes = Uint8Array.from([\n ...owner.toUint8Array(),\n ...subaccountBytes,\n subaccountBytes.length,\n EXTRA_BYTES,\n ]);\n\n return Principal.fromUint8Array(bytes).toText();\n};\n\n/**\n * Decodes a string into an SNS account.\n * Formatting Reference: https://github.com/dfinity/ICRC-1/pull/55/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R268\n *\n * @param snsAccountString string\n * @throws Error if the string is not a valid SNS account\n * @returns snsAccount { owner: Principal, subaccount?: Uint8Array }\n */\nexport const decodeSnsAccount = (accountString: string): SnsAccount => {\n const principal = Principal.fromText(accountString);\n\n const [ff, nonZeroLength, ...restReversed] = principal\n .toUint8Array()\n .reverse();\n\n if (ff !== EXTRA_BYTES) {\n return {\n owner: Principal.fromText(accountString),\n };\n }\n\n if (\n nonZeroLength > MAX_ACCOUNT_BYTES_LENGTH ||\n nonZeroLength === 0 ||\n nonZeroLength === undefined\n ) {\n throw new Error(\"Invalid account string\");\n }\n\n const subaccountBytesReversed = restReversed.slice(0, nonZeroLength);\n if (\n subaccountBytesReversed[0] === 0 ||\n subaccountBytesReversed.length !== nonZeroLength\n ) {\n throw new Error(\"Invalid account string\");\n }\n while (subaccountBytesReversed.length < MAX_ACCOUNT_BYTES_LENGTH) {\n subaccountBytesReversed.push(0);\n }\n const subaccount = Uint8Array.from(subaccountBytesReversed.reverse());\n\n const principalBytes = restReversed\n .reverse()\n .filter((_, i) => i < restReversed.length - nonZeroLength);\n\n return {\n owner: Principal.fromUint8Array(Uint8Array.from(principalBytes)),\n subaccount,\n };\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["export type {\n GetMetadataResponse as SnsGetMetadataResponse,\n ManageNeuron as SnsManageNeuron,\n ManageNeuronResponse as SnsManageNeuronResponse,\n Neuron as SnsNeuron,\n NeuronId as SnsNeuronId,\n} from \"../candid/sns_governance\";\nexport type { CanisterStatusResultV2 as SnsCanisterStatus } from \"../candid/sns_root\";\nexport type {\n BuyerState as SnsSwapBuyerState,\n CfParticipant,\n DerivedState as SnsSwapDerivedState,\n GetBuyerStateRequest as SnsGetBuyerStateRequest,\n GetBuyerStateResponse as SnsGetBuyerStateResponse,\n Init as SnsSwapInit,\n Params as SnsParams,\n SnsNeuronRecipe,\n Swap as SnsSwap,\n TransferableAmount as SnsTransferableAmount,\n} from \"../candid/sns_swap\";\nexport * from \"./enums/governance.enums\";\nexport * from \"./enums/swap.enums\";\nexport * from \"./errors/governance.errors\";\nexport { SnsGovernanceCanister } from \"./governance.canister\";\nexport { SnsLedgerCanister } from \"./ledger.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 type {\n SnsGetNeuronParams,\n SnsListNeuronsParams,\n} from \"./types/governance.params\";\nexport * from \"./types/ledger.responses\";\nexport type { QueryParams } from \"./types/query.params\";\nexport * from \"./utils/ledger.utils\";\n", "// Source: https://github.com/dfinity/ic/blob/1998263b426df0a22f0d0706695c0826f0ab4d7d/rs/sns/governance/proto/ic_sns_governance/pb/v1/governance.proto#L10\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 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", "// 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}\n", "export class SnsGovernanceError extends Error {}\n", "import type { Principal } from \"@dfinity/principal\";\nimport { createServices, fromNullable, toNullable } from \"@dfinity/utils\";\nimport type {\n GetMetadataResponse,\n ManageNeuron,\n ManageNeuronResponse,\n Neuron,\n NeuronId,\n _SERVICE as SnsGovernanceService,\n} from \"../candid/sns_governance\";\nimport { idlFactory as certifiedIdlFactory } from \"../candid/sns_governance.certified.idl\";\nimport { idlFactory } from \"../candid/sns_governance.idl\";\nimport { MAX_LIST_NEURONS_RESULTS } from \"./constants/governance.constants\";\nimport {\n toAddPermissionsRequest,\n toDisburseNeuronRequest,\n toRemovePermissionsRequest,\n} from \"./converters/governance.converters\";\nimport { SnsGovernanceError } from \"./errors/governance.errors\";\nimport { Canister } from \"./services/canister\";\nimport type { SnsCanisterOptions } from \"./types/canister.options\";\nimport type {\n SnsDisburseNeuronParams,\n SnsGetNeuronParams,\n SnsListNeuronsParams,\n SnsNeuronPermissionsParams,\n} from \"./types/governance.params\";\nimport type { QueryParams } from \"./types/query.params\";\n\nexport class SnsGovernanceCanister extends Canister<SnsGovernanceService> {\n /**\n * Instantiate a canister to interact with the governance of a Sns project.\n *\n * @param {SnsCanisterOptions} options Miscellaneous options to initialize the canister. Its ID being the only mandatory parammeter.\n */\n static create(options: SnsCanisterOptions<SnsGovernanceService>) {\n const { service, certifiedService, canisterId } =\n createServices<SnsGovernanceService>({\n options,\n idlFactory,\n certifiedIdlFactory,\n });\n\n return new SnsGovernanceCanister(canisterId, service, certifiedService);\n }\n\n /**\n * List the neurons of the Sns\n */\n listNeurons = async (params: SnsListNeuronsParams): Promise<Neuron[]> => {\n const { principal, limit, beforeNeuronId } = params;\n\n const { neurons } = await this.caller(params).list_neurons({\n of_principal: toNullable<Principal>(principal),\n limit: limit ?? MAX_LIST_NEURONS_RESULTS,\n start_page_at: toNullable<NeuronId>(beforeNeuronId),\n });\n return neurons;\n };\n\n /**\n * Get the Sns metadata (title, description, etc.)\n */\n metadata = (params: QueryParams): Promise<GetMetadataResponse> =>\n this.caller(params).get_metadata({});\n\n /**\n * Get the neuron of the Sns\n */\n getNeuron = async (\n params: SnsGetNeuronParams & QueryParams\n ): Promise<Neuron> => {\n const { neuronId } = params;\n\n const { result } = await this.caller(params).get_neuron({\n neuron_id: toNullable(neuronId),\n });\n const data = fromNullable(result);\n if (data === undefined || \"Error\" in data) {\n throw new SnsGovernanceError(\n data?.Error.error_message ?? \"Response type not supported\"\n );\n }\n return data.Neuron;\n };\n\n /**\n * Manage neuron. For advanced users.\n */\n manageNeuron = async (\n request: ManageNeuron\n ): Promise<ManageNeuronResponse> => {\n const response = await this.caller({ certified: true }).manage_neuron(\n request\n );\n this.assertManageNeuronError(response);\n return response;\n };\n\n /**\n * Add permissions to a neuron for a specific principal\n */\n addNeuronPermissions = async (\n params: SnsNeuronPermissionsParams\n ): Promise<void> => {\n const request: ManageNeuron = toAddPermissionsRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Remove permissions to a neuron for a specific principal\n */\n removeNeuronPermissions = async (\n params: SnsNeuronPermissionsParams\n ): Promise<void> => {\n const request: ManageNeuron = toRemovePermissionsRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Disburse neuron on Account\n */\n public disburse = async (params: SnsDisburseNeuronParams): Promise<void> => {\n const request: ManageNeuron = toDisburseNeuronRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n *\n * @param response ManageNeuronResponse\n * @throws SnsGovernanceError\n */\n private assertManageNeuronError = ({\n command,\n }: ManageNeuronResponse): void => {\n // TODO: use upcoming fromDefinedNullable\n const firstCommand = command[0];\n if (firstCommand !== undefined && \"Error\" in firstCommand) {\n throw new SnsGovernanceError(firstCommand.Error.error_message);\n }\n };\n}\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_governance.did */\nexport const idlFactory = ({ IDL }) => {\n const GenericNervousSystemFunction = IDL.Record({\n 'validator_canister_id' : IDL.Opt(IDL.Principal),\n 'target_canister_id' : IDL.Opt(IDL.Principal),\n 'validator_method_name' : IDL.Opt(IDL.Text),\n 'target_method_name' : IDL.Opt(IDL.Text),\n });\n const FunctionType = IDL.Variant({\n 'NativeNervousSystemFunction' : IDL.Record({}),\n 'GenericNervousSystemFunction' : GenericNervousSystemFunction,\n });\n const NervousSystemFunction = IDL.Record({\n 'id' : IDL.Nat64,\n 'name' : IDL.Text,\n 'description' : IDL.Opt(IDL.Text),\n 'function_type' : IDL.Opt(FunctionType),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const NeuronId = IDL.Record({ 'id' : IDL.Vec(IDL.Nat8) });\n const Followees = IDL.Record({ 'followees' : IDL.Vec(NeuronId) });\n const DefaultFollowees = IDL.Record({\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n });\n const NeuronPermissionList = IDL.Record({\n 'permissions' : IDL.Vec(IDL.Int32),\n });\n const VotingRewardsParameters = IDL.Record({\n 'start_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'final_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'initial_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'reward_rate_transition_duration_seconds' : IDL.Opt(IDL.Nat64),\n 'round_duration_seconds' : IDL.Opt(IDL.Nat64),\n });\n const NervousSystemParameters = IDL.Record({\n 'default_followees' : IDL.Opt(DefaultFollowees),\n 'max_dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'neuron_claimer_permissions' : IDL.Opt(NeuronPermissionList),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'max_neuron_age_for_age_bonus' : IDL.Opt(IDL.Nat64),\n 'initial_voting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_dissolve_delay_to_vote_seconds' : IDL.Opt(IDL.Nat64),\n 'reject_cost_e8s' : IDL.Opt(IDL.Nat64),\n 'max_proposals_to_keep_per_action' : IDL.Opt(IDL.Nat32),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Opt(IDL.Nat64),\n 'max_number_of_neurons' : IDL.Opt(IDL.Nat64),\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'max_number_of_proposals_with_ballots' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'voting_rewards_parameters' : IDL.Opt(VotingRewardsParameters),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const Version = IDL.Record({\n 'archive_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'root_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'swap_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'ledger_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'governance_wasm_hash' : IDL.Vec(IDL.Nat8),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const RewardEvent = IDL.Record({\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'round' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const UpgradeInProgress = IDL.Record({\n 'mark_failed_at_seconds' : IDL.Nat64,\n 'checking_upgrade_lock' : IDL.Nat64,\n 'proposal_id' : IDL.Nat64,\n 'target_version' : IDL.Opt(Version),\n });\n const GovernanceError = IDL.Record({\n 'error_message' : IDL.Text,\n 'error_type' : IDL.Int32,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Tally = IDL.Record({\n 'no' : IDL.Nat64,\n 'yes' : IDL.Nat64,\n 'total' : IDL.Nat64,\n 'timestamp_seconds' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const ManageSnsMetadata = IDL.Record({\n 'url' : IDL.Opt(IDL.Text),\n 'logo' : IDL.Opt(IDL.Text),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n });\n const ExecuteGenericNervousSystemFunction = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'payload' : IDL.Vec(IDL.Nat8),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'UpgradeSnsToNextVersion' : IDL.Record({}),\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'Unspecified' : IDL.Record({}),\n 'ManageSnsMetadata' : ManageSnsMetadata,\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'Motion' : Motion,\n });\n const Proposal = IDL.Record({\n 'url' : IDL.Text,\n 'title' : IDL.Text,\n 'action' : IDL.Opt(Action),\n 'summary' : IDL.Text,\n });\n const WaitForQuietState = IDL.Record({\n 'current_deadline_timestamp_seconds' : IDL.Nat64,\n });\n const ProposalData = IDL.Record({\n 'id' : IDL.Opt(ProposalId),\n 'payload_text_rendering' : IDL.Opt(IDL.Text),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'proposal_creation_timestamp_seconds' : IDL.Nat64,\n 'initial_voting_period_seconds' : IDL.Nat64,\n 'reject_cost_e8s' : IDL.Nat64,\n 'latest_tally' : IDL.Opt(Tally),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Nat64,\n 'decided_timestamp_seconds' : IDL.Nat64,\n 'proposal' : IDL.Opt(Proposal),\n 'proposer' : IDL.Opt(NeuronId),\n 'wait_for_quiet_state' : IDL.Opt(WaitForQuietState),\n 'is_eligible_for_rewards' : IDL.Bool,\n 'executed_timestamp_seconds' : IDL.Nat64,\n });\n const Split = IDL.Record({ 'memo' : IDL.Nat64, 'amount_e8s' : IDL.Nat64 });\n const Follow = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'followees' : IDL.Vec(NeuronId),\n });\n const Subaccount = IDL.Record({ 'subaccount' : IDL.Vec(IDL.Nat8) });\n const Account = IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(Subaccount),\n });\n const DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const IncreaseDissolveDelay = IDL.Record({\n 'additional_dissolve_delay_seconds' : IDL.Nat32,\n });\n const SetDissolveTimestamp = IDL.Record({\n 'dissolve_timestamp_seconds' : IDL.Nat64,\n });\n const Operation = IDL.Variant({\n 'StopDissolving' : IDL.Record({}),\n 'StartDissolving' : IDL.Record({}),\n 'IncreaseDissolveDelay' : IncreaseDissolveDelay,\n 'SetDissolveTimestamp' : SetDissolveTimestamp,\n });\n const Configure = IDL.Record({ 'operation' : IDL.Opt(Operation) });\n const RegisterVote = IDL.Record({\n 'vote' : IDL.Int32,\n 'proposal' : IDL.Opt(ProposalId),\n });\n const MemoAndController = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'memo' : IDL.Nat64,\n });\n const By = IDL.Variant({\n 'MemoAndController' : MemoAndController,\n 'NeuronId' : IDL.Record({}),\n });\n const ClaimOrRefresh = IDL.Record({ 'by' : IDL.Opt(By) });\n const RemoveNeuronPermissions = IDL.Record({\n 'permissions_to_remove' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const AddNeuronPermissions = IDL.Record({\n 'permissions_to_add' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const MergeMaturity = IDL.Record({ 'percentage_to_merge' : IDL.Nat32 });\n const Amount = IDL.Record({ 'e8s' : IDL.Nat64 });\n const Disburse = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'amount' : IDL.Opt(Amount),\n });\n const Command_2 = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'ClaimOrRefreshNeuron' : ClaimOrRefresh,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const NeuronInFlightCommand = IDL.Record({\n 'command' : IDL.Opt(Command_2),\n 'timestamp' : IDL.Nat64,\n });\n const NeuronPermission = IDL.Record({\n 'principal' : IDL.Opt(IDL.Principal),\n 'permission_type' : IDL.Vec(IDL.Int32),\n });\n const DissolveState = IDL.Variant({\n 'DissolveDelaySeconds' : IDL.Nat64,\n 'WhenDissolvedTimestampSeconds' : IDL.Nat64,\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'permissions' : IDL.Vec(NeuronPermission),\n 'maturity_e8s_equivalent' : IDL.Nat64,\n 'cached_neuron_stake_e8s' : IDL.Nat64,\n 'created_timestamp_seconds' : IDL.Nat64,\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'voting_power_percentage_multiplier' : IDL.Nat64,\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n 'neuron_fees_e8s' : IDL.Nat64,\n });\n const Governance = IDL.Record({\n 'root_canister_id' : IDL.Opt(IDL.Principal),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'deployed_version' : IDL.Opt(Version),\n 'sns_initialization_parameters' : IDL.Text,\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'pending_version' : IDL.Opt(UpgradeInProgress),\n 'swap_canister_id' : IDL.Opt(IDL.Principal),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'proposals' : IDL.Vec(IDL.Tuple(IDL.Nat64, ProposalData)),\n 'in_flight_commands' : IDL.Vec(IDL.Tuple(IDL.Text, NeuronInFlightCommand)),\n 'sns_metadata' : IDL.Opt(ManageSnsMetadata),\n 'neurons' : IDL.Vec(IDL.Tuple(IDL.Text, Neuron)),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n const GetMetadataResponse = IDL.Record({\n 'url' : IDL.Opt(IDL.Text),\n 'logo' : IDL.Opt(IDL.Text),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n });\n const GetNeuron = IDL.Record({ 'neuron_id' : IDL.Opt(NeuronId) });\n const Result = IDL.Variant({ 'Error' : GovernanceError, 'Neuron' : Neuron });\n const GetNeuronResponse = IDL.Record({ 'result' : IDL.Opt(Result) });\n const GetProposal = IDL.Record({ 'proposal_id' : IDL.Opt(ProposalId) });\n const Result_1 = IDL.Variant({\n 'Error' : GovernanceError,\n 'Proposal' : ProposalData,\n });\n const GetProposalResponse = IDL.Record({ 'result' : IDL.Opt(Result_1) });\n const CanisterStatusType = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const DefiniteCanisterSettingsArgs = IDL.Record({\n 'controller' : IDL.Principal,\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const CanisterStatusResultV2 = IDL.Record({\n 'controller' : IDL.Principal,\n 'status' : CanisterStatusType,\n 'freezing_threshold' : IDL.Nat,\n 'balance' : IDL.Vec(IDL.Tuple(IDL.Vec(IDL.Nat8), IDL.Nat)),\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettingsArgs,\n 'idle_cycles_burned_per_day' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const GetRunningSnsVersionResponse = IDL.Record({\n 'deployed_version' : IDL.Opt(Version),\n 'pending_version' : IDL.Opt(UpgradeInProgress),\n });\n const GetSnsInitializationParametersResponse = IDL.Record({\n 'sns_initialization_parameters' : IDL.Text,\n });\n const ListNervousSystemFunctionsResponse = IDL.Record({\n 'reserved_ids' : IDL.Vec(IDL.Nat64),\n 'functions' : IDL.Vec(NervousSystemFunction),\n });\n const ListNeurons = IDL.Record({\n 'of_principal' : IDL.Opt(IDL.Principal),\n 'limit' : IDL.Nat32,\n 'start_page_at' : IDL.Opt(NeuronId),\n });\n const ListNeuronsResponse = IDL.Record({ 'neurons' : IDL.Vec(Neuron) });\n const ListProposals = IDL.Record({\n 'include_reward_status' : IDL.Vec(IDL.Int32),\n 'before_proposal' : IDL.Opt(ProposalId),\n 'limit' : IDL.Nat32,\n 'exclude_type' : IDL.Vec(IDL.Nat64),\n 'include_status' : IDL.Vec(IDL.Int32),\n });\n const ListProposalsResponse = IDL.Record({\n 'proposals' : IDL.Vec(ProposalData),\n });\n const Command = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'ClaimOrRefresh' : ClaimOrRefresh,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const ManageNeuron = IDL.Record({\n 'subaccount' : IDL.Vec(IDL.Nat8),\n 'command' : IDL.Opt(Command),\n });\n const SplitResponse = IDL.Record({ 'created_neuron_id' : IDL.Opt(NeuronId) });\n const DisburseMaturityResponse = IDL.Record({\n 'transfer_block_height' : IDL.Nat64,\n 'amount_disbursed_e8s' : IDL.Nat64,\n });\n const ClaimOrRefreshResponse = IDL.Record({\n 'refreshed_neuron_id' : IDL.Opt(NeuronId),\n });\n const MergeMaturityResponse = IDL.Record({\n 'merged_maturity_e8s' : IDL.Nat64,\n 'new_stake_e8s' : IDL.Nat64,\n });\n const DisburseResponse = IDL.Record({ 'transfer_block_height' : IDL.Nat64 });\n const Command_1 = IDL.Variant({\n 'Error' : GovernanceError,\n 'Split' : SplitResponse,\n 'Follow' : IDL.Record({}),\n 'DisburseMaturity' : DisburseMaturityResponse,\n 'ClaimOrRefresh' : ClaimOrRefreshResponse,\n 'Configure' : IDL.Record({}),\n 'RegisterVote' : IDL.Record({}),\n 'MakeProposal' : GetProposal,\n 'RemoveNeuronPermission' : IDL.Record({}),\n 'MergeMaturity' : MergeMaturityResponse,\n 'Disburse' : DisburseResponse,\n 'AddNeuronPermission' : IDL.Record({}),\n });\n const ManageNeuronResponse = IDL.Record({ 'command' : IDL.Opt(Command_1) });\n const SetMode = IDL.Record({ 'mode' : IDL.Int32 });\n return IDL.Service({\n 'get_build_metadata' : IDL.Func([], [IDL.Text], []),\n 'get_metadata' : IDL.Func([IDL.Record({})], [GetMetadataResponse], []),\n 'get_nervous_system_parameters' : IDL.Func(\n [IDL.Null],\n [NervousSystemParameters],\n [],\n ),\n 'get_neuron' : IDL.Func([GetNeuron], [GetNeuronResponse], []),\n 'get_proposal' : IDL.Func([GetProposal], [GetProposalResponse], []),\n 'get_root_canister_status' : IDL.Func(\n [IDL.Null],\n [CanisterStatusResultV2],\n [],\n ),\n 'get_running_sns_version' : IDL.Func(\n [IDL.Record({})],\n [GetRunningSnsVersionResponse],\n [],\n ),\n 'get_sns_initialization_parameters' : IDL.Func(\n [IDL.Record({})],\n [GetSnsInitializationParametersResponse],\n [],\n ),\n 'list_nervous_system_functions' : IDL.Func(\n [],\n [ListNervousSystemFunctionsResponse],\n [],\n ),\n 'list_neurons' : IDL.Func([ListNeurons], [ListNeuronsResponse], []),\n 'list_proposals' : IDL.Func([ListProposals], [ListProposalsResponse], []),\n 'manage_neuron' : IDL.Func([ManageNeuron], [ManageNeuronResponse], []),\n 'set_mode' : IDL.Func([SetMode], [IDL.Record({})], []),\n });\n};\nexport const init = ({ IDL }) => {\n const GenericNervousSystemFunction = IDL.Record({\n 'validator_canister_id' : IDL.Opt(IDL.Principal),\n 'target_canister_id' : IDL.Opt(IDL.Principal),\n 'validator_method_name' : IDL.Opt(IDL.Text),\n 'target_method_name' : IDL.Opt(IDL.Text),\n });\n const FunctionType = IDL.Variant({\n 'NativeNervousSystemFunction' : IDL.Record({}),\n 'GenericNervousSystemFunction' : GenericNervousSystemFunction,\n });\n const NervousSystemFunction = IDL.Record({\n 'id' : IDL.Nat64,\n 'name' : IDL.Text,\n 'description' : IDL.Opt(IDL.Text),\n 'function_type' : IDL.Opt(FunctionType),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const NeuronId = IDL.Record({ 'id' : IDL.Vec(IDL.Nat8) });\n const Followees = IDL.Record({ 'followees' : IDL.Vec(NeuronId) });\n const DefaultFollowees = IDL.Record({\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n });\n const NeuronPermissionList = IDL.Record({\n 'permissions' : IDL.Vec(IDL.Int32),\n });\n const VotingRewardsParameters = IDL.Record({\n 'start_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'final_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'initial_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'reward_rate_transition_duration_seconds' : IDL.Opt(IDL.Nat64),\n 'round_duration_seconds' : IDL.Opt(IDL.Nat64),\n });\n const NervousSystemParameters = IDL.Record({\n 'default_followees' : IDL.Opt(DefaultFollowees),\n 'max_dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'neuron_claimer_permissions' : IDL.Opt(NeuronPermissionList),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'max_neuron_age_for_age_bonus' : IDL.Opt(IDL.Nat64),\n 'initial_voting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_dissolve_delay_to_vote_seconds' : IDL.Opt(IDL.Nat64),\n 'reject_cost_e8s' : IDL.Opt(IDL.Nat64),\n 'max_proposals_to_keep_per_action' : IDL.Opt(IDL.Nat32),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Opt(IDL.Nat64),\n 'max_number_of_neurons' : IDL.Opt(IDL.Nat64),\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'max_number_of_proposals_with_ballots' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'voting_rewards_parameters' : IDL.Opt(VotingRewardsParameters),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const Version = IDL.Record({\n 'archive_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'root_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'swap_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'ledger_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'governance_wasm_hash' : IDL.Vec(IDL.Nat8),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const RewardEvent = IDL.Record({\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'round' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const UpgradeInProgress = IDL.Record({\n 'mark_failed_at_seconds' : IDL.Nat64,\n 'checking_upgrade_lock' : IDL.Nat64,\n 'proposal_id' : IDL.Nat64,\n 'target_version' : IDL.Opt(Version),\n });\n const GovernanceError = IDL.Record({\n 'error_message' : IDL.Text,\n 'error_type' : IDL.Int32,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Tally = IDL.Record({\n 'no' : IDL.Nat64,\n 'yes' : IDL.Nat64,\n 'total' : IDL.Nat64,\n 'timestamp_seconds' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const ManageSnsMetadata = IDL.Record({\n 'url' : IDL.Opt(IDL.Text),\n 'logo' : IDL.Opt(IDL.Text),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n });\n const ExecuteGenericNervousSystemFunction = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'payload' : IDL.Vec(IDL.Nat8),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'UpgradeSnsToNextVersion' : IDL.Record({}),\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'Unspecified' : IDL.Record({}),\n 'ManageSnsMetadata' : ManageSnsMetadata,\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'Motion' : Motion,\n });\n const Proposal = IDL.Record({\n 'url' : IDL.Text,\n 'title' : IDL.Text,\n 'action' : IDL.Opt(Action),\n 'summary' : IDL.Text,\n });\n const WaitForQuietState = IDL.Record({\n 'current_deadline_timestamp_seconds' : IDL.Nat64,\n });\n const ProposalData = IDL.Record({\n 'id' : IDL.Opt(ProposalId),\n 'payload_text_rendering' : IDL.Opt(IDL.Text),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'proposal_creation_timestamp_seconds' : IDL.Nat64,\n 'initial_voting_period_seconds' : IDL.Nat64,\n 'reject_cost_e8s' : IDL.Nat64,\n 'latest_tally' : IDL.Opt(Tally),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Nat64,\n 'decided_timestamp_seconds' : IDL.Nat64,\n 'proposal' : IDL.Opt(Proposal),\n 'proposer' : IDL.Opt(NeuronId),\n 'wait_for_quiet_state' : IDL.Opt(WaitForQuietState),\n 'is_eligible_for_rewards' : IDL.Bool,\n 'executed_timestamp_seconds' : IDL.Nat64,\n });\n const Split = IDL.Record({ 'memo' : IDL.Nat64, 'amount_e8s' : IDL.Nat64 });\n const Follow = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'followees' : IDL.Vec(NeuronId),\n });\n const Subaccount = IDL.Record({ 'subaccount' : IDL.Vec(IDL.Nat8) });\n const Account = IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(Subaccount),\n });\n const DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const IncreaseDissolveDelay = IDL.Record({\n 'additional_dissolve_delay_seconds' : IDL.Nat32,\n });\n const SetDissolveTimestamp = IDL.Record({\n 'dissolve_timestamp_seconds' : IDL.Nat64,\n });\n const Operation = IDL.Variant({\n 'StopDissolving' : IDL.Record({}),\n 'StartDissolving' : IDL.Record({}),\n 'IncreaseDissolveDelay' : IncreaseDissolveDelay,\n 'SetDissolveTimestamp' : SetDissolveTimestamp,\n });\n const Configure = IDL.Record({ 'operation' : IDL.Opt(Operation) });\n const RegisterVote = IDL.Record({\n 'vote' : IDL.Int32,\n 'proposal' : IDL.Opt(ProposalId),\n });\n const MemoAndController = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'memo' : IDL.Nat64,\n });\n const By = IDL.Variant({\n 'MemoAndController' : MemoAndController,\n 'NeuronId' : IDL.Record({}),\n });\n const ClaimOrRefresh = IDL.Record({ 'by' : IDL.Opt(By) });\n const RemoveNeuronPermissions = IDL.Record({\n 'permissions_to_remove' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const AddNeuronPermissions = IDL.Record({\n 'permissions_to_add' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const MergeMaturity = IDL.Record({ 'percentage_to_merge' : IDL.Nat32 });\n const Amount = IDL.Record({ 'e8s' : IDL.Nat64 });\n const Disburse = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'amount' : IDL.Opt(Amount),\n });\n const Command_2 = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'ClaimOrRefreshNeuron' : ClaimOrRefresh,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const NeuronInFlightCommand = IDL.Record({\n 'command' : IDL.Opt(Command_2),\n 'timestamp' : IDL.Nat64,\n });\n const NeuronPermission = IDL.Record({\n 'principal' : IDL.Opt(IDL.Principal),\n 'permission_type' : IDL.Vec(IDL.Int32),\n });\n const DissolveState = IDL.Variant({\n 'DissolveDelaySeconds' : IDL.Nat64,\n 'WhenDissolvedTimestampSeconds' : IDL.Nat64,\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'permissions' : IDL.Vec(NeuronPermission),\n 'maturity_e8s_equivalent' : IDL.Nat64,\n 'cached_neuron_stake_e8s' : IDL.Nat64,\n 'created_timestamp_seconds' : IDL.Nat64,\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'voting_power_percentage_multiplier' : IDL.Nat64,\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n 'neuron_fees_e8s' : IDL.Nat64,\n });\n const Governance = IDL.Record({\n 'root_canister_id' : IDL.Opt(IDL.Principal),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'deployed_version' : IDL.Opt(Version),\n 'sns_initialization_parameters' : IDL.Text,\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'pending_version' : IDL.Opt(UpgradeInProgress),\n 'swap_canister_id' : IDL.Opt(IDL.Principal),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'proposals' : IDL.Vec(IDL.Tuple(IDL.Nat64, ProposalData)),\n 'in_flight_commands' : IDL.Vec(IDL.Tuple(IDL.Text, NeuronInFlightCommand)),\n 'sns_metadata' : IDL.Opt(ManageSnsMetadata),\n 'neurons' : IDL.Vec(IDL.Tuple(IDL.Text, Neuron)),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n return [Governance];\n};\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_governance.did */\nexport const idlFactory = ({ IDL }) => {\n const GenericNervousSystemFunction = IDL.Record({\n 'validator_canister_id' : IDL.Opt(IDL.Principal),\n 'target_canister_id' : IDL.Opt(IDL.Principal),\n 'validator_method_name' : IDL.Opt(IDL.Text),\n 'target_method_name' : IDL.Opt(IDL.Text),\n });\n const FunctionType = IDL.Variant({\n 'NativeNervousSystemFunction' : IDL.Record({}),\n 'GenericNervousSystemFunction' : GenericNervousSystemFunction,\n });\n const NervousSystemFunction = IDL.Record({\n 'id' : IDL.Nat64,\n 'name' : IDL.Text,\n 'description' : IDL.Opt(IDL.Text),\n 'function_type' : IDL.Opt(FunctionType),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const NeuronId = IDL.Record({ 'id' : IDL.Vec(IDL.Nat8) });\n const Followees = IDL.Record({ 'followees' : IDL.Vec(NeuronId) });\n const DefaultFollowees = IDL.Record({\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n });\n const NeuronPermissionList = IDL.Record({\n 'permissions' : IDL.Vec(IDL.Int32),\n });\n const VotingRewardsParameters = IDL.Record({\n 'start_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'final_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'initial_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'reward_rate_transition_duration_seconds' : IDL.Opt(IDL.Nat64),\n 'round_duration_seconds' : IDL.Opt(IDL.Nat64),\n });\n const NervousSystemParameters = IDL.Record({\n 'default_followees' : IDL.Opt(DefaultFollowees),\n 'max_dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'neuron_claimer_permissions' : IDL.Opt(NeuronPermissionList),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'max_neuron_age_for_age_bonus' : IDL.Opt(IDL.Nat64),\n 'initial_voting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_dissolve_delay_to_vote_seconds' : IDL.Opt(IDL.Nat64),\n 'reject_cost_e8s' : IDL.Opt(IDL.Nat64),\n 'max_proposals_to_keep_per_action' : IDL.Opt(IDL.Nat32),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Opt(IDL.Nat64),\n 'max_number_of_neurons' : IDL.Opt(IDL.Nat64),\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'max_number_of_proposals_with_ballots' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'voting_rewards_parameters' : IDL.Opt(VotingRewardsParameters),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const Version = IDL.Record({\n 'archive_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'root_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'swap_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'ledger_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'governance_wasm_hash' : IDL.Vec(IDL.Nat8),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const RewardEvent = IDL.Record({\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'round' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const UpgradeInProgress = IDL.Record({\n 'mark_failed_at_seconds' : IDL.Nat64,\n 'checking_upgrade_lock' : IDL.Nat64,\n 'proposal_id' : IDL.Nat64,\n 'target_version' : IDL.Opt(Version),\n });\n const GovernanceError = IDL.Record({\n 'error_message' : IDL.Text,\n 'error_type' : IDL.Int32,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Tally = IDL.Record({\n 'no' : IDL.Nat64,\n 'yes' : IDL.Nat64,\n 'total' : IDL.Nat64,\n 'timestamp_seconds' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const ManageSnsMetadata = IDL.Record({\n 'url' : IDL.Opt(IDL.Text),\n 'logo' : IDL.Opt(IDL.Text),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n });\n const ExecuteGenericNervousSystemFunction = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'payload' : IDL.Vec(IDL.Nat8),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'UpgradeSnsToNextVersion' : IDL.Record({}),\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'Unspecified' : IDL.Record({}),\n 'ManageSnsMetadata' : ManageSnsMetadata,\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'Motion' : Motion,\n });\n const Proposal = IDL.Record({\n 'url' : IDL.Text,\n 'title' : IDL.Text,\n 'action' : IDL.Opt(Action),\n 'summary' : IDL.Text,\n });\n const WaitForQuietState = IDL.Record({\n 'current_deadline_timestamp_seconds' : IDL.Nat64,\n });\n const ProposalData = IDL.Record({\n 'id' : IDL.Opt(ProposalId),\n 'payload_text_rendering' : IDL.Opt(IDL.Text),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'proposal_creation_timestamp_seconds' : IDL.Nat64,\n 'initial_voting_period_seconds' : IDL.Nat64,\n 'reject_cost_e8s' : IDL.Nat64,\n 'latest_tally' : IDL.Opt(Tally),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Nat64,\n 'decided_timestamp_seconds' : IDL.Nat64,\n 'proposal' : IDL.Opt(Proposal),\n 'proposer' : IDL.Opt(NeuronId),\n 'wait_for_quiet_state' : IDL.Opt(WaitForQuietState),\n 'is_eligible_for_rewards' : IDL.Bool,\n 'executed_timestamp_seconds' : IDL.Nat64,\n });\n const Split = IDL.Record({ 'memo' : IDL.Nat64, 'amount_e8s' : IDL.Nat64 });\n const Follow = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'followees' : IDL.Vec(NeuronId),\n });\n const Subaccount = IDL.Record({ 'subaccount' : IDL.Vec(IDL.Nat8) });\n const Account = IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(Subaccount),\n });\n const DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const IncreaseDissolveDelay = IDL.Record({\n 'additional_dissolve_delay_seconds' : IDL.Nat32,\n });\n const SetDissolveTimestamp = IDL.Record({\n 'dissolve_timestamp_seconds' : IDL.Nat64,\n });\n const Operation = IDL.Variant({\n 'StopDissolving' : IDL.Record({}),\n 'StartDissolving' : IDL.Record({}),\n 'IncreaseDissolveDelay' : IncreaseDissolveDelay,\n 'SetDissolveTimestamp' : SetDissolveTimestamp,\n });\n const Configure = IDL.Record({ 'operation' : IDL.Opt(Operation) });\n const RegisterVote = IDL.Record({\n 'vote' : IDL.Int32,\n 'proposal' : IDL.Opt(ProposalId),\n });\n const MemoAndController = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'memo' : IDL.Nat64,\n });\n const By = IDL.Variant({\n 'MemoAndController' : MemoAndController,\n 'NeuronId' : IDL.Record({}),\n });\n const ClaimOrRefresh = IDL.Record({ 'by' : IDL.Opt(By) });\n const RemoveNeuronPermissions = IDL.Record({\n 'permissions_to_remove' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const AddNeuronPermissions = IDL.Record({\n 'permissions_to_add' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const MergeMaturity = IDL.Record({ 'percentage_to_merge' : IDL.Nat32 });\n const Amount = IDL.Record({ 'e8s' : IDL.Nat64 });\n const Disburse = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'amount' : IDL.Opt(Amount),\n });\n const Command_2 = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'ClaimOrRefreshNeuron' : ClaimOrRefresh,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const NeuronInFlightCommand = IDL.Record({\n 'command' : IDL.Opt(Command_2),\n 'timestamp' : IDL.Nat64,\n });\n const NeuronPermission = IDL.Record({\n 'principal' : IDL.Opt(IDL.Principal),\n 'permission_type' : IDL.Vec(IDL.Int32),\n });\n const DissolveState = IDL.Variant({\n 'DissolveDelaySeconds' : IDL.Nat64,\n 'WhenDissolvedTimestampSeconds' : IDL.Nat64,\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'permissions' : IDL.Vec(NeuronPermission),\n 'maturity_e8s_equivalent' : IDL.Nat64,\n 'cached_neuron_stake_e8s' : IDL.Nat64,\n 'created_timestamp_seconds' : IDL.Nat64,\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'voting_power_percentage_multiplier' : IDL.Nat64,\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n 'neuron_fees_e8s' : IDL.Nat64,\n });\n const Governance = IDL.Record({\n 'root_canister_id' : IDL.Opt(IDL.Principal),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'deployed_version' : IDL.Opt(Version),\n 'sns_initialization_parameters' : IDL.Text,\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'pending_version' : IDL.Opt(UpgradeInProgress),\n 'swap_canister_id' : IDL.Opt(IDL.Principal),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'proposals' : IDL.Vec(IDL.Tuple(IDL.Nat64, ProposalData)),\n 'in_flight_commands' : IDL.Vec(IDL.Tuple(IDL.Text, NeuronInFlightCommand)),\n 'sns_metadata' : IDL.Opt(ManageSnsMetadata),\n 'neurons' : IDL.Vec(IDL.Tuple(IDL.Text, Neuron)),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n const GetMetadataResponse = IDL.Record({\n 'url' : IDL.Opt(IDL.Text),\n 'logo' : IDL.Opt(IDL.Text),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n });\n const GetNeuron = IDL.Record({ 'neuron_id' : IDL.Opt(NeuronId) });\n const Result = IDL.Variant({ 'Error' : GovernanceError, 'Neuron' : Neuron });\n const GetNeuronResponse = IDL.Record({ 'result' : IDL.Opt(Result) });\n const GetProposal = IDL.Record({ 'proposal_id' : IDL.Opt(ProposalId) });\n const Result_1 = IDL.Variant({\n 'Error' : GovernanceError,\n 'Proposal' : ProposalData,\n });\n const GetProposalResponse = IDL.Record({ 'result' : IDL.Opt(Result_1) });\n const CanisterStatusType = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const DefiniteCanisterSettingsArgs = IDL.Record({\n 'controller' : IDL.Principal,\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const CanisterStatusResultV2 = IDL.Record({\n 'controller' : IDL.Principal,\n 'status' : CanisterStatusType,\n 'freezing_threshold' : IDL.Nat,\n 'balance' : IDL.Vec(IDL.Tuple(IDL.Vec(IDL.Nat8), IDL.Nat)),\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettingsArgs,\n 'idle_cycles_burned_per_day' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const GetRunningSnsVersionResponse = IDL.Record({\n 'deployed_version' : IDL.Opt(Version),\n 'pending_version' : IDL.Opt(UpgradeInProgress),\n });\n const GetSnsInitializationParametersResponse = IDL.Record({\n 'sns_initialization_parameters' : IDL.Text,\n });\n const ListNervousSystemFunctionsResponse = IDL.Record({\n 'reserved_ids' : IDL.Vec(IDL.Nat64),\n 'functions' : IDL.Vec(NervousSystemFunction),\n });\n const ListNeurons = IDL.Record({\n 'of_principal' : IDL.Opt(IDL.Principal),\n 'limit' : IDL.Nat32,\n 'start_page_at' : IDL.Opt(NeuronId),\n });\n const ListNeuronsResponse = IDL.Record({ 'neurons' : IDL.Vec(Neuron) });\n const ListProposals = IDL.Record({\n 'include_reward_status' : IDL.Vec(IDL.Int32),\n 'before_proposal' : IDL.Opt(ProposalId),\n 'limit' : IDL.Nat32,\n 'exclude_type' : IDL.Vec(IDL.Nat64),\n 'include_status' : IDL.Vec(IDL.Int32),\n });\n const ListProposalsResponse = IDL.Record({\n 'proposals' : IDL.Vec(ProposalData),\n });\n const Command = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'ClaimOrRefresh' : ClaimOrRefresh,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const ManageNeuron = IDL.Record({\n 'subaccount' : IDL.Vec(IDL.Nat8),\n 'command' : IDL.Opt(Command),\n });\n const SplitResponse = IDL.Record({ 'created_neuron_id' : IDL.Opt(NeuronId) });\n const DisburseMaturityResponse = IDL.Record({\n 'transfer_block_height' : IDL.Nat64,\n 'amount_disbursed_e8s' : IDL.Nat64,\n });\n const ClaimOrRefreshResponse = IDL.Record({\n 'refreshed_neuron_id' : IDL.Opt(NeuronId),\n });\n const MergeMaturityResponse = IDL.Record({\n 'merged_maturity_e8s' : IDL.Nat64,\n 'new_stake_e8s' : IDL.Nat64,\n });\n const DisburseResponse = IDL.Record({ 'transfer_block_height' : IDL.Nat64 });\n const Command_1 = IDL.Variant({\n 'Error' : GovernanceError,\n 'Split' : SplitResponse,\n 'Follow' : IDL.Record({}),\n 'DisburseMaturity' : DisburseMaturityResponse,\n 'ClaimOrRefresh' : ClaimOrRefreshResponse,\n 'Configure' : IDL.Record({}),\n 'RegisterVote' : IDL.Record({}),\n 'MakeProposal' : GetProposal,\n 'RemoveNeuronPermission' : IDL.Record({}),\n 'MergeMaturity' : MergeMaturityResponse,\n 'Disburse' : DisburseResponse,\n 'AddNeuronPermission' : IDL.Record({}),\n });\n const ManageNeuronResponse = IDL.Record({ 'command' : IDL.Opt(Command_1) });\n const SetMode = IDL.Record({ 'mode' : IDL.Int32 });\n return IDL.Service({\n 'get_build_metadata' : IDL.Func([], [IDL.Text], ['query']),\n 'get_metadata' : IDL.Func(\n [IDL.Record({})],\n [GetMetadataResponse],\n ['query'],\n ),\n 'get_nervous_system_parameters' : IDL.Func(\n [IDL.Null],\n [NervousSystemParameters],\n ['query'],\n ),\n 'get_neuron' : IDL.Func([GetNeuron], [GetNeuronResponse], ['query']),\n 'get_proposal' : IDL.Func([GetProposal], [GetProposalResponse], ['query']),\n 'get_root_canister_status' : IDL.Func(\n [IDL.Null],\n [CanisterStatusResultV2],\n [],\n ),\n 'get_running_sns_version' : IDL.Func(\n [IDL.Record({})],\n [GetRunningSnsVersionResponse],\n ['query'],\n ),\n 'get_sns_initialization_parameters' : IDL.Func(\n [IDL.Record({})],\n [GetSnsInitializationParametersResponse],\n ['query'],\n ),\n 'list_nervous_system_functions' : IDL.Func(\n [],\n [ListNervousSystemFunctionsResponse],\n ['query'],\n ),\n 'list_neurons' : IDL.Func([ListNeurons], [ListNeuronsResponse], ['query']),\n 'list_proposals' : IDL.Func(\n [ListProposals],\n [ListProposalsResponse],\n ['query'],\n ),\n 'manage_neuron' : IDL.Func([ManageNeuron], [ManageNeuronResponse], []),\n 'set_mode' : IDL.Func([SetMode], [IDL.Record({})], []),\n });\n};\nexport const init = ({ IDL }) => {\n const GenericNervousSystemFunction = IDL.Record({\n 'validator_canister_id' : IDL.Opt(IDL.Principal),\n 'target_canister_id' : IDL.Opt(IDL.Principal),\n 'validator_method_name' : IDL.Opt(IDL.Text),\n 'target_method_name' : IDL.Opt(IDL.Text),\n });\n const FunctionType = IDL.Variant({\n 'NativeNervousSystemFunction' : IDL.Record({}),\n 'GenericNervousSystemFunction' : GenericNervousSystemFunction,\n });\n const NervousSystemFunction = IDL.Record({\n 'id' : IDL.Nat64,\n 'name' : IDL.Text,\n 'description' : IDL.Opt(IDL.Text),\n 'function_type' : IDL.Opt(FunctionType),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const NeuronId = IDL.Record({ 'id' : IDL.Vec(IDL.Nat8) });\n const Followees = IDL.Record({ 'followees' : IDL.Vec(NeuronId) });\n const DefaultFollowees = IDL.Record({\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n });\n const NeuronPermissionList = IDL.Record({\n 'permissions' : IDL.Vec(IDL.Int32),\n });\n const VotingRewardsParameters = IDL.Record({\n 'start_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'final_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'initial_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'reward_rate_transition_duration_seconds' : IDL.Opt(IDL.Nat64),\n 'round_duration_seconds' : IDL.Opt(IDL.Nat64),\n });\n const NervousSystemParameters = IDL.Record({\n 'default_followees' : IDL.Opt(DefaultFollowees),\n 'max_dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'neuron_claimer_permissions' : IDL.Opt(NeuronPermissionList),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'max_neuron_age_for_age_bonus' : IDL.Opt(IDL.Nat64),\n 'initial_voting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_dissolve_delay_to_vote_seconds' : IDL.Opt(IDL.Nat64),\n 'reject_cost_e8s' : IDL.Opt(IDL.Nat64),\n 'max_proposals_to_keep_per_action' : IDL.Opt(IDL.Nat32),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Opt(IDL.Nat64),\n 'max_number_of_neurons' : IDL.Opt(IDL.Nat64),\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'max_number_of_proposals_with_ballots' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'voting_rewards_parameters' : IDL.Opt(VotingRewardsParameters),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const Version = IDL.Record({\n 'archive_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'root_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'swap_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'ledger_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'governance_wasm_hash' : IDL.Vec(IDL.Nat8),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const RewardEvent = IDL.Record({\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'round' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const UpgradeInProgress = IDL.Record({\n 'mark_failed_at_seconds' : IDL.Nat64,\n 'checking_upgrade_lock' : IDL.Nat64,\n 'proposal_id' : IDL.Nat64,\n 'target_version' : IDL.Opt(Version),\n });\n const GovernanceError = IDL.Record({\n 'error_message' : IDL.Text,\n 'error_type' : IDL.Int32,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Tally = IDL.Record({\n 'no' : IDL.Nat64,\n 'yes' : IDL.Nat64,\n 'total' : IDL.Nat64,\n 'timestamp_seconds' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const ManageSnsMetadata = IDL.Record({\n 'url' : IDL.Opt(IDL.Text),\n 'logo' : IDL.Opt(IDL.Text),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n });\n const ExecuteGenericNervousSystemFunction = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'payload' : IDL.Vec(IDL.Nat8),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'UpgradeSnsToNextVersion' : IDL.Record({}),\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'Unspecified' : IDL.Record({}),\n 'ManageSnsMetadata' : ManageSnsMetadata,\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'Motion' : Motion,\n });\n const Proposal = IDL.Record({\n 'url' : IDL.Text,\n 'title' : IDL.Text,\n 'action' : IDL.Opt(Action),\n 'summary' : IDL.Text,\n });\n const WaitForQuietState = IDL.Record({\n 'current_deadline_timestamp_seconds' : IDL.Nat64,\n });\n const ProposalData = IDL.Record({\n 'id' : IDL.Opt(ProposalId),\n 'payload_text_rendering' : IDL.Opt(IDL.Text),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'proposal_creation_timestamp_seconds' : IDL.Nat64,\n 'initial_voting_period_seconds' : IDL.Nat64,\n 'reject_cost_e8s' : IDL.Nat64,\n 'latest_tally' : IDL.Opt(Tally),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Nat64,\n 'decided_timestamp_seconds' : IDL.Nat64,\n 'proposal' : IDL.Opt(Proposal),\n 'proposer' : IDL.Opt(NeuronId),\n 'wait_for_quiet_state' : IDL.Opt(WaitForQuietState),\n 'is_eligible_for_rewards' : IDL.Bool,\n 'executed_timestamp_seconds' : IDL.Nat64,\n });\n const Split = IDL.Record({ 'memo' : IDL.Nat64, 'amount_e8s' : IDL.Nat64 });\n const Follow = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'followees' : IDL.Vec(NeuronId),\n });\n const Subaccount = IDL.Record({ 'subaccount' : IDL.Vec(IDL.Nat8) });\n const Account = IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(Subaccount),\n });\n const DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const IncreaseDissolveDelay = IDL.Record({\n 'additional_dissolve_delay_seconds' : IDL.Nat32,\n });\n const SetDissolveTimestamp = IDL.Record({\n 'dissolve_timestamp_seconds' : IDL.Nat64,\n });\n const Operation = IDL.Variant({\n 'StopDissolving' : IDL.Record({}),\n 'StartDissolving' : IDL.Record({}),\n 'IncreaseDissolveDelay' : IncreaseDissolveDelay,\n 'SetDissolveTimestamp' : SetDissolveTimestamp,\n });\n const Configure = IDL.Record({ 'operation' : IDL.Opt(Operation) });\n const RegisterVote = IDL.Record({\n 'vote' : IDL.Int32,\n 'proposal' : IDL.Opt(ProposalId),\n });\n const MemoAndController = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'memo' : IDL.Nat64,\n });\n const By = IDL.Variant({\n 'MemoAndController' : MemoAndController,\n 'NeuronId' : IDL.Record({}),\n });\n const ClaimOrRefresh = IDL.Record({ 'by' : IDL.Opt(By) });\n const RemoveNeuronPermissions = IDL.Record({\n 'permissions_to_remove' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const AddNeuronPermissions = IDL.Record({\n 'permissions_to_add' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const MergeMaturity = IDL.Record({ 'percentage_to_merge' : IDL.Nat32 });\n const Amount = IDL.Record({ 'e8s' : IDL.Nat64 });\n const Disburse = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'amount' : IDL.Opt(Amount),\n });\n const Command_2 = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'ClaimOrRefreshNeuron' : ClaimOrRefresh,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const NeuronInFlightCommand = IDL.Record({\n 'command' : IDL.Opt(Command_2),\n 'timestamp' : IDL.Nat64,\n });\n const NeuronPermission = IDL.Record({\n 'principal' : IDL.Opt(IDL.Principal),\n 'permission_type' : IDL.Vec(IDL.Int32),\n });\n const DissolveState = IDL.Variant({\n 'DissolveDelaySeconds' : IDL.Nat64,\n 'WhenDissolvedTimestampSeconds' : IDL.Nat64,\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'permissions' : IDL.Vec(NeuronPermission),\n 'maturity_e8s_equivalent' : IDL.Nat64,\n 'cached_neuron_stake_e8s' : IDL.Nat64,\n 'created_timestamp_seconds' : IDL.Nat64,\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'voting_power_percentage_multiplier' : IDL.Nat64,\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n 'neuron_fees_e8s' : IDL.Nat64,\n });\n const Governance = IDL.Record({\n 'root_canister_id' : IDL.Opt(IDL.Principal),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'deployed_version' : IDL.Opt(Version),\n 'sns_initialization_parameters' : IDL.Text,\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'pending_version' : IDL.Opt(UpgradeInProgress),\n 'swap_canister_id' : IDL.Opt(IDL.Principal),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'proposals' : IDL.Vec(IDL.Tuple(IDL.Nat64, ProposalData)),\n 'in_flight_commands' : IDL.Vec(IDL.Tuple(IDL.Text, NeuronInFlightCommand)),\n 'sns_metadata' : IDL.Opt(ManageSnsMetadata),\n 'neurons' : IDL.Vec(IDL.Tuple(IDL.Text, Neuron)),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n return [Governance];\n};\n", "import type { ManageNeuron } from \"../../candid/sns_governance\";\nimport type {\n SnsDisburseNeuronParams,\n SnsNeuronPermissionsParams,\n} from \"../types/governance.params\";\n\nexport const toAddPermissionsRequest = ({\n neuronId,\n permissions,\n principal,\n}: SnsNeuronPermissionsParams): ManageNeuron => ({\n subaccount: neuronId.id,\n command: [\n {\n AddNeuronPermissions: {\n permissions_to_add: [{ permissions: Int32Array.from(permissions) }],\n principal_id: [principal],\n },\n },\n ],\n});\n\nexport const toRemovePermissionsRequest = ({\n neuronId,\n permissions,\n principal,\n}: SnsNeuronPermissionsParams): ManageNeuron => ({\n subaccount: neuronId.id,\n command: [\n {\n RemoveNeuronPermissions: {\n permissions_to_remove: [{ permissions: Int32Array.from(permissions) }],\n principal_id: [principal],\n },\n },\n ],\n});\n\nexport const toDisburseNeuronRequest = ({\n neuronId: { id },\n amount,\n}: SnsDisburseNeuronParams): ManageNeuron => ({\n subaccount: id,\n command: [\n {\n Disburse: {\n // currently there is a main account only support\n to_account: [],\n amount:\n amount === undefined\n ? []\n : [\n {\n e8s: amount,\n },\n ],\n },\n },\n ],\n});\n", "import type { Principal } from \"@dfinity/principal\";\nimport type { QueryParams } from \"../types/query.params\";\n\nexport abstract class Canister<T> {\n protected constructor(\n private readonly id: Principal,\n protected readonly service: T,\n protected readonly certifiedService: T\n ) {}\n\n get canisterId(): Principal {\n return this.id;\n }\n\n protected caller = ({ certified = true }: QueryParams): T =>\n certified ? this.certifiedService : this.service;\n}\n", "import { createServices, toNullable } from \"@dfinity/utils\";\nimport type {\n Tokens,\n _SERVICE as SnsLedgerService,\n} from \"../candid/icrc1_ledger\";\nimport { idlFactory as certifiedIdlFactory } from \"../candid/icrc1_ledger.certified.idl\";\nimport { idlFactory } from \"../candid/icrc1_ledger.idl\";\nimport { Canister } from \"./services/canister\";\nimport type { SnsCanisterOptions } from \"./types/canister.options\";\nimport type { BalanceParams } from \"./types/ledger.params\";\nimport type { SnsTokenMetadataResponse } from \"./types/ledger.responses\";\nimport type { QueryParams } from \"./types/query.params\";\n\nexport class SnsLedgerCanister extends Canister<SnsLedgerService> {\n static create(options: SnsCanisterOptions<SnsLedgerService>) {\n const { service, certifiedService, canisterId } =\n createServices<SnsLedgerService>({\n options,\n idlFactory,\n certifiedIdlFactory,\n });\n\n return new SnsLedgerCanister(canisterId, service, certifiedService);\n }\n\n /**\n * The token metadata (name, symbol, etc.).\n */\n metadata = (params: QueryParams): Promise<SnsTokenMetadataResponse> =>\n this.caller(params).icrc1_metadata();\n\n /**\n * Returns the balance of the given account.\n *\n * @param {BalanceParams} params The parameters to get the balance of an account.\n * @returns {Promise<Tokens>} The balance of the given account.\n */\n balance = (params: BalanceParams): Promise<Tokens> =>\n this.caller({ certified: params.certified }).icrc1_balance_of({\n owner: params.owner,\n subaccount: toNullable(params.subaccount),\n });\n}\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/icrc1_ledger.did */\nexport const idlFactory = ({ IDL }) => {\n const Value = IDL.Variant({\n 'Int' : IDL.Int,\n 'Nat' : IDL.Nat,\n 'Blob' : IDL.Vec(IDL.Nat8),\n 'Text' : IDL.Text,\n });\n const Subaccount = IDL.Vec(IDL.Nat8);\n const Account = IDL.Record({\n 'owner' : IDL.Principal,\n 'subaccount' : IDL.Opt(Subaccount),\n });\n const InitArgs = IDL.Record({\n 'token_symbol' : IDL.Text,\n 'transfer_fee' : IDL.Nat64,\n 'metadata' : IDL.Vec(IDL.Tuple(IDL.Text, Value)),\n 'minting_account' : Account,\n 'initial_balances' : IDL.Vec(IDL.Tuple(Account, IDL.Nat64)),\n 'archive_options' : IDL.Record({\n 'num_blocks_to_archive' : IDL.Nat64,\n 'trigger_threshold' : IDL.Nat64,\n 'max_message_size_bytes' : IDL.Opt(IDL.Nat64),\n 'cycles_for_archive_creation' : IDL.Opt(IDL.Nat64),\n 'node_max_memory_size_bytes' : IDL.Opt(IDL.Nat64),\n 'controller_id' : IDL.Principal,\n }),\n 'token_name' : IDL.Text,\n });\n const Tokens = IDL.Nat;\n const Timestamp = IDL.Nat64;\n const TransferArg = IDL.Record({\n 'to' : Account,\n 'fee' : IDL.Opt(Tokens),\n 'memo' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'from_subaccount' : IDL.Opt(Subaccount),\n 'created_at_time' : IDL.Opt(Timestamp),\n 'amount' : Tokens,\n });\n const BlockIndex = IDL.Nat;\n const TransferError = IDL.Variant({\n 'GenericError' : IDL.Record({\n 'message' : IDL.Text,\n 'error_code' : IDL.Nat,\n }),\n 'TemporarilyUnavailable' : IDL.Null,\n 'BadBurn' : IDL.Record({ 'min_burn_amount' : Tokens }),\n 'Duplicate' : IDL.Record({ 'duplicate_of' : BlockIndex }),\n 'BadFee' : IDL.Record({ 'expected_fee' : Tokens }),\n 'CreatedInFuture' : IDL.Record({ 'ledger_time' : IDL.Nat64 }),\n 'TooOld' : IDL.Null,\n 'InsufficientFunds' : IDL.Record({ 'balance' : Tokens }),\n });\n const TransferResult = IDL.Variant({\n 'Ok' : BlockIndex,\n 'Err' : TransferError,\n });\n return IDL.Service({\n 'icrc1_balance_of' : IDL.Func([Account], [Tokens], []),\n 'icrc1_decimals' : IDL.Func([], [IDL.Nat8], []),\n 'icrc1_fee' : IDL.Func([], [Tokens], []),\n 'icrc1_metadata' : IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Text, Value))], []),\n 'icrc1_minting_account' : IDL.Func([], [IDL.Opt(Account)], []),\n 'icrc1_name' : IDL.Func([], [IDL.Text], []),\n 'icrc1_supported_standards' : IDL.Func(\n [],\n [IDL.Vec(IDL.Record({ 'url' : IDL.Text, 'name' : IDL.Text }))],\n [],\n ),\n 'icrc1_symbol' : IDL.Func([], [IDL.Text], []),\n 'icrc1_total_supply' : IDL.Func([], [Tokens], []),\n 'icrc1_transfer' : IDL.Func([TransferArg], [TransferResult], []),\n });\n};\nexport const init = ({ IDL }) => {\n const Value = IDL.Variant({\n 'Int' : IDL.Int,\n 'Nat' : IDL.Nat,\n 'Blob' : IDL.Vec(IDL.Nat8),\n 'Text' : IDL.Text,\n });\n const Subaccount = IDL.Vec(IDL.Nat8);\n const Account = IDL.Record({\n 'owner' : IDL.Principal,\n 'subaccount' : IDL.Opt(Subaccount),\n });\n const InitArgs = IDL.Record({\n 'token_symbol' : IDL.Text,\n 'transfer_fee' : IDL.Nat64,\n 'metadata' : IDL.Vec(IDL.Tuple(IDL.Text, Value)),\n 'minting_account' : Account,\n 'initial_balances' : IDL.Vec(IDL.Tuple(Account, IDL.Nat64)),\n 'archive_options' : IDL.Record({\n 'num_blocks_to_archive' : IDL.Nat64,\n 'trigger_threshold' : IDL.Nat64,\n 'max_message_size_bytes' : IDL.Opt(IDL.Nat64),\n 'cycles_for_archive_creation' : IDL.Opt(IDL.Nat64),\n 'node_max_memory_size_bytes' : IDL.Opt(IDL.Nat64),\n 'controller_id' : IDL.Principal,\n }),\n 'token_name' : IDL.Text,\n });\n return [InitArgs];\n};\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/icrc1_ledger.did */\nexport const idlFactory = ({ IDL }) => {\n const Value = IDL.Variant({\n 'Int' : IDL.Int,\n 'Nat' : IDL.Nat,\n 'Blob' : IDL.Vec(IDL.Nat8),\n 'Text' : IDL.Text,\n });\n const Subaccount = IDL.Vec(IDL.Nat8);\n const Account = IDL.Record({\n 'owner' : IDL.Principal,\n 'subaccount' : IDL.Opt(Subaccount),\n });\n const InitArgs = IDL.Record({\n 'token_symbol' : IDL.Text,\n 'transfer_fee' : IDL.Nat64,\n 'metadata' : IDL.Vec(IDL.Tuple(IDL.Text, Value)),\n 'minting_account' : Account,\n 'initial_balances' : IDL.Vec(IDL.Tuple(Account, IDL.Nat64)),\n 'archive_options' : IDL.Record({\n 'num_blocks_to_archive' : IDL.Nat64,\n 'trigger_threshold' : IDL.Nat64,\n 'max_message_size_bytes' : IDL.Opt(IDL.Nat64),\n 'cycles_for_archive_creation' : IDL.Opt(IDL.Nat64),\n 'node_max_memory_size_bytes' : IDL.Opt(IDL.Nat64),\n 'controller_id' : IDL.Principal,\n }),\n 'token_name' : IDL.Text,\n });\n const Tokens = IDL.Nat;\n const Timestamp = IDL.Nat64;\n const TransferArg = IDL.Record({\n 'to' : Account,\n 'fee' : IDL.Opt(Tokens),\n 'memo' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'from_subaccount' : IDL.Opt(Subaccount),\n 'created_at_time' : IDL.Opt(Timestamp),\n 'amount' : Tokens,\n });\n const BlockIndex = IDL.Nat;\n const TransferError = IDL.Variant({\n 'GenericError' : IDL.Record({\n 'message' : IDL.Text,\n 'error_code' : IDL.Nat,\n }),\n 'TemporarilyUnavailable' : IDL.Null,\n 'BadBurn' : IDL.Record({ 'min_burn_amount' : Tokens }),\n 'Duplicate' : IDL.Record({ 'duplicate_of' : BlockIndex }),\n 'BadFee' : IDL.Record({ 'expected_fee' : Tokens }),\n 'CreatedInFuture' : IDL.Record({ 'ledger_time' : IDL.Nat64 }),\n 'TooOld' : IDL.Null,\n 'InsufficientFunds' : IDL.Record({ 'balance' : Tokens }),\n });\n const TransferResult = IDL.Variant({\n 'Ok' : BlockIndex,\n 'Err' : TransferError,\n });\n return IDL.Service({\n 'icrc1_balance_of' : IDL.Func([Account], [Tokens], ['query']),\n 'icrc1_decimals' : IDL.Func([], [IDL.Nat8], ['query']),\n 'icrc1_fee' : IDL.Func([], [Tokens], ['query']),\n 'icrc1_metadata' : IDL.Func(\n [],\n [IDL.Vec(IDL.Tuple(IDL.Text, Value))],\n ['query'],\n ),\n 'icrc1_minting_account' : IDL.Func([], [IDL.Opt(Account)], ['query']),\n 'icrc1_name' : IDL.Func([], [IDL.Text], ['query']),\n 'icrc1_supported_standards' : IDL.Func(\n [],\n [IDL.Vec(IDL.Record({ 'url' : IDL.Text, 'name' : IDL.Text }))],\n ['query'],\n ),\n 'icrc1_symbol' : IDL.Func([], [IDL.Text], ['query']),\n 'icrc1_total_supply' : IDL.Func([], [Tokens], ['query']),\n 'icrc1_transfer' : IDL.Func([TransferArg], [TransferResult], []),\n });\n};\nexport const init = ({ IDL }) => {\n const Value = IDL.Variant({\n 'Int' : IDL.Int,\n 'Nat' : IDL.Nat,\n 'Blob' : IDL.Vec(IDL.Nat8),\n 'Text' : IDL.Text,\n });\n const Subaccount = IDL.Vec(IDL.Nat8);\n const Account = IDL.Record({\n 'owner' : IDL.Principal,\n 'subaccount' : IDL.Opt(Subaccount),\n });\n const InitArgs = IDL.Record({\n 'token_symbol' : IDL.Text,\n 'transfer_fee' : IDL.Nat64,\n 'metadata' : IDL.Vec(IDL.Tuple(IDL.Text, Value)),\n 'minting_account' : Account,\n 'initial_balances' : IDL.Vec(IDL.Tuple(Account, IDL.Nat64)),\n 'archive_options' : IDL.Record({\n 'num_blocks_to_archive' : IDL.Nat64,\n 'trigger_threshold' : IDL.Nat64,\n 'max_message_size_bytes' : IDL.Opt(IDL.Nat64),\n 'cycles_for_archive_creation' : IDL.Opt(IDL.Nat64),\n 'node_max_memory_size_bytes' : IDL.Opt(IDL.Nat64),\n 'controller_id' : IDL.Principal,\n }),\n 'token_name' : IDL.Text,\n });\n return [InitArgs];\n};\n", "import { 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 { Canister } from \"./services/canister\";\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 = async ({\n certified = true,\n }: {\n certified?: boolean;\n }): Promise<ListSnsCanistersResponse> => {\n return this.caller({ certified }).list_sns_canisters({});\n };\n}\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_root.did */\nexport const idlFactory = ({ IDL }) => {\n const SnsRootCanister = IDL.Record({\n 'dapp_canister_ids' : IDL.Vec(IDL.Principal),\n 'latest_ledger_archive_poll_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'archive_canister_ids' : IDL.Vec(IDL.Principal),\n 'governance_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 CanisterStatusResult = IDL.Record({\n 'controller' : IDL.Principal,\n 'status' : CanisterStatusType,\n 'memory_size' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const GetSnsCanistersSummaryRequest = IDL.Record({\n 'update_canister_list' : IDL.Opt(IDL.Bool),\n });\n const CanisterStatusType_1 = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const DefiniteCanisterSettingsArgs = IDL.Record({\n 'controller' : IDL.Principal,\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const CanisterStatusResultV2 = IDL.Record({\n 'controller' : IDL.Principal,\n 'status' : CanisterStatusType_1,\n 'freezing_threshold' : IDL.Nat,\n 'balance' : IDL.Vec(IDL.Tuple(IDL.Vec(IDL.Nat8), IDL.Nat)),\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettingsArgs,\n 'idle_cycles_burned_per_day' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const 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 'governance' : IDL.Opt(CanisterSummary),\n 'dapps' : IDL.Vec(CanisterSummary),\n 'archives' : IDL.Vec(CanisterSummary),\n });\n const ListSnsCanistersResponse = IDL.Record({\n 'root' : IDL.Opt(IDL.Principal),\n 'swap' : IDL.Opt(IDL.Principal),\n 'ledger' : 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 RegisterDappCanisterRequest = IDL.Record({\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const SetDappControllersRequest = IDL.Record({\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 'get_build_metadata' : IDL.Func([], [IDL.Text], []),\n 'get_sns_canisters_summary' : IDL.Func(\n [GetSnsCanistersSummaryRequest],\n [GetSnsCanistersSummaryResponse],\n [],\n ),\n 'list_sns_canisters' : IDL.Func(\n [IDL.Record({})],\n [ListSnsCanistersResponse],\n [],\n ),\n 'register_dapp_canister' : IDL.Func(\n [RegisterDappCanisterRequest],\n [IDL.Record({})],\n [],\n ),\n 'set_dapp_controllers' : IDL.Func(\n [SetDappControllersRequest],\n [SetDappControllersResponse],\n [],\n ),\n });\n};\nexport const init = ({ IDL }) => {\n const SnsRootCanister = IDL.Record({\n 'dapp_canister_ids' : IDL.Vec(IDL.Principal),\n 'latest_ledger_archive_poll_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'archive_canister_ids' : IDL.Vec(IDL.Principal),\n 'governance_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 SnsRootCanister = IDL.Record({\n 'dapp_canister_ids' : IDL.Vec(IDL.Principal),\n 'latest_ledger_archive_poll_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'archive_canister_ids' : IDL.Vec(IDL.Principal),\n 'governance_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 CanisterStatusResult = IDL.Record({\n 'controller' : IDL.Principal,\n 'status' : CanisterStatusType,\n 'memory_size' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const GetSnsCanistersSummaryRequest = IDL.Record({\n 'update_canister_list' : IDL.Opt(IDL.Bool),\n });\n const CanisterStatusType_1 = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const DefiniteCanisterSettingsArgs = IDL.Record({\n 'controller' : IDL.Principal,\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const CanisterStatusResultV2 = IDL.Record({\n 'controller' : IDL.Principal,\n 'status' : CanisterStatusType_1,\n 'freezing_threshold' : IDL.Nat,\n 'balance' : IDL.Vec(IDL.Tuple(IDL.Vec(IDL.Nat8), IDL.Nat)),\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettingsArgs,\n 'idle_cycles_burned_per_day' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const 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 'governance' : IDL.Opt(CanisterSummary),\n 'dapps' : IDL.Vec(CanisterSummary),\n 'archives' : IDL.Vec(CanisterSummary),\n });\n const ListSnsCanistersResponse = IDL.Record({\n 'root' : IDL.Opt(IDL.Principal),\n 'swap' : IDL.Opt(IDL.Principal),\n 'ledger' : 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 RegisterDappCanisterRequest = IDL.Record({\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const SetDappControllersRequest = IDL.Record({\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 'get_build_metadata' : IDL.Func([], [IDL.Text], ['query']),\n 'get_sns_canisters_summary' : IDL.Func(\n [GetSnsCanistersSummaryRequest],\n [GetSnsCanistersSummaryResponse],\n [],\n ),\n 'list_sns_canisters' : IDL.Func(\n [IDL.Record({})],\n [ListSnsCanistersResponse],\n ['query'],\n ),\n 'register_dapp_canister' : IDL.Func(\n [RegisterDappCanisterRequest],\n [IDL.Record({})],\n [],\n ),\n 'set_dapp_controllers' : IDL.Func(\n [SetDappControllersRequest],\n [SetDappControllersResponse],\n [],\n ),\n });\n};\nexport const init = ({ IDL }) => {\n const SnsRootCanister = IDL.Record({\n 'dapp_canister_ids' : IDL.Vec(IDL.Principal),\n 'latest_ledger_archive_poll_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'archive_canister_ids' : IDL.Vec(IDL.Principal),\n 'governance_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 type { Principal } from \"@dfinity/principal\";\nimport { assertNonNullish, fromNullable } from \"@dfinity/utils\";\nimport type {\n ListSnsCanistersResponse,\n _SERVICE as SnsRootService,\n} from \"../candid/sns_root\";\nimport { SnsGovernanceCanister } from \"./governance.canister\";\nimport { SnsLedgerCanister } from \"./ledger.canister\";\nimport { SnsRootCanister } from \"./root.canister\";\nimport { SnsWrapper } from \"./sns.wrapper\";\nimport { SnsSwapCanister } from \"./swap.canister\";\nimport type { SnsCanisterOptions } from \"./types/canister.options\";\nimport type { QueryParams } from \"./types/query.params\";\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 }: 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\n assertNonNullish(governanceCanisterId);\n assertNonNullish(ledgerCanisterId);\n assertNonNullish(swapCanisterId);\n\n return new SnsWrapper({\n root: rootCanister,\n governance: SnsGovernanceCanister.create({\n canisterId: governanceCanisterId,\n agent,\n }),\n ledger: SnsLedgerCanister.create({ canisterId: ledgerCanisterId, agent }),\n swap: SnsSwapCanister.create({ canisterId: swapCanisterId, agent }),\n certified,\n });\n};\n", "import type { Principal } from \"@dfinity/principal\";\nimport type { Tokens } from \"../candid/icrc1_ledger\";\nimport type { GetMetadataResponse, Neuron } from \"../candid/sns_governance\";\nimport type {\n BuyerState,\n GetBuyerStateRequest,\n GetStateResponse,\n RefreshBuyerTokensRequest,\n} from \"../candid/sns_swap\";\nimport type { SnsGovernanceCanister } from \"./governance.canister\";\nimport type { SnsLedgerCanister } from \"./ledger.canister\";\nimport type { SnsRootCanister } from \"./root.canister\";\nimport type { SnsSwapCanister } from \"./swap.canister\";\nimport type {\n SnsDisburseNeuronParams,\n SnsGetNeuronParams,\n SnsListNeuronsParams,\n SnsNeuronPermissionsParams,\n} from \"./types/governance.params\";\nimport type { BalanceParams } from \"./types/ledger.params\";\nimport type { SnsTokenMetadataResponse } from \"./types/ledger.responses\";\nimport type { QueryParams } from \"./types/query.params\";\n\ninterface SnsWrapperOptions {\n /** The wrapper for the \"root\" canister of the particular Sns */\n root: SnsRootCanister;\n /** The wrapper for the \"governance\" canister of the particular Sns */\n governance: SnsGovernanceCanister;\n /** The wrapper for the \"ledger\" canister of the particular Sns */\n ledger: SnsLedgerCanister;\n /** The wrapper for the \"swap\" canister of the particular Sns */\n swap: SnsSwapCanister;\n\n /** The wrapper has been instantiated and should perform query or update calls */\n certified: boolean;\n}\n\n/**\n * Sns wrapper - notably used by NNS-dapp - ease the access to a particular Sns.\n * It knows all the Sns' canisters, wrap and enhance their available features.\n * A wrapper either performs query or update calls.\n */\nexport class SnsWrapper {\n private readonly root: SnsRootCanister;\n private readonly governance: SnsGovernanceCanister;\n private readonly ledger: SnsLedgerCanister;\n private readonly swap: SnsSwapCanister;\n private readonly certified: boolean;\n\n /**\n * Constructor to instantiate a Sns\n */\n constructor({\n root,\n governance,\n ledger,\n swap,\n certified,\n }: SnsWrapperOptions) {\n this.root = root;\n this.governance = governance;\n this.ledger = ledger;\n this.swap = swap;\n this.certified = certified;\n }\n\n /**\n * Binds the list of canister ids of the Sns.\n */\n get canisterIds(): {\n rootCanisterId: Principal;\n ledgerCanisterId: Principal;\n governanceCanisterId: Principal;\n swapCanisterId: Principal;\n } {\n return {\n rootCanisterId: this.root.canisterId,\n ledgerCanisterId: this.ledger.canisterId,\n governanceCanisterId: this.governance.canisterId,\n swapCanisterId: this.swap.canisterId,\n };\n }\n\n listNeurons = (\n params: Omit<SnsListNeuronsParams, \"certified\">\n ): Promise<Neuron[]> => this.governance.listNeurons(this.mergeParams(params));\n\n metadata = (\n params: Omit<QueryParams, \"certified\">\n ): Promise<[GetMetadataResponse, SnsTokenMetadataResponse]> =>\n Promise.all([\n this.governance.metadata(this.mergeParams(params)),\n this.ledger.metadata(this.mergeParams(params)),\n ]);\n\n ledgerMetadata = (\n params: Omit<QueryParams, \"certified\">\n ): Promise<SnsTokenMetadataResponse> =>\n this.ledger.metadata(this.mergeParams(params));\n\n balance = (params: Omit<BalanceParams, \"certified\">): Promise<Tokens> =>\n this.ledger.balance(this.mergeParams(params));\n\n getNeuron = (\n params: Omit<SnsGetNeuronParams, \"certified\">\n ): Promise<Neuron> => this.governance.getNeuron(this.mergeParams(params));\n\n // Always certified\n addNeuronPermissions = (params: SnsNeuronPermissionsParams): Promise<void> =>\n this.governance.addNeuronPermissions(params);\n\n // Always certified\n removeNeuronPermissions = (\n params: SnsNeuronPermissionsParams\n ): Promise<void> => this.governance.removeNeuronPermissions(params);\n\n // Always certified\n disburse = (params: SnsDisburseNeuronParams): Promise<void> =>\n this.governance.disburse(params);\n\n swapState = (\n params: Omit<QueryParams, \"certified\">\n ): Promise<GetStateResponse> => this.swap.state(this.mergeParams(params));\n\n // Always certified\n notifyParticipation = (params: RefreshBuyerTokensRequest): Promise<void> =>\n this.swap.notifyParticipation(params);\n\n getUserCommitment = (\n params: GetBuyerStateRequest\n ): Promise<BuyerState | undefined> =>\n this.swap.getUserCommitment(this.mergeParams(params));\n\n private mergeParams<T>(params: T): QueryParams & T {\n return {\n ...params,\n certified: this.certified,\n };\n }\n}\n", "import { createServices, fromNullable } from \"@dfinity/utils\";\nimport type {\n BuyerState,\n GetBuyerStateRequest,\n GetStateResponse,\n RefreshBuyerTokensRequest,\n _SERVICE as SnsSwapService,\n} from \"../candid/sns_swap\";\nimport { idlFactory as certifiedIdlFactory } from \"../candid/sns_swap.certified.idl\";\nimport { idlFactory } from \"../candid/sns_swap.idl\";\nimport { Canister } from \"./services/canister\";\nimport type { SnsCanisterOptions } from \"./types/canister.options\";\nimport type { QueryParams } from \"./types/query.params\";\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 user participating in the swap\n */\n notifyParticipation = async (\n params: RefreshBuyerTokensRequest\n ): Promise<void> => {\n await this.caller({ certified: true }).refresh_buyer_tokens(params);\n };\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", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_swap.did */\nexport const idlFactory = ({ IDL }) => {\n const Init = IDL.Record({\n 'sns_root_canister_id' : IDL.Text,\n 'fallback_controller_principal_ids' : IDL.Vec(IDL.Text),\n 'nns_governance_canister_id' : IDL.Text,\n 'icp_ledger_canister_id' : IDL.Text,\n 'sns_ledger_canister_id' : IDL.Text,\n 'sns_governance_canister_id' : IDL.Text,\n });\n const ErrorRefundIcpRequest = IDL.Record({\n 'icp_e8s' : IDL.Nat64,\n 'fee_override_e8s' : IDL.Nat64,\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 CanisterCallError = IDL.Record({\n 'code' : IDL.Opt(IDL.Int32),\n 'description' : IDL.Text,\n });\n const Possibility = IDL.Variant({\n 'Ok' : Response,\n 'Err' : CanisterCallError,\n });\n const SettleCommunityFundParticipationResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility),\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_1 = IDL.Variant({\n 'Ok' : SetDappControllersResponse,\n 'Err' : CanisterCallError,\n });\n const SetDappControllersCallResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility_1),\n });\n const Possibility_2 = IDL.Variant({ 'Err' : CanisterCallError });\n const SetModeCallResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility_2),\n });\n const SweepResult = IDL.Record({\n 'failure' : IDL.Nat32,\n 'skipped' : IDL.Nat32,\n 'success' : IDL.Nat32,\n });\n const FinalizeSwapResponse = IDL.Record({\n 'settle_community_fund_participation_result' : IDL.Opt(\n SettleCommunityFundParticipationResult\n ),\n 'set_dapp_controllers_result' : IDL.Opt(SetDappControllersCallResult),\n 'sns_governance_normal_mode_enabled' : IDL.Opt(SetModeCallResult),\n 'sweep_icp' : IDL.Opt(SweepResult),\n 'sweep_sns' : IDL.Opt(SweepResult),\n 'create_neuron' : IDL.Opt(SweepResult),\n });\n const GetBuyerStateRequest = IDL.Record({\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const TransferableAmount = IDL.Record({\n 'transfer_start_timestamp_seconds' : IDL.Nat64,\n 'amount_e8s' : IDL.Nat64,\n 'transfer_success_timestamp_seconds' : IDL.Nat64,\n });\n const BuyerState = IDL.Record({ 'icp' : IDL.Opt(TransferableAmount) });\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 'controller' : IDL.Principal,\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const CanisterStatusResultV2 = IDL.Record({\n 'controller' : IDL.Principal,\n 'status' : CanisterStatusType,\n 'freezing_threshold' : IDL.Nat,\n 'balance' : IDL.Vec(IDL.Tuple(IDL.Vec(IDL.Nat8), IDL.Nat)),\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettingsArgs,\n 'idle_cycles_burned_per_day' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const CfInvestment = IDL.Record({\n 'hotkey_principal' : IDL.Text,\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 'investor' : IDL.Opt(Investor),\n });\n const CfNeuron = IDL.Record({\n 'nns_neuron_id' : IDL.Nat64,\n 'amount_icp_e8s' : IDL.Nat64,\n });\n const CfParticipant = IDL.Record({\n 'hotkey_principal' : IDL.Text,\n 'cf_neurons' : IDL.Vec(CfNeuron),\n });\n const Params = IDL.Record({\n 'min_participant_icp_e8s' : IDL.Nat64,\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 'max_participant_icp_e8s' : IDL.Nat64,\n 'min_icp_e8s' : IDL.Nat64,\n });\n const Swap = IDL.Record({\n 'neuron_recipes' : IDL.Vec(SnsNeuronRecipe),\n 'cf_participants' : IDL.Vec(CfParticipant),\n 'init' : IDL.Opt(Init),\n 'lifecycle' : IDL.Int32,\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 });\n const GetStateResponse = IDL.Record({\n 'swap' : IDL.Opt(Swap),\n 'derived' : IDL.Opt(DerivedState),\n });\n const OpenRequest = IDL.Record({\n 'cf_participants' : IDL.Vec(CfParticipant),\n 'params' : IDL.Opt(Params),\n 'open_sns_token_swap_proposal_id' : IDL.Opt(IDL.Nat64),\n });\n const RefreshBuyerTokensRequest = IDL.Record({ 'buyer' : IDL.Text });\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 [IDL.Record({})],\n [],\n ),\n 'finalize_swap' : IDL.Func([IDL.Record({})], [FinalizeSwapResponse], []),\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_state' : IDL.Func([IDL.Record({})], [GetStateResponse], []),\n 'open' : IDL.Func([OpenRequest], [IDL.Record({})], []),\n 'refresh_buyer_tokens' : IDL.Func(\n [RefreshBuyerTokensRequest],\n [RefreshBuyerTokensResponse],\n [],\n ),\n });\n};\nexport const init = ({ IDL }) => {\n const Init = IDL.Record({\n 'sns_root_canister_id' : IDL.Text,\n 'fallback_controller_principal_ids' : IDL.Vec(IDL.Text),\n 'nns_governance_canister_id' : IDL.Text,\n 'icp_ledger_canister_id' : IDL.Text,\n 'sns_ledger_canister_id' : IDL.Text,\n 'sns_governance_canister_id' : IDL.Text,\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 Init = IDL.Record({\n 'sns_root_canister_id' : IDL.Text,\n 'fallback_controller_principal_ids' : IDL.Vec(IDL.Text),\n 'nns_governance_canister_id' : IDL.Text,\n 'icp_ledger_canister_id' : IDL.Text,\n 'sns_ledger_canister_id' : IDL.Text,\n 'sns_governance_canister_id' : IDL.Text,\n });\n const ErrorRefundIcpRequest = IDL.Record({\n 'icp_e8s' : IDL.Nat64,\n 'fee_override_e8s' : IDL.Nat64,\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 CanisterCallError = IDL.Record({\n 'code' : IDL.Opt(IDL.Int32),\n 'description' : IDL.Text,\n });\n const Possibility = IDL.Variant({\n 'Ok' : Response,\n 'Err' : CanisterCallError,\n });\n const SettleCommunityFundParticipationResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility),\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_1 = IDL.Variant({\n 'Ok' : SetDappControllersResponse,\n 'Err' : CanisterCallError,\n });\n const SetDappControllersCallResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility_1),\n });\n const Possibility_2 = IDL.Variant({ 'Err' : CanisterCallError });\n const SetModeCallResult = IDL.Record({\n 'possibility' : IDL.Opt(Possibility_2),\n });\n const SweepResult = IDL.Record({\n 'failure' : IDL.Nat32,\n 'skipped' : IDL.Nat32,\n 'success' : IDL.Nat32,\n });\n const FinalizeSwapResponse = IDL.Record({\n 'settle_community_fund_participation_result' : IDL.Opt(\n SettleCommunityFundParticipationResult\n ),\n 'set_dapp_controllers_result' : IDL.Opt(SetDappControllersCallResult),\n 'sns_governance_normal_mode_enabled' : IDL.Opt(SetModeCallResult),\n 'sweep_icp' : IDL.Opt(SweepResult),\n 'sweep_sns' : IDL.Opt(SweepResult),\n 'create_neuron' : IDL.Opt(SweepResult),\n });\n const GetBuyerStateRequest = IDL.Record({\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const TransferableAmount = IDL.Record({\n 'transfer_start_timestamp_seconds' : IDL.Nat64,\n 'amount_e8s' : IDL.Nat64,\n 'transfer_success_timestamp_seconds' : IDL.Nat64,\n });\n const BuyerState = IDL.Record({ 'icp' : IDL.Opt(TransferableAmount) });\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 'controller' : IDL.Principal,\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const CanisterStatusResultV2 = IDL.Record({\n 'controller' : IDL.Principal,\n 'status' : CanisterStatusType,\n 'freezing_threshold' : IDL.Nat,\n 'balance' : IDL.Vec(IDL.Tuple(IDL.Vec(IDL.Nat8), IDL.Nat)),\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettingsArgs,\n 'idle_cycles_burned_per_day' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const CfInvestment = IDL.Record({\n 'hotkey_principal' : IDL.Text,\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 'investor' : IDL.Opt(Investor),\n });\n const CfNeuron = IDL.Record({\n 'nns_neuron_id' : IDL.Nat64,\n 'amount_icp_e8s' : IDL.Nat64,\n });\n const CfParticipant = IDL.Record({\n 'hotkey_principal' : IDL.Text,\n 'cf_neurons' : IDL.Vec(CfNeuron),\n });\n const Params = IDL.Record({\n 'min_participant_icp_e8s' : IDL.Nat64,\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 'max_participant_icp_e8s' : IDL.Nat64,\n 'min_icp_e8s' : IDL.Nat64,\n });\n const Swap = IDL.Record({\n 'neuron_recipes' : IDL.Vec(SnsNeuronRecipe),\n 'cf_participants' : IDL.Vec(CfParticipant),\n 'init' : IDL.Opt(Init),\n 'lifecycle' : IDL.Int32,\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 });\n const GetStateResponse = IDL.Record({\n 'swap' : IDL.Opt(Swap),\n 'derived' : IDL.Opt(DerivedState),\n });\n const OpenRequest = IDL.Record({\n 'cf_participants' : IDL.Vec(CfParticipant),\n 'params' : IDL.Opt(Params),\n 'open_sns_token_swap_proposal_id' : IDL.Opt(IDL.Nat64),\n });\n const RefreshBuyerTokensRequest = IDL.Record({ 'buyer' : IDL.Text });\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 [IDL.Record({})],\n [],\n ),\n 'finalize_swap' : IDL.Func([IDL.Record({})], [FinalizeSwapResponse], []),\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_state' : IDL.Func([IDL.Record({})], [GetStateResponse], ['query']),\n 'open' : IDL.Func([OpenRequest], [IDL.Record({})], []),\n 'refresh_buyer_tokens' : IDL.Func(\n [RefreshBuyerTokensRequest],\n [RefreshBuyerTokensResponse],\n [],\n ),\n });\n};\nexport const init = ({ IDL }) => {\n const Init = IDL.Record({\n 'sns_root_canister_id' : IDL.Text,\n 'fallback_controller_principal_ids' : IDL.Vec(IDL.Text),\n 'nns_governance_canister_id' : IDL.Text,\n 'icp_ledger_canister_id' : IDL.Text,\n 'sns_ledger_canister_id' : IDL.Text,\n 'sns_governance_canister_id' : IDL.Text,\n });\n return [Init];\n};\n", "import type { Principal } from \"@dfinity/principal\";\nimport type { Subaccount, Value } from \"../../candid/icrc1_ledger\";\n\n// Source: https://github.com/dfinity/icrc-1#standard-metadata-entries\nexport enum SnsMetadataResponseEntries {\n SYMBOL = \"icrc1:symbol\",\n NAME = \"icrc1:name\",\n DECIMALS = \"icrc1:decimals\",\n FEE = \"icrc1:fee\",\n}\n\nexport type SnsTokenMetadataResponse = [\n string | SnsMetadataResponseEntries,\n Value\n][];\n\nexport interface SnsAccount {\n owner: Principal;\n subaccount?: Subaccount;\n}\n", "import { Principal } from \"@dfinity/principal\";\nimport type { SnsAccount } from \"../types/ledger.responses\";\n\n// https://github.com/dfinity/ICRC-1/pull/55/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R236\nconst EXTRA_BYTES = parseInt(\"FF\", 16);\nconst MAX_ACCOUNT_BYTES_LENGTH = 32;\n\n/**\n * Removes leading zeros from a Uint8Array\n *\n * @param bytes Uint8Array\n * @returns Uint8Array\n */\nconst shrink = (bytes: Uint8Array): Uint8Array => {\n const shrinked = Array.from(bytes);\n while (shrinked[0] === 0) {\n shrinked.shift();\n }\n return Uint8Array.from(shrinked);\n};\n\n/**\n * Encodes an SNS account into a string.\n * Formatting Reference: https://github.com/dfinity/ICRC-1/pull/55/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R238\n *\n * @param snsAccount { owner: Principal, subaccount?: Uint8Array }\n * @returns string\n */\nexport const encodeSnsAccount = ({ owner, subaccount }: SnsAccount): string => {\n if (subaccount === undefined) {\n return owner.toText();\n }\n\n const subaccountBytes = shrink(subaccount);\n\n if (subaccountBytes.length === 0) {\n return owner.toText();\n }\n\n const bytes = Uint8Array.from([\n ...owner.toUint8Array(),\n ...subaccountBytes,\n subaccountBytes.length,\n EXTRA_BYTES,\n ]);\n\n return Principal.fromUint8Array(bytes).toText();\n};\n\n/**\n * Decodes a string into an SNS account.\n * Formatting Reference: https://github.com/dfinity/ICRC-1/pull/55/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R268\n *\n * @param snsAccountString string\n * @throws Error if the string is not a valid SNS account\n * @returns snsAccount { owner: Principal, subaccount?: Uint8Array }\n */\nexport const decodeSnsAccount = (accountString: string): SnsAccount => {\n const principal = Principal.fromText(accountString);\n\n const [ff, nonZeroLength, ...restReversed] = principal\n .toUint8Array()\n .reverse();\n\n if (ff !== EXTRA_BYTES) {\n return {\n owner: Principal.fromText(accountString),\n };\n }\n\n if (\n nonZeroLength > MAX_ACCOUNT_BYTES_LENGTH ||\n nonZeroLength === 0 ||\n nonZeroLength === undefined\n ) {\n throw new Error(\"Invalid account string\");\n }\n\n const subaccountBytesReversed = restReversed.slice(0, nonZeroLength);\n if (\n subaccountBytesReversed[0] === 0 ||\n subaccountBytesReversed.length !== nonZeroLength\n ) {\n throw new Error(\"Invalid account string\");\n }\n while (subaccountBytesReversed.length < MAX_ACCOUNT_BYTES_LENGTH) {\n subaccountBytesReversed.push(0);\n }\n const subaccount = Uint8Array.from(subaccountBytesReversed.reverse());\n\n const principalBytes = restReversed\n .reverse()\n .filter((_, i) => i < restReversed.length - nonZeroLength);\n\n return {\n owner: Principal.fromUint8Array(Uint8Array.from(principalBytes)),\n subaccount,\n };\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|