@dfinity/sns 3.4.0 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/README.md +126 -97
  2. package/dist/candid/sns_governance.certified.idl.js +42 -0
  3. package/dist/candid/sns_governance.d.ts +18 -9
  4. package/dist/candid/sns_governance.did +23 -12
  5. package/dist/candid/sns_governance.idl.js +42 -0
  6. package/dist/candid/sns_governance_test.certified.idl.js +42 -0
  7. package/dist/candid/sns_governance_test.d.ts +18 -9
  8. package/dist/candid/sns_governance_test.did +23 -12
  9. package/dist/candid/sns_governance_test.idl.js +42 -0
  10. package/dist/candid/sns_root.did +1 -1
  11. package/dist/candid/sns_swap.did +1 -1
  12. package/dist/cjs/index.cjs.js +1 -1
  13. package/dist/cjs/index.cjs.js.map +3 -3
  14. package/dist/esm/{chunk-CMVA2R27.js → chunk-63KCLBLM.js} +2 -2
  15. package/dist/esm/chunk-ERFZ4WF4.js +2 -0
  16. package/dist/esm/chunk-ERFZ4WF4.js.map +7 -0
  17. package/dist/esm/{chunk-Q55ZUKOX.js → chunk-TJDVNGQZ.js} +2 -2
  18. package/dist/esm/chunk-TJDVNGQZ.js.map +7 -0
  19. package/dist/esm/governance.canister.js +1 -1
  20. package/dist/esm/index.js +1 -1
  21. package/dist/esm/index.js.map +3 -3
  22. package/dist/esm/sns.js +1 -1
  23. package/dist/esm/sns.wrapper.js +1 -1
  24. package/dist/types/converters/governance.converters.d.ts +2 -1
  25. package/dist/types/governance.canister.d.ts +7 -2
  26. package/dist/types/index.d.ts +1 -1
  27. package/dist/types/sns.wrapper.d.ts +2 -1
  28. package/dist/types/types/governance.params.d.ts +14 -2
  29. package/package.json +3 -3
  30. package/dist/esm/chunk-IVTJXPAO.js +0 -2
  31. package/dist/esm/chunk-IVTJXPAO.js.map +0 -7
  32. package/dist/esm/chunk-Q55ZUKOX.js.map +0 -7
  33. /package/dist/esm/{chunk-CMVA2R27.js.map → chunk-63KCLBLM.js.map} +0 -0
package/dist/esm/sns.js CHANGED
@@ -1,2 +1,2 @@
1
- import{a}from"./chunk-CMVA2R27.js";import"./chunk-IVTJXPAO.js";import"./chunk-PUAIJI6X.js";import"./chunk-Q55ZUKOX.js";import"./chunk-4INNMFYU.js";import"./chunk-7RSE53BN.js";export{a as initSnsWrapper};
1
+ import{a}from"./chunk-63KCLBLM.js";import"./chunk-ERFZ4WF4.js";import"./chunk-PUAIJI6X.js";import"./chunk-TJDVNGQZ.js";import"./chunk-4INNMFYU.js";import"./chunk-7RSE53BN.js";export{a as initSnsWrapper};
2
2
  //# sourceMappingURL=sns.js.map
@@ -1,2 +1,2 @@
1
- import{b as a}from"./chunk-Q55ZUKOX.js";import"./chunk-4INNMFYU.js";export{a as SnsWrapper};
1
+ import{b as a}from"./chunk-TJDVNGQZ.js";import"./chunk-4INNMFYU.js";export{a as SnsWrapper};
2
2
  //# sourceMappingURL=sns.wrapper.js.map
@@ -1,7 +1,7 @@
1
1
  import type { IcrcAccount } from "@dfinity/ledger-icrc";
2
2
  import type { Account, Action as ActionCandid, ListProposals, ManageNeuron, NeuronId } from "../../candid/sns_governance";
3
3
  import type { Action } from "../types/actions";
4
- import type { SnsClaimOrRefreshArgs, SnsDisburseNeuronParams, SnsIncreaseDissolveDelayParams, SnsListProposalsParams, SnsNeuronAutoStakeMaturityParams, SnsNeuronDisburseMaturityParams, SnsNeuronPermissionsParams, SnsNeuronStakeMaturityParams, SnsRegisterVoteParams, SnsSetDissolveTimestampParams, SnsSetTopicFollowees, SnsSplitNeuronParams } from "../types/governance.params";
4
+ import type { SnsClaimOrRefreshArgs, SnsDisburseNeuronParams, SnsIncreaseDissolveDelayParams, SnsListProposalsParams, SnsNeuronAutoStakeMaturityParams, SnsNeuronDisburseMaturityParams, SnsNeuronPermissionsParams, SnsNeuronStakeMaturityParams, SnsRegisterVoteParams, SnsSetDissolveTimestampParams, SnsSetFollowingParams, SnsSetTopicFollowees, SnsSplitNeuronParams } from "../types/governance.params";
5
5
  export declare const toCandidAccount: ({ owner, subaccount, }: IcrcAccount) => Account;
6
6
  export declare const toAddPermissionsRequest: ({ neuronId, permissions, principal, }: SnsNeuronPermissionsParams) => ManageNeuron;
7
7
  export declare const toRemovePermissionsRequest: ({ neuronId, permissions, principal, }: SnsNeuronPermissionsParams) => ManageNeuron;
@@ -15,6 +15,7 @@ export declare const toAutoStakeMaturityNeuronRequest: ({ neuronId, autoStake: r
15
15
  export declare const toSetDissolveTimestampRequest: ({ neuronId, dissolveTimestampSeconds, }: SnsSetDissolveTimestampParams) => ManageNeuron;
16
16
  export declare const toIncreaseDissolveDelayRequest: ({ neuronId, additionalDissolveDelaySeconds, }: SnsIncreaseDissolveDelayParams) => ManageNeuron;
17
17
  export declare const toFollowRequest: ({ neuronId, functionId, followees, }: SnsSetTopicFollowees) => ManageNeuron;
18
+ export declare const toSetFollowingRequest: ({ neuronId, topicFollowing, }: SnsSetFollowingParams) => ManageNeuron;
18
19
  export declare const toRegisterVoteRequest: ({ neuronId, proposalId, vote, }: SnsRegisterVoteParams) => ManageNeuron;
19
20
  export declare const toClaimOrRefreshRequest: ({ subaccount, memo, controller, }: SnsClaimOrRefreshArgs) => ManageNeuron;
20
21
  export declare const toListProposalRequest: ({ excludeType, beforeProposal, includeRewardStatus, includeStatus, limit, }: SnsListProposalsParams) => ListProposals;
@@ -2,7 +2,7 @@ import type { QueryParams } from "@dfinity/utils";
2
2
  import { Canister } from "@dfinity/utils";
3
3
  import type { GetMetadataResponse, ListNervousSystemFunctionsResponse, ListProposalsResponse, ListTopicsResponse, ManageNeuron, ManageNeuronResponse, NervousSystemParameters, Neuron, NeuronId, ProposalData, _SERVICE as SnsGovernanceService } from "../candid/sns_governance";
4
4
  import type { SnsCanisterOptions } from "./types/canister.options";
5
- import type { SnsClaimNeuronParams, SnsDisburseNeuronParams, SnsGetNeuronParams, SnsGetProposalParams, SnsIncreaseDissolveDelayParams, SnsListNeuronsParams, SnsListProposalsParams, SnsListTopicsParams, SnsNeuronAutoStakeMaturityParams, SnsNeuronDisburseMaturityParams, SnsNeuronPermissionsParams, SnsNeuronStakeMaturityParams, SnsRegisterVoteParams, SnsSetDissolveTimestampParams, SnsSetTopicFollowees, SnsSplitNeuronParams } from "./types/governance.params";
5
+ import type { SnsClaimNeuronParams, SnsDisburseNeuronParams, SnsGetNeuronParams, SnsGetProposalParams, SnsIncreaseDissolveDelayParams, SnsListNeuronsParams, SnsListProposalsParams, SnsListTopicsParams, SnsNeuronAutoStakeMaturityParams, SnsNeuronDisburseMaturityParams, SnsNeuronPermissionsParams, SnsNeuronStakeMaturityParams, SnsRegisterVoteParams, SnsSetDissolveTimestampParams, SnsSetFollowingParams, SnsSetTopicFollowees, SnsSplitNeuronParams } from "./types/governance.params";
6
6
  export declare class SnsGovernanceCanister extends Canister<SnsGovernanceService> {
7
7
  /**
8
8
  * Instantiate a canister to interact with the governance of a Sns project.
@@ -110,9 +110,14 @@ export declare class SnsGovernanceCanister extends Canister<SnsGovernanceService
110
110
  */
111
111
  increaseDissolveDelay: (params: SnsIncreaseDissolveDelayParams) => Promise<void>;
112
112
  /**
113
- * Sets followees of a neuron for a specific Nervous System Function (topic)
113
+ * Sets followees of a neuron for a specific Nervous System Function
114
+ * @deprecated will be replaced by `setFollowing` in the future.
114
115
  */
115
116
  setTopicFollowees: (params: SnsSetTopicFollowees) => Promise<void>;
117
+ /**
118
+ * Sets followees of a neuron for topics
119
+ */
120
+ setFollowing: (params: SnsSetFollowingParams) => Promise<void>;
116
121
  /**
117
122
  * Registers vote for a proposal from the neuron passed.
118
123
  */
@@ -1,4 +1,4 @@
1
- export type { Action as SnsAction, Ballot as SnsBallot, DefaultFollowees as SnsDefaultFollowees, FunctionType as SnsFunctionType, GetMetadataResponse as SnsGetMetadataResponse, ListNervousSystemFunctionsResponse as SnsListNervousSystemFunctionsResponse, ListProposalsResponse as SnsListProposalsResponse, ManageNeuron as SnsManageNeuron, ManageNeuronResponse as SnsManageNeuronResponse, NervousSystemFunction as SnsNervousSystemFunction, NervousSystemParameters as SnsNervousSystemParameters, Neuron as SnsNeuron, NeuronId as SnsNeuronId, NeuronPermissionList as SnsNeuronPermissionList, Percentage as SnsPercentage, ProposalData as SnsProposalData, ProposalId as SnsProposalId, Tally as SnsTally, VotingRewardsParameters as SnsVotingRewardsParameters, } from "../candid/sns_governance";
1
+ export type { Action as SnsAction, Ballot as SnsBallot, DefaultFollowees as SnsDefaultFollowees, Followee as SnsFollowee, FolloweesForTopic as SnsFolloweesForTopic, FunctionType as SnsFunctionType, GetMetadataResponse as SnsGetMetadataResponse, ListNervousSystemFunctionsResponse as SnsListNervousSystemFunctionsResponse, ListProposalsResponse as SnsListProposalsResponse, ListTopicsResponse as SnsListTopicsResponse, ManageNeuron as SnsManageNeuron, ManageNeuronResponse as SnsManageNeuronResponse, NervousSystemFunction as SnsNervousSystemFunction, NervousSystemParameters as SnsNervousSystemParameters, Neuron as SnsNeuron, NeuronId as SnsNeuronId, NeuronPermissionList as SnsNeuronPermissionList, Percentage as SnsPercentage, ProposalData as SnsProposalData, ProposalId as SnsProposalId, Tally as SnsTally, Topic as SnsTopic, TopicInfo as SnsTopicInfo, VotingRewardsParameters as SnsVotingRewardsParameters, } from "../candid/sns_governance";
2
2
  export type { CanisterStatusResultV2 as SnsCanisterStatus } from "../candid/sns_root";
3
3
  export type { CfParticipant, FinalizeSwapResponse as SnsFinalizeSwapResponse, GetAutoFinalizationStatusResponse as SnsGetAutoFinalizationStatusResponse, GetBuyerStateRequest as SnsGetBuyerStateRequest, GetBuyerStateResponse as SnsGetBuyerStateResponse, GetDerivedStateResponse as SnsGetDerivedStateResponse, GetInitResponse as SnsGetInitResponse, GetLifecycleResponse as SnsGetLifecycleResponse, GetSaleParametersResponse as SnsGetSaleParametersResponse, InvalidUserAmount as SnsInvalidUserAmount, SnsNeuronRecipe, NeuronsFundParticipationConstraints as SnsNeuronsFundParticipationConstraints, Params as SnsParams, RefreshBuyerTokensResponse as SnsRefreshBuyerTokensResponse, Swap as SnsSwap, BuyerState as SnsSwapBuyerState, DerivedState as SnsSwapDerivedState, Init as SnsSwapInit, Ticket as SnsSwapTicket, TransferableAmount as SnsTransferableAmount, } from "../candid/sns_swap";
4
4
  export { fromCandidAction } from "./converters/governance.converters";
@@ -6,7 +6,7 @@ import type { BuyerState, GetAutoFinalizationStatusResponse, GetBuyerStateReques
6
6
  import type { SnsGovernanceCanister } from "./governance.canister";
7
7
  import type { SnsRootCanister } from "./root.canister";
8
8
  import type { SnsSwapCanister } from "./swap.canister";
9
- import type { SnsClaimNeuronParams, SnsDisburseNeuronParams, SnsGetNeuronParams, SnsGetProposalParams, SnsIncreaseDissolveDelayParams, SnsIncreaseStakeNeuronParams, SnsListNeuronsParams, SnsListProposalsParams, SnsNeuronAutoStakeMaturityParams, SnsNeuronDisburseMaturityParams, SnsNeuronPermissionsParams, SnsNeuronStakeMaturityParams, SnsRegisterVoteParams, SnsSetDissolveTimestampParams, SnsSetTopicFollowees, SnsSplitNeuronParams, SnsStakeNeuronParams } from "./types/governance.params";
9
+ import type { SnsClaimNeuronParams, SnsDisburseNeuronParams, SnsGetNeuronParams, SnsGetProposalParams, SnsIncreaseDissolveDelayParams, SnsIncreaseStakeNeuronParams, SnsListNeuronsParams, SnsListProposalsParams, SnsNeuronAutoStakeMaturityParams, SnsNeuronDisburseMaturityParams, SnsNeuronPermissionsParams, SnsNeuronStakeMaturityParams, SnsRegisterVoteParams, SnsSetDissolveTimestampParams, SnsSetFollowingParams, SnsSetTopicFollowees, SnsSplitNeuronParams, SnsStakeNeuronParams } from "./types/governance.params";
10
10
  import type { NewSaleTicketParams } from "./types/swap.params";
11
11
  interface SnsWrapperOptions {
12
12
  /** The wrapper for the "root" canister of the particular Sns */
@@ -121,6 +121,7 @@ export declare class SnsWrapper {
121
121
  setDissolveTimestamp: (params: SnsSetDissolveTimestampParams) => Promise<void>;
122
122
  increaseDissolveDelay: (params: SnsIncreaseDissolveDelayParams) => Promise<void>;
123
123
  setTopicFollowees: (params: SnsSetTopicFollowees) => Promise<void>;
124
+ setFollowing: (params: SnsSetFollowingParams) => Promise<void>;
124
125
  registerVote: (params: SnsRegisterVoteParams) => Promise<void>;
125
126
  swapState: (params: Omit<QueryParams, "certified">) => Promise<GetStateResponse>;
126
127
  /**
@@ -1,7 +1,7 @@
1
1
  import type { IcrcAccount, IcrcSubaccount, IcrcTokens } from "@dfinity/ledger-icrc";
2
2
  import type { Principal } from "@dfinity/principal";
3
3
  import type { QueryParams } from "@dfinity/utils";
4
- import type { NeuronId, ProposalId } from "../../candid/sns_governance";
4
+ import type { NeuronId, ProposalId, Topic } from "../../candid/sns_governance";
5
5
  import type { SnsNeuronPermissionType, SnsProposalDecisionStatus, SnsProposalRewardStatus, SnsVote } from "../enums/governance.enums";
6
6
  import type { E8s } from "./common";
7
7
  /**
@@ -96,12 +96,24 @@ export interface SnsIncreaseDissolveDelayParams extends SnsNeuronManagementParam
96
96
  additionalDissolveDelaySeconds: number;
97
97
  }
98
98
  /**
99
- * The parameters to increase dissolve delay
99
+ * The parameters to follow by ns-function
100
100
  */
101
101
  export interface SnsSetTopicFollowees extends SnsNeuronManagementParams {
102
102
  functionId: bigint;
103
103
  followees: NeuronId[];
104
104
  }
105
+ /**
106
+ * The parameters to follow by topic
107
+ */
108
+ export interface SnsSetFollowingParams extends SnsNeuronManagementParams {
109
+ topicFollowing: Array<{
110
+ topic: Topic;
111
+ followees: Array<{
112
+ neuronId: NeuronId;
113
+ alias?: string;
114
+ }>;
115
+ }>;
116
+ }
105
117
  /**
106
118
  * The parameters to register vote
107
119
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dfinity/sns",
3
- "version": "3.4.0",
3
+ "version": "3.5.0",
4
4
  "description": "A library for interfacing with a Service Nervous System (SNS) project.",
5
5
  "license": "Apache-2.0",
6
6
  "main": "dist/cjs/index.cjs.js",
@@ -38,9 +38,9 @@
38
38
  "peerDependencies": {
39
39
  "@dfinity/agent": "^2.0.0",
40
40
  "@dfinity/candid": "^2.0.0",
41
- "@dfinity/ledger-icrc": "^2.7.6",
41
+ "@dfinity/ledger-icrc": "^2.8.0",
42
42
  "@dfinity/principal": "^2.0.0",
43
- "@dfinity/utils": "^2.11.0"
43
+ "@dfinity/utils": "^2.12.0"
44
44
  },
45
45
  "dependencies": {
46
46
  "@noble/hashes": "^1.3.2"
@@ -1,2 +0,0 @@
1
- import{a as l}from"./chunk-4INNMFYU.js";import{assertPercentageNumber as Yt,Canister as _s,createServices as ps,fromNullable as V,toNullable as $}from"@dfinity/utils";var Ft=({IDL:e})=>{let n=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),t=e.Record({archive_wasm_hash:e.Vec(e.Nat8),root_wasm_hash:e.Vec(e.Nat8),swap_wasm_hash:e.Vec(e.Nat8),ledger_wasm_hash:e.Vec(e.Nat8),governance_wasm_hash:e.Vec(e.Nat8),index_wasm_hash:e.Vec(e.Nat8)}),s=e.Record({versions:e.Vec(t)}),i=e.Record({upgrade_steps:e.Opt(s),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),a=e.Variant({DappCanisterManagement:e.Null,DaoCommunitySettings:e.Null,ApplicationBusinessLogic:e.Null,CriticalDappOperations:e.Null,TreasuryAssetManagement:e.Null,Governance:e.Null,SnsFrameworkManagement:e.Null}),p=e.Record({topic:e.Opt(a),validator_canister_id:e.Opt(e.Principal),target_canister_id:e.Opt(e.Principal),validator_method_name:e.Opt(e.Text),target_method_name:e.Opt(e.Text)}),d=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:p}),c=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(d)}),X=e.Record({not_dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),garbage_collectable_neurons_count:e.Nat64,neurons_with_invalid_stake_count:e.Nat64,not_dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),neurons_with_less_than_6_months_dissolve_delay_count:e.Nat64,dissolved_neurons_count:e.Nat64,total_staked_e8s:e.Nat64,total_supply_governance_tokens:e.Nat64,not_dissolving_neurons_count:e.Nat64,dissolved_neurons_e8s:e.Nat64,neurons_with_less_than_6_months_dissolve_delay_e8s:e.Nat64,dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),dissolving_neurons_count:e.Nat64,dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),timestamp_seconds:e.Nat64}),h=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),H=e.Record({old_target_version:e.Opt(t),new_target_version:e.Opt(t),is_advanced_automatically:e.Opt(e.Bool)}),K=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(s)}),Y=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(t)})})),human_readable:e.Opt(e.Text)}),_=e.Record({id:e.Nat64}),Z=e.Record({current_version:e.Opt(t),expected_version:e.Opt(t),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:_,BehindTargetVersion:e.Record({})}))}),D=e.Record({upgrade_steps:e.Opt(s)}),I=e.Record({human_readable:e.Opt(e.Text),old_target_version:e.Opt(t),new_target_version:e.Opt(t)}),L=e.Record({event:e.Opt(e.Variant({TargetVersionSet:H,UpgradeStepsReset:K,UpgradeOutcome:Y,UpgradeStarted:Z,UpgradeStepsRefreshed:D,TargetVersionReset:I})),timestamp_seconds:e.Opt(e.Nat64)}),T=e.Record({entries:e.Vec(L)}),r=e.Record({id:e.Vec(e.Nat8)}),w=e.Record({followees:e.Vec(r)}),ee=e.Record({followees:e.Vec(e.Tuple(e.Nat64,w))}),m=e.Record({permissions:e.Vec(e.Int32)}),te=e.Record({final_reward_rate_basis_points:e.Opt(e.Nat64),initial_reward_rate_basis_points:e.Opt(e.Nat64),reward_rate_transition_duration_seconds:e.Opt(e.Nat64),round_duration_seconds:e.Opt(e.Nat64)}),O=e.Record({default_followees:e.Opt(ee),max_dissolve_delay_seconds:e.Opt(e.Nat64),max_dissolve_delay_bonus_percentage:e.Opt(e.Nat64),max_followees_per_function:e.Opt(e.Nat64),automatically_advance_target_version:e.Opt(e.Bool),neuron_claimer_permissions:e.Opt(m),neuron_minimum_stake_e8s:e.Opt(e.Nat64),max_neuron_age_for_age_bonus:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),reject_cost_e8s:e.Opt(e.Nat64),max_proposals_to_keep_per_action:e.Opt(e.Nat32),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),max_number_of_neurons:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),max_number_of_proposals_with_ballots:e.Opt(e.Nat64),max_age_bonus_percentage:e.Opt(e.Nat64),neuron_grantable_permissions:e.Opt(m),voting_rewards_parameters:e.Opt(te),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),P=e.Record({rounds_since_last_distribution:e.Opt(e.Nat64),actual_timestamp_seconds:e.Nat64,end_timestamp_seconds:e.Opt(e.Nat64),total_available_e8s_equivalent:e.Opt(e.Nat64),distributed_e8s_equivalent:e.Nat64,round:e.Nat64,settled_proposals:e.Vec(_)}),se=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Opt(e.Nat64),target_version:e.Opt(t)}),N=e.Record({error_message:e.Text,error_type:e.Int32}),g=e.Record({subaccount:e.Vec(e.Nat8)}),u=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(g)}),b=e.Record({human_readable:e.Opt(e.Text)}),oe=e.Record({e8s:e.Opt(e.Nat64)}),ne=e.Record({xdrs_per_icp:e.Opt(b),icps_per_token:e.Opt(b),tokens:e.Opt(oe)}),ae=e.Record({token:e.Opt(e.Int32),account:e.Opt(u),valuation_factors:e.Opt(ne),timestamp_seconds:e.Opt(e.Nat64)}),M=e.Record({valuation:e.Opt(ae)}),x=e.Record({archive_wasm_hash:e.Opt(e.Vec(e.Nat8)),root_wasm_hash:e.Opt(e.Vec(e.Nat8)),swap_wasm_hash:e.Opt(e.Vec(e.Nat8)),ledger_wasm_hash:e.Opt(e.Vec(e.Nat8)),governance_wasm_hash:e.Opt(e.Vec(e.Nat8)),index_wasm_hash:e.Opt(e.Vec(e.Nat8))}),re=e.Record({target_version:e.Opt(x)}),ie=e.Variant({TransferSnsTreasuryFunds:M,MintSnsTokens:M,AdvanceSnsTargetVersion:re}),ce=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),C=e.Record({basis_points:e.Opt(e.Nat64)}),_e=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),pe=e.Record({freezing_threshold:e.Opt(e.Nat64),wasm_memory_threshold:e.Opt(e.Nat64),canister_ids:e.Vec(e.Principal),reserved_cycles_limit:e.Opt(e.Nat64),log_visibility:e.Opt(e.Int32),wasm_memory_limit:e.Opt(e.Nat64),memory_allocation:e.Opt(e.Nat64),compute_allocation:e.Opt(e.Nat64)}),de=e.Record({custom_function_id_to_topic:e.Vec(e.Tuple(e.Nat64,a))}),ue=e.Record({canister_ids:e.Vec(e.Principal)}),le=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(g),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),me=e.Record({wasm_module_hash:e.Vec(e.Nat8),chunk_hashes_list:e.Vec(e.Vec(e.Nat8)),store_canister_id:e.Opt(e.Principal)}),Ne=e.Record({new_canister_wasm:e.Vec(e.Nat8),mode:e.Opt(e.Int32),canister_id:e.Opt(e.Principal),chunked_canister_wasm:e.Opt(me),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),Oe=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ge=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(g),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),Re=e.Record({new_target:e.Opt(x)}),F=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),ve=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),ye=e.Record({token_symbol:e.Opt(e.Text),transfer_fee:e.Opt(e.Nat64),token_logo:e.Opt(e.Text),token_name:e.Opt(e.Text)}),Se=e.Record({motion_text:e.Text}),fe=e.Variant({ManageNervousSystemParameters:O,AddGenericNervousSystemFunction:c,ManageDappCanisterSettings:pe,RemoveGenericNervousSystemFunction:e.Nat64,SetTopicsForCustomProposals:de,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:ue,TransferSnsTreasuryFunds:le,UpgradeSnsControlledCanister:Ne,DeregisterDappCanisters:Oe,MintSnsTokens:ge,AdvanceSnsTargetVersion:Re,Unspecified:e.Record({}),ManageSnsMetadata:F,ExecuteGenericNervousSystemFunction:ve,ManageLedgerParameters:ye,Motion:Se}),R=e.Record({url:e.Text,title:e.Text,action:e.Opt(fe),summary:e.Text}),Ve=e.Record({current_deadline_timestamp_seconds:e.Nat64}),v=e.Record({id:e.Opt(_),payload_text_rendering:e.Opt(e.Text),action:e.Nat64,failure_reason:e.Opt(N),action_auxiliary:e.Opt(ie),ballots:e.Vec(e.Tuple(e.Text,ce)),minimum_yes_proportion_of_total:e.Opt(C),reward_event_round:e.Nat64,failed_timestamp_seconds:e.Nat64,reward_event_end_timestamp_seconds:e.Opt(e.Nat64),proposal_creation_timestamp_seconds:e.Nat64,initial_voting_period_seconds:e.Nat64,reject_cost_e8s:e.Nat64,latest_tally:e.Opt(_e),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(R),proposer:e.Opt(r),wait_for_quiet_state:e.Opt(Ve),minimum_yes_proportion_of_exercised:e.Opt(C),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),k=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),A=e.Record({function_id:e.Nat64,followees:e.Vec(r)}),q=e.Record({to_account:e.Opt(u),percentage_to_disburse:e.Nat32}),he=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),Te=e.Record({additional_dissolve_delay_seconds:e.Nat32}),we=e.Record({dissolve_timestamp_seconds:e.Nat64}),Pe=e.Variant({ChangeAutoStakeMaturity:he,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:Te,SetDissolveTimestamp:we}),G=e.Record({operation:e.Opt(Pe)}),U=e.Record({vote:e.Int32,proposal:e.Opt(_)}),be=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(u)}),Me=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),xe=e.Variant({MemoAndController:Me,NeuronId:e.Record({})}),B=e.Record({by:e.Opt(xe)}),E=e.Record({permissions_to_remove:e.Opt(m),principal_id:e.Opt(e.Principal)}),z=e.Record({permissions_to_add:e.Opt(m),principal_id:e.Opt(e.Principal)}),j=e.Record({percentage_to_merge:e.Nat32}),Ce=e.Record({e8s:e.Nat64}),W=e.Record({to_account:e.Opt(u),amount:e.Opt(Ce)}),Fe=e.Variant({Split:k,Follow:A,DisburseMaturity:q,Configure:G,RegisterVote:U,SyncCommand:e.Record({}),MakeProposal:R,FinalizeDisburseMaturity:be,ClaimOrRefreshNeuron:B,RemoveNeuronPermissions:E,AddNeuronPermissions:z,MergeMaturity:j,Disburse:W}),ke=e.Record({command:e.Opt(Fe),timestamp:e.Nat64}),Ae=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),qe=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),Ge=e.Record({timestamp_of_disbursement_seconds:e.Nat64,amount_e8s:e.Nat64,account_to_disburse_to:e.Opt(u),finalize_disbursement_timestamp_seconds:e.Opt(e.Nat64)}),y=e.Record({id:e.Opt(r),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),permissions:e.Vec(Ae),maturity_e8s_equivalent:e.Nat64,cached_neuron_stake_e8s:e.Nat64,created_timestamp_seconds:e.Nat64,source_nns_neuron_id:e.Opt(e.Nat64),auto_stake_maturity:e.Opt(e.Bool),aging_since_timestamp_seconds:e.Nat64,dissolve_state:e.Opt(qe),voting_power_percentage_multiplier:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64),disburse_maturity_in_progress:e.Vec(Ge),followees:e.Vec(e.Tuple(e.Nat64,w)),neuron_fees_e8s:e.Nat64}),Dt=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(n),cached_upgrade_steps:e.Opt(i),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,c)),metrics:e.Opt(X),maturity_modulation:e.Opt(h),upgrade_journal:e.Opt(T),mode:e.Int32,parameters:e.Opt(O),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(t),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(P),pending_version:e.Opt(se),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,v)),in_flight_commands:e.Vec(e.Tuple(e.Text,ke)),sns_metadata:e.Opt(F),neurons:e.Vec(e.Tuple(e.Text,y)),target_version:e.Opt(t),genesis_timestamp_seconds:e.Nat64}),Ue=e.Record({principals:e.Vec(e.Principal)}),Be=e.Record({nns_neuron_hotkeys:e.Opt(Ue),nns_neuron_controller:e.Opt(e.Principal),nns_neuron_id:e.Opt(e.Nat64)}),Ee=e.Variant({NeuronsFund:Be,Direct:e.Record({})}),ze=e.Record({neuron_ids:e.Vec(r)}),je=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),participant:e.Opt(Ee),stake_e8s:e.Opt(e.Nat64),followees:e.Opt(ze),neuron_id:e.Opt(r)}),We=e.Record({neuron_recipes:e.Vec(je)}),Je=e.Record({neuron_recipes:e.Opt(We)}),Qe=e.Record({id:e.Opt(r),status:e.Int32}),$e=e.Record({swap_neurons:e.Vec(Qe)}),Xe=e.Variant({Ok:$e,Err:e.Int32}),He=e.Record({claim_swap_neurons_result:e.Opt(Xe)}),Ke=e.Record({maturity_modulation:e.Opt(h)}),Ye=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),Ze=e.Record({mode:e.Opt(e.Int32)}),De=e.Record({neuron_id:e.Opt(r)}),Ie=e.Variant({Error:N,Neuron:y}),Le=e.Record({result:e.Opt(Ie)}),J=e.Record({proposal_id:e.Opt(_)}),et=e.Variant({Error:N,Proposal:v}),tt=e.Record({result:e.Opt(et)}),st=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),ot=e.Record({freezing_threshold:e.Nat,wasm_memory_threshold:e.Opt(e.Nat),controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),nt=e.Record({response_payload_bytes_total:e.Opt(e.Nat),num_instructions_total:e.Opt(e.Nat),num_calls_total:e.Opt(e.Nat),request_payload_bytes_total:e.Opt(e.Nat)}),at=e.Record({status:st,memory_size:e.Nat,cycles:e.Nat,settings:ot,query_stats:e.Opt(nt),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),rt=e.Record({deployed_version:e.Opt(t),pending_version:e.Opt(e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Nat64,target_version:e.Opt(t)}))}),it=e.Record({sns_initialization_parameters:e.Text}),ct=e.Record({timers:e.Opt(n)}),_t=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat64)}),pt=e.Record({upgrade_journal:e.Opt(T),upgrade_steps:e.Opt(s),response_timestamp_seconds:e.Opt(e.Nat64),deployed_version:e.Opt(t),target_version:e.Opt(t),upgrade_journal_entry_count:e.Opt(e.Nat64)}),dt=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(c)}),ut=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(r)}),lt=e.Record({neurons:e.Vec(y)}),mt=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(_),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_status:e.Vec(e.Int32)}),Nt=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(v)}),Ot=e.Record({}),gt=e.Record({native_functions:e.Opt(e.Vec(c)),topic:e.Opt(a),is_critical:e.Opt(e.Bool),name:e.Opt(e.Text),description:e.Opt(e.Text),custom_functions:e.Opt(e.Vec(c))}),Rt=e.Record({uncategorized_functions:e.Opt(e.Vec(c)),topics:e.Opt(e.Vec(gt))}),vt=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),yt=e.Variant({Split:k,Follow:A,DisburseMaturity:q,ClaimOrRefresh:B,Configure:G,RegisterVote:U,MakeProposal:R,StakeMaturity:vt,RemoveNeuronPermissions:E,AddNeuronPermissions:z,MergeMaturity:j,Disburse:W}),St=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(yt)}),ft=e.Record({created_neuron_id:e.Opt(r)}),Vt=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),ht=e.Record({refreshed_neuron_id:e.Opt(r)}),Tt=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),wt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),Pt=e.Record({transfer_block_height:e.Nat64}),bt=e.Variant({Error:N,Split:ft,Follow:e.Record({}),DisburseMaturity:Vt,ClaimOrRefresh:ht,Configure:e.Record({}),RegisterVote:e.Record({}),MakeProposal:J,RemoveNeuronPermission:e.Record({}),StakeMaturity:Tt,MergeMaturity:wt,Disburse:Pt,AddNeuronPermission:e.Record({})}),Mt=e.Record({command:e.Opt(bt)}),xt=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([Je],[He],[]),fail_stuck_upgrade_in_progress:e.Func([e.Record({})],[e.Record({})],[]),get_build_metadata:e.Func([],[e.Text],[]),get_latest_reward_event:e.Func([],[P],[]),get_maturity_modulation:e.Func([e.Record({})],[Ke],[]),get_metadata:e.Func([e.Record({})],[Ye],[]),get_mode:e.Func([e.Record({})],[Ze],[]),get_nervous_system_parameters:e.Func([e.Null],[O],[]),get_neuron:e.Func([De],[Le],[]),get_proposal:e.Func([J],[tt],[]),get_root_canister_status:e.Func([e.Null],[at],[]),get_running_sns_version:e.Func([e.Record({})],[rt],[]),get_sns_initialization_parameters:e.Func([e.Record({})],[it],[]),get_timers:e.Func([e.Record({})],[ct],[]),get_upgrade_journal:e.Func([_t],[pt],[]),list_nervous_system_functions:e.Func([],[dt],[]),list_neurons:e.Func([ut],[lt],[]),list_proposals:e.Func([mt],[Nt],[]),list_topics:e.Func([Ot],[Rt],[]),manage_neuron:e.Func([St],[Mt],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([xt],[e.Record({})],[])})};var kt=({IDL:e})=>{let n=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),t=e.Record({archive_wasm_hash:e.Vec(e.Nat8),root_wasm_hash:e.Vec(e.Nat8),swap_wasm_hash:e.Vec(e.Nat8),ledger_wasm_hash:e.Vec(e.Nat8),governance_wasm_hash:e.Vec(e.Nat8),index_wasm_hash:e.Vec(e.Nat8)}),s=e.Record({versions:e.Vec(t)}),i=e.Record({upgrade_steps:e.Opt(s),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),a=e.Variant({DappCanisterManagement:e.Null,DaoCommunitySettings:e.Null,ApplicationBusinessLogic:e.Null,CriticalDappOperations:e.Null,TreasuryAssetManagement:e.Null,Governance:e.Null,SnsFrameworkManagement:e.Null}),p=e.Record({topic:e.Opt(a),validator_canister_id:e.Opt(e.Principal),target_canister_id:e.Opt(e.Principal),validator_method_name:e.Opt(e.Text),target_method_name:e.Opt(e.Text)}),d=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:p}),c=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(d)}),X=e.Record({not_dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),garbage_collectable_neurons_count:e.Nat64,neurons_with_invalid_stake_count:e.Nat64,not_dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),neurons_with_less_than_6_months_dissolve_delay_count:e.Nat64,dissolved_neurons_count:e.Nat64,total_staked_e8s:e.Nat64,total_supply_governance_tokens:e.Nat64,not_dissolving_neurons_count:e.Nat64,dissolved_neurons_e8s:e.Nat64,neurons_with_less_than_6_months_dissolve_delay_e8s:e.Nat64,dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),dissolving_neurons_count:e.Nat64,dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),timestamp_seconds:e.Nat64}),h=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),H=e.Record({old_target_version:e.Opt(t),new_target_version:e.Opt(t),is_advanced_automatically:e.Opt(e.Bool)}),K=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(s)}),Y=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(t)})})),human_readable:e.Opt(e.Text)}),_=e.Record({id:e.Nat64}),Z=e.Record({current_version:e.Opt(t),expected_version:e.Opt(t),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:_,BehindTargetVersion:e.Record({})}))}),D=e.Record({upgrade_steps:e.Opt(s)}),I=e.Record({human_readable:e.Opt(e.Text),old_target_version:e.Opt(t),new_target_version:e.Opt(t)}),L=e.Record({event:e.Opt(e.Variant({TargetVersionSet:H,UpgradeStepsReset:K,UpgradeOutcome:Y,UpgradeStarted:Z,UpgradeStepsRefreshed:D,TargetVersionReset:I})),timestamp_seconds:e.Opt(e.Nat64)}),T=e.Record({entries:e.Vec(L)}),r=e.Record({id:e.Vec(e.Nat8)}),w=e.Record({followees:e.Vec(r)}),ee=e.Record({followees:e.Vec(e.Tuple(e.Nat64,w))}),m=e.Record({permissions:e.Vec(e.Int32)}),te=e.Record({final_reward_rate_basis_points:e.Opt(e.Nat64),initial_reward_rate_basis_points:e.Opt(e.Nat64),reward_rate_transition_duration_seconds:e.Opt(e.Nat64),round_duration_seconds:e.Opt(e.Nat64)}),O=e.Record({default_followees:e.Opt(ee),max_dissolve_delay_seconds:e.Opt(e.Nat64),max_dissolve_delay_bonus_percentage:e.Opt(e.Nat64),max_followees_per_function:e.Opt(e.Nat64),automatically_advance_target_version:e.Opt(e.Bool),neuron_claimer_permissions:e.Opt(m),neuron_minimum_stake_e8s:e.Opt(e.Nat64),max_neuron_age_for_age_bonus:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),reject_cost_e8s:e.Opt(e.Nat64),max_proposals_to_keep_per_action:e.Opt(e.Nat32),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),max_number_of_neurons:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),max_number_of_proposals_with_ballots:e.Opt(e.Nat64),max_age_bonus_percentage:e.Opt(e.Nat64),neuron_grantable_permissions:e.Opt(m),voting_rewards_parameters:e.Opt(te),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),P=e.Record({rounds_since_last_distribution:e.Opt(e.Nat64),actual_timestamp_seconds:e.Nat64,end_timestamp_seconds:e.Opt(e.Nat64),total_available_e8s_equivalent:e.Opt(e.Nat64),distributed_e8s_equivalent:e.Nat64,round:e.Nat64,settled_proposals:e.Vec(_)}),se=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Opt(e.Nat64),target_version:e.Opt(t)}),N=e.Record({error_message:e.Text,error_type:e.Int32}),g=e.Record({subaccount:e.Vec(e.Nat8)}),u=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(g)}),b=e.Record({human_readable:e.Opt(e.Text)}),oe=e.Record({e8s:e.Opt(e.Nat64)}),ne=e.Record({xdrs_per_icp:e.Opt(b),icps_per_token:e.Opt(b),tokens:e.Opt(oe)}),ae=e.Record({token:e.Opt(e.Int32),account:e.Opt(u),valuation_factors:e.Opt(ne),timestamp_seconds:e.Opt(e.Nat64)}),M=e.Record({valuation:e.Opt(ae)}),x=e.Record({archive_wasm_hash:e.Opt(e.Vec(e.Nat8)),root_wasm_hash:e.Opt(e.Vec(e.Nat8)),swap_wasm_hash:e.Opt(e.Vec(e.Nat8)),ledger_wasm_hash:e.Opt(e.Vec(e.Nat8)),governance_wasm_hash:e.Opt(e.Vec(e.Nat8)),index_wasm_hash:e.Opt(e.Vec(e.Nat8))}),re=e.Record({target_version:e.Opt(x)}),ie=e.Variant({TransferSnsTreasuryFunds:M,MintSnsTokens:M,AdvanceSnsTargetVersion:re}),ce=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),C=e.Record({basis_points:e.Opt(e.Nat64)}),_e=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),pe=e.Record({freezing_threshold:e.Opt(e.Nat64),wasm_memory_threshold:e.Opt(e.Nat64),canister_ids:e.Vec(e.Principal),reserved_cycles_limit:e.Opt(e.Nat64),log_visibility:e.Opt(e.Int32),wasm_memory_limit:e.Opt(e.Nat64),memory_allocation:e.Opt(e.Nat64),compute_allocation:e.Opt(e.Nat64)}),de=e.Record({custom_function_id_to_topic:e.Vec(e.Tuple(e.Nat64,a))}),ue=e.Record({canister_ids:e.Vec(e.Principal)}),le=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(g),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),me=e.Record({wasm_module_hash:e.Vec(e.Nat8),chunk_hashes_list:e.Vec(e.Vec(e.Nat8)),store_canister_id:e.Opt(e.Principal)}),Ne=e.Record({new_canister_wasm:e.Vec(e.Nat8),mode:e.Opt(e.Int32),canister_id:e.Opt(e.Principal),chunked_canister_wasm:e.Opt(me),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),Oe=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ge=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(g),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),Re=e.Record({new_target:e.Opt(x)}),F=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),ve=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),ye=e.Record({token_symbol:e.Opt(e.Text),transfer_fee:e.Opt(e.Nat64),token_logo:e.Opt(e.Text),token_name:e.Opt(e.Text)}),Se=e.Record({motion_text:e.Text}),fe=e.Variant({ManageNervousSystemParameters:O,AddGenericNervousSystemFunction:c,ManageDappCanisterSettings:pe,RemoveGenericNervousSystemFunction:e.Nat64,SetTopicsForCustomProposals:de,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:ue,TransferSnsTreasuryFunds:le,UpgradeSnsControlledCanister:Ne,DeregisterDappCanisters:Oe,MintSnsTokens:ge,AdvanceSnsTargetVersion:Re,Unspecified:e.Record({}),ManageSnsMetadata:F,ExecuteGenericNervousSystemFunction:ve,ManageLedgerParameters:ye,Motion:Se}),R=e.Record({url:e.Text,title:e.Text,action:e.Opt(fe),summary:e.Text}),Ve=e.Record({current_deadline_timestamp_seconds:e.Nat64}),v=e.Record({id:e.Opt(_),payload_text_rendering:e.Opt(e.Text),action:e.Nat64,failure_reason:e.Opt(N),action_auxiliary:e.Opt(ie),ballots:e.Vec(e.Tuple(e.Text,ce)),minimum_yes_proportion_of_total:e.Opt(C),reward_event_round:e.Nat64,failed_timestamp_seconds:e.Nat64,reward_event_end_timestamp_seconds:e.Opt(e.Nat64),proposal_creation_timestamp_seconds:e.Nat64,initial_voting_period_seconds:e.Nat64,reject_cost_e8s:e.Nat64,latest_tally:e.Opt(_e),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(R),proposer:e.Opt(r),wait_for_quiet_state:e.Opt(Ve),minimum_yes_proportion_of_exercised:e.Opt(C),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),k=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),A=e.Record({function_id:e.Nat64,followees:e.Vec(r)}),q=e.Record({to_account:e.Opt(u),percentage_to_disburse:e.Nat32}),he=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),Te=e.Record({additional_dissolve_delay_seconds:e.Nat32}),we=e.Record({dissolve_timestamp_seconds:e.Nat64}),Pe=e.Variant({ChangeAutoStakeMaturity:he,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:Te,SetDissolveTimestamp:we}),G=e.Record({operation:e.Opt(Pe)}),U=e.Record({vote:e.Int32,proposal:e.Opt(_)}),be=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(u)}),Me=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),xe=e.Variant({MemoAndController:Me,NeuronId:e.Record({})}),B=e.Record({by:e.Opt(xe)}),E=e.Record({permissions_to_remove:e.Opt(m),principal_id:e.Opt(e.Principal)}),z=e.Record({permissions_to_add:e.Opt(m),principal_id:e.Opt(e.Principal)}),j=e.Record({percentage_to_merge:e.Nat32}),Ce=e.Record({e8s:e.Nat64}),W=e.Record({to_account:e.Opt(u),amount:e.Opt(Ce)}),Fe=e.Variant({Split:k,Follow:A,DisburseMaturity:q,Configure:G,RegisterVote:U,SyncCommand:e.Record({}),MakeProposal:R,FinalizeDisburseMaturity:be,ClaimOrRefreshNeuron:B,RemoveNeuronPermissions:E,AddNeuronPermissions:z,MergeMaturity:j,Disburse:W}),ke=e.Record({command:e.Opt(Fe),timestamp:e.Nat64}),Ae=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),qe=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),Ge=e.Record({timestamp_of_disbursement_seconds:e.Nat64,amount_e8s:e.Nat64,account_to_disburse_to:e.Opt(u),finalize_disbursement_timestamp_seconds:e.Opt(e.Nat64)}),y=e.Record({id:e.Opt(r),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),permissions:e.Vec(Ae),maturity_e8s_equivalent:e.Nat64,cached_neuron_stake_e8s:e.Nat64,created_timestamp_seconds:e.Nat64,source_nns_neuron_id:e.Opt(e.Nat64),auto_stake_maturity:e.Opt(e.Bool),aging_since_timestamp_seconds:e.Nat64,dissolve_state:e.Opt(qe),voting_power_percentage_multiplier:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64),disburse_maturity_in_progress:e.Vec(Ge),followees:e.Vec(e.Tuple(e.Nat64,w)),neuron_fees_e8s:e.Nat64}),Dt=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(n),cached_upgrade_steps:e.Opt(i),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,c)),metrics:e.Opt(X),maturity_modulation:e.Opt(h),upgrade_journal:e.Opt(T),mode:e.Int32,parameters:e.Opt(O),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(t),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(P),pending_version:e.Opt(se),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,v)),in_flight_commands:e.Vec(e.Tuple(e.Text,ke)),sns_metadata:e.Opt(F),neurons:e.Vec(e.Tuple(e.Text,y)),target_version:e.Opt(t),genesis_timestamp_seconds:e.Nat64}),Ue=e.Record({principals:e.Vec(e.Principal)}),Be=e.Record({nns_neuron_hotkeys:e.Opt(Ue),nns_neuron_controller:e.Opt(e.Principal),nns_neuron_id:e.Opt(e.Nat64)}),Ee=e.Variant({NeuronsFund:Be,Direct:e.Record({})}),ze=e.Record({neuron_ids:e.Vec(r)}),je=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),participant:e.Opt(Ee),stake_e8s:e.Opt(e.Nat64),followees:e.Opt(ze),neuron_id:e.Opt(r)}),We=e.Record({neuron_recipes:e.Vec(je)}),Je=e.Record({neuron_recipes:e.Opt(We)}),Qe=e.Record({id:e.Opt(r),status:e.Int32}),$e=e.Record({swap_neurons:e.Vec(Qe)}),Xe=e.Variant({Ok:$e,Err:e.Int32}),He=e.Record({claim_swap_neurons_result:e.Opt(Xe)}),Ke=e.Record({maturity_modulation:e.Opt(h)}),Ye=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),Ze=e.Record({mode:e.Opt(e.Int32)}),De=e.Record({neuron_id:e.Opt(r)}),Ie=e.Variant({Error:N,Neuron:y}),Le=e.Record({result:e.Opt(Ie)}),J=e.Record({proposal_id:e.Opt(_)}),et=e.Variant({Error:N,Proposal:v}),tt=e.Record({result:e.Opt(et)}),st=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),ot=e.Record({freezing_threshold:e.Nat,wasm_memory_threshold:e.Opt(e.Nat),controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),nt=e.Record({response_payload_bytes_total:e.Opt(e.Nat),num_instructions_total:e.Opt(e.Nat),num_calls_total:e.Opt(e.Nat),request_payload_bytes_total:e.Opt(e.Nat)}),at=e.Record({status:st,memory_size:e.Nat,cycles:e.Nat,settings:ot,query_stats:e.Opt(nt),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),rt=e.Record({deployed_version:e.Opt(t),pending_version:e.Opt(e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Nat64,target_version:e.Opt(t)}))}),it=e.Record({sns_initialization_parameters:e.Text}),ct=e.Record({timers:e.Opt(n)}),_t=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat64)}),pt=e.Record({upgrade_journal:e.Opt(T),upgrade_steps:e.Opt(s),response_timestamp_seconds:e.Opt(e.Nat64),deployed_version:e.Opt(t),target_version:e.Opt(t),upgrade_journal_entry_count:e.Opt(e.Nat64)}),dt=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(c)}),ut=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(r)}),lt=e.Record({neurons:e.Vec(y)}),mt=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(_),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_status:e.Vec(e.Int32)}),Nt=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(v)}),Ot=e.Record({}),gt=e.Record({native_functions:e.Opt(e.Vec(c)),topic:e.Opt(a),is_critical:e.Opt(e.Bool),name:e.Opt(e.Text),description:e.Opt(e.Text),custom_functions:e.Opt(e.Vec(c))}),Rt=e.Record({uncategorized_functions:e.Opt(e.Vec(c)),topics:e.Opt(e.Vec(gt))}),vt=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),yt=e.Variant({Split:k,Follow:A,DisburseMaturity:q,ClaimOrRefresh:B,Configure:G,RegisterVote:U,MakeProposal:R,StakeMaturity:vt,RemoveNeuronPermissions:E,AddNeuronPermissions:z,MergeMaturity:j,Disburse:W}),St=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(yt)}),ft=e.Record({created_neuron_id:e.Opt(r)}),Vt=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),ht=e.Record({refreshed_neuron_id:e.Opt(r)}),Tt=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),wt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),Pt=e.Record({transfer_block_height:e.Nat64}),bt=e.Variant({Error:N,Split:ft,Follow:e.Record({}),DisburseMaturity:Vt,ClaimOrRefresh:ht,Configure:e.Record({}),RegisterVote:e.Record({}),MakeProposal:J,RemoveNeuronPermission:e.Record({}),StakeMaturity:Tt,MergeMaturity:wt,Disburse:Pt,AddNeuronPermission:e.Record({})}),Mt=e.Record({command:e.Opt(bt)}),xt=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([Je],[He],[]),fail_stuck_upgrade_in_progress:e.Func([e.Record({})],[e.Record({})],[]),get_build_metadata:e.Func([],[e.Text],["query"]),get_latest_reward_event:e.Func([],[P],["query"]),get_maturity_modulation:e.Func([e.Record({})],[Ke],[]),get_metadata:e.Func([e.Record({})],[Ye],["query"]),get_mode:e.Func([e.Record({})],[Ze],["query"]),get_nervous_system_parameters:e.Func([e.Null],[O],["query"]),get_neuron:e.Func([De],[Le],["query"]),get_proposal:e.Func([J],[tt],["query"]),get_root_canister_status:e.Func([e.Null],[at],[]),get_running_sns_version:e.Func([e.Record({})],[rt],["query"]),get_sns_initialization_parameters:e.Func([e.Record({})],[it],["query"]),get_timers:e.Func([e.Record({})],[ct],["query"]),get_upgrade_journal:e.Func([_t],[pt],["query"]),list_nervous_system_functions:e.Func([],[dt],["query"]),list_neurons:e.Func([ut],[lt],["query"]),list_proposals:e.Func([mt],[Nt],["query"]),list_topics:e.Func([Ot],[Rt],["query"]),manage_neuron:e.Func([St],[Mt],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([xt],[e.Record({})],[])})};import{fromNullable as o,toNullable as S}from"@dfinity/utils";var f=({neuronId:{id:e},command:n})=>({subaccount:e,command:[n]}),Q=({neuronId:e,operation:n})=>f({neuronId:e,command:{Configure:{operation:[n]}}}),At=({owner:e,subaccount:n})=>({owner:S(e),subaccount:n===void 0?[]:S({subaccount:n})}),qt=({neuronId:e,permissions:n,principal:t})=>f({neuronId:e,command:{AddNeuronPermissions:{permissions_to_add:[{permissions:Int32Array.from(n)}],principal_id:[t]}}}),Gt=({neuronId:e,permissions:n,principal:t})=>f({neuronId:e,command:{RemoveNeuronPermissions:{permissions_to_remove:[{permissions:Int32Array.from(n)}],principal_id:[t]}}}),Ut=({neuronId:e,memo:n,amount:t})=>f({neuronId:e,command:{Split:{memo:n,amount_e8s:t}}}),Bt=({neuronId:e,amount:n,toAccount:t})=>f({neuronId:e,command:{Disburse:{to_account:t===void 0?[]:S(At(t)),amount:n===void 0?[]:[{e8s:n}]}}}),Et=e=>Q({neuronId:e,operation:{StartDissolving:{}}}),zt=e=>Q({neuronId:e,operation:{StopDissolving:{}}}),jt=({neuronId:e,percentageToStake:n})=>f({neuronId:e,command:{StakeMaturity:{percentage_to_stake:S(n)}}}),Wt=({neuronId:e,percentageToDisburse:n,toAccount:t})=>f({neuronId:e,command:{DisburseMaturity:{to_account:t===void 0?[]:S(At(t)),percentage_to_disburse:n}}}),Jt=({neuronId:e,autoStake:n})=>Q({neuronId:e,operation:{ChangeAutoStakeMaturity:{requested_setting_for_auto_stake_maturity:n}}}),Qt=({neuronId:e,dissolveTimestampSeconds:n})=>Q({neuronId:e,operation:{SetDissolveTimestamp:{dissolve_timestamp_seconds:n}}}),$t=({neuronId:e,additionalDissolveDelaySeconds:n})=>Q({neuronId:e,operation:{IncreaseDissolveDelay:{additional_dissolve_delay_seconds:n}}}),Xt=({neuronId:e,functionId:n,followees:t})=>({subaccount:e.id,command:[{Follow:{function_id:n,followees:t}}]}),Ht=({neuronId:e,proposalId:n,vote:t})=>({subaccount:e.id,command:[{RegisterVote:{vote:t,proposal:[n]}}]}),Ct=({subaccount:e,memo:n,controller:t})=>({subaccount:e,command:[{ClaimOrRefresh:{by:[n===void 0?{NeuronId:{}}:{MemoAndController:{memo:n,controller:S(t)}}]}}]}),Kt=({excludeType:e,beforeProposal:n,includeRewardStatus:t,includeStatus:s,limit:i})=>({exclude_type:BigUint64Array.from(e??[]),before_proposal:S(n),include_reward_status:Int32Array.from(t??[]),include_status:Int32Array.from(s??[]),limit:i??10}),Ns=e=>{if("ManageNervousSystemParameters"in e)return{ManageNervousSystemParameters:is(e.ManageNervousSystemParameters)};if("AddGenericNervousSystemFunction"in e)return{AddGenericNervousSystemFunction:as(e.AddGenericNervousSystemFunction)};if("SetTopicsForCustomProposals"in e)return{SetTopicsForCustomProposals:e.SetTopicsForCustomProposals};if("RemoveGenericNervousSystemFunction"in e)return{RemoveGenericNervousSystemFunction:e.RemoveGenericNervousSystemFunction};if("UpgradeSnsToNextVersion"in e)return{UpgradeSnsToNextVersion:e.UpgradeSnsToNextVersion};if("RegisterDappCanisters"in e)return{RegisterDappCanisters:e.RegisterDappCanisters};if("TransferSnsTreasuryFunds"in e)return{TransferSnsTreasuryFunds:ss(e.TransferSnsTreasuryFunds)};if("UpgradeSnsControlledCanister"in e)return{UpgradeSnsControlledCanister:ts(e.UpgradeSnsControlledCanister)};if("DeregisterDappCanisters"in e)return{DeregisterDappCanisters:e.DeregisterDappCanisters};if("Unspecified"in e)return{Unspecified:e.Unspecified};if("ManageSnsMetadata"in e)return{ManageSnsMetadata:Lt(e.ManageSnsMetadata)};if("ExecuteGenericNervousSystemFunction"in e)return{ExecuteGenericNervousSystemFunction:e.ExecuteGenericNervousSystemFunction};if("Motion"in e)return{Motion:e.Motion};throw new Error(`Unknown action type ${JSON.stringify(e)}`)},Lt=e=>({url:o(e.url),logo:o(e.logo),name:o(e.name),description:o(e.description)}),es=e=>{if(e!==void 0)return{wasm_module_hash:e.wasm_module_hash,store_canister_id:o(e.store_canister_id),chunk_hashes_list:e.chunk_hashes_list}},ts=e=>({new_canister_wasm:e.new_canister_wasm,chunked_canister_wasm:es(o(e.chunked_canister_wasm)),canister_id:o(e.canister_id),canister_upgrade_arg:o(e.canister_upgrade_arg),mode:o(e.mode)}),ss=e=>({from_treasury:e.from_treasury,to_principal:o(e.to_principal),to_subaccount:o(e.to_subaccount),memo:o(e.memo),amount_e8s:e.amount_e8s}),os=e=>({validator_canister_id:o(e.validator_canister_id),target_canister_id:o(e.target_canister_id),validator_method_name:o(e.validator_method_name),target_method_name:o(e.target_method_name),topic:o(e.topic)}),ns=e=>{if(e!==void 0){if("NativeNervousSystemFunction"in e)return{NativeNervousSystemFunction:e.NativeNervousSystemFunction};if("GenericNervousSystemFunction"in e)return{GenericNervousSystemFunction:os(e.GenericNervousSystemFunction)};throw new Error(`Unknown FunctionType ${JSON.stringify(e)}`)}},as=e=>({id:e.id,name:e.name,description:o(e.description),function_type:ns(o(e.function_type))}),rs=e=>e&&{final_reward_rate_basis_points:o(e.final_reward_rate_basis_points),initial_reward_rate_basis_points:o(e.initial_reward_rate_basis_points),reward_rate_transition_duration_seconds:o(e.reward_rate_transition_duration_seconds),round_duration_seconds:o(e.round_duration_seconds)},is=e=>({default_followees:o(e.default_followees),max_dissolve_delay_seconds:o(e.max_dissolve_delay_seconds),max_dissolve_delay_bonus_percentage:o(e.max_dissolve_delay_bonus_percentage),max_followees_per_function:o(e.max_followees_per_function),neuron_claimer_permissions:o(e.neuron_claimer_permissions),neuron_minimum_stake_e8s:o(e.neuron_minimum_stake_e8s),max_neuron_age_for_age_bonus:o(e.max_neuron_age_for_age_bonus),initial_voting_period_seconds:o(e.initial_voting_period_seconds),neuron_minimum_dissolve_delay_to_vote_seconds:o(e.neuron_minimum_dissolve_delay_to_vote_seconds),reject_cost_e8s:o(e.reject_cost_e8s),max_proposals_to_keep_per_action:o(e.max_proposals_to_keep_per_action),wait_for_quiet_deadline_increase_seconds:o(e.wait_for_quiet_deadline_increase_seconds),max_number_of_neurons:o(e.max_number_of_neurons),transaction_fee_e8s:o(e.transaction_fee_e8s),max_number_of_proposals_with_ballots:o(e.max_number_of_proposals_with_ballots),max_age_bonus_percentage:o(e.max_age_bonus_percentage),neuron_grantable_permissions:o(e.neuron_grantable_permissions),voting_rewards_parameters:rs(o(e.voting_rewards_parameters)),max_number_of_principals_per_neuron:o(e.max_number_of_principals_per_neuron),automatically_advance_target_version:o(e.automatically_advance_target_version)});var Zt=class e extends _s{constructor(){super(...arguments);this.listNeurons=async t=>{let{principal:s,limit:i,beforeNeuronId:a}=t,{neurons:p}=await this.caller(t).list_neurons({of_principal:$(s),limit:i??100,start_page_at:$(a)});return p};this.listProposals=async t=>{let{certified:s}=t;return await this.caller({certified:s}).list_proposals(Kt(t))};this.listTopics=async t=>{let{certified:s}=t;return await this.caller({certified:s}).list_topics({})};this.getProposal=async t=>{let{proposalId:s}=t,{result:i}=await this.caller(t).get_proposal({proposal_id:$(s)}),a=V(i);if(a===void 0||"Error"in a)throw new l(a?.Error.error_message??"Response type not supported");return a.Proposal};this.listNervousSystemFunctions=async t=>this.caller(t).list_nervous_system_functions();this.metadata=t=>this.caller(t).get_metadata({});this.nervousSystemParameters=t=>this.caller(t).get_nervous_system_parameters(null);this.getNeuron=async t=>{let{neuronId:s}=t,{result:i}=await this.caller(t).get_neuron({neuron_id:$(s)}),a=V(i);if(a===void 0||"Error"in a)throw new l(a?.Error.error_message??"Response type not supported");return a.Neuron};this.queryNeuron=async t=>{try{return await this.getNeuron(t)}catch(s){if(s instanceof Error&&s.message.includes("No neuron for given NeuronId"))return;throw s}};this.manageNeuron=async t=>{let s=await this.caller({certified:!0}).manage_neuron(t);return this.assertManageNeuronError(s),s};this.addNeuronPermissions=async t=>{let s=qt(t);await this.manageNeuron(s)};this.removeNeuronPermissions=async t=>{let s=Gt(t);await this.manageNeuron(s)};this.splitNeuron=async t=>{let s=Ut(t),{command:i}=await this.manageNeuron(s),a=V(i),p=d=>`Split neuron failed (${d})`;if(a===void 0)throw new l(p("no response"));if("Split"in a){let d=a.Split,c=V(d.created_neuron_id);if(c!==void 0)return c;throw new l(p("no id"))}throw new l(p("unknown"))};this.disburse=async t=>{let s=Bt(t);await this.manageNeuron(s)};this.startDissolving=async t=>{let s=Et(t);await this.manageNeuron(s)};this.stopDissolving=async t=>{let s=zt(t);await this.manageNeuron(s)};this.stakeMaturity=async({neuronId:t,percentageToStake:s})=>{Yt(s??100);let i=jt({neuronId:t,percentageToStake:s});await this.manageNeuron(i)};this.disburseMaturity=async t=>{Yt(t.percentageToDisburse);let s=Wt(t);await this.manageNeuron(s)};this.autoStakeMaturity=async t=>{let s=Jt(t);await this.manageNeuron(s)};this.setDissolveTimestamp=async t=>{let s=Qt(t);await this.manageNeuron(s)};this.increaseDissolveDelay=async t=>{let s=$t(t);await this.manageNeuron(s)};this.setTopicFollowees=async t=>{let s=Xt(t);await this.manageNeuron(s)};this.registerVote=async t=>{let s=Ht(t);await this.manageNeuron(s)};this.refreshNeuron=async t=>{let s=Ct({subaccount:t.id});await this.manageNeuron(s)};this.claimNeuron=async({memo:t,controller:s,subaccount:i})=>{let a=Ct({subaccount:i,memo:t,controller:s}),{command:p}=await this.manageNeuron(a),d=V(p);if(d===void 0)throw new l("Claim neuron failed");if("ClaimOrRefresh"in d){let c=V(d.ClaimOrRefresh.refreshed_neuron_id);if(c===void 0)throw new l("Claim neuron failed");return c}throw new l("Claim neuron failed")};this.assertManageNeuronError=({command:t})=>{let s=t[0];if(s!==void 0&&"Error"in s)throw new l(s.Error.error_message)}}static create(t){let{service:s,certifiedService:i,canisterId:a}=ps({options:t,idlFactory:kt,certifiedIdlFactory:Ft});return new e(a,s,i)}};export{Ns as a,Zt as b};
2
- //# sourceMappingURL=chunk-IVTJXPAO.js.map