@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.
- package/README.md +126 -97
- package/dist/candid/sns_governance.certified.idl.js +42 -0
- package/dist/candid/sns_governance.d.ts +18 -9
- package/dist/candid/sns_governance.did +23 -12
- package/dist/candid/sns_governance.idl.js +42 -0
- package/dist/candid/sns_governance_test.certified.idl.js +42 -0
- package/dist/candid/sns_governance_test.d.ts +18 -9
- package/dist/candid/sns_governance_test.did +23 -12
- package/dist/candid/sns_governance_test.idl.js +42 -0
- package/dist/candid/sns_root.did +1 -1
- package/dist/candid/sns_swap.did +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/index.cjs.js.map +3 -3
- package/dist/esm/{chunk-CMVA2R27.js → chunk-63KCLBLM.js} +2 -2
- package/dist/esm/chunk-ERFZ4WF4.js +2 -0
- package/dist/esm/chunk-ERFZ4WF4.js.map +7 -0
- package/dist/esm/{chunk-Q55ZUKOX.js → chunk-TJDVNGQZ.js} +2 -2
- package/dist/esm/chunk-TJDVNGQZ.js.map +7 -0
- package/dist/esm/governance.canister.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +3 -3
- package/dist/esm/sns.js +1 -1
- package/dist/esm/sns.wrapper.js +1 -1
- package/dist/types/converters/governance.converters.d.ts +2 -1
- package/dist/types/governance.canister.d.ts +7 -2
- package/dist/types/index.d.ts +1 -1
- package/dist/types/sns.wrapper.d.ts +2 -1
- package/dist/types/types/governance.params.d.ts +14 -2
- package/package.json +3 -3
- package/dist/esm/chunk-IVTJXPAO.js +0 -2
- package/dist/esm/chunk-IVTJXPAO.js.map +0 -7
- package/dist/esm/chunk-Q55ZUKOX.js.map +0 -7
- /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-
|
|
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
|
package/dist/esm/sns.wrapper.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as a}from"./chunk-
|
|
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
|
|
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
|
*/
|
package/dist/types/index.d.ts
CHANGED
|
@@ -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
|
|
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.
|
|
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.
|
|
41
|
+
"@dfinity/ledger-icrc": "^2.8.0",
|
|
42
42
|
"@dfinity/principal": "^2.0.0",
|
|
43
|
-
"@dfinity/utils": "^2.
|
|
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
|