@dfinity/sns 3.4.0 → 3.5.0-next-2025-04-15
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 +45 -0
- package/dist/candid/sns_governance.d.ts +23 -9
- package/dist/candid/sns_governance.did +29 -12
- package/dist/candid/sns_governance.idl.js +45 -0
- package/dist/candid/sns_governance_test.certified.idl.js +45 -0
- package/dist/candid/sns_governance_test.d.ts +23 -9
- package/dist/candid/sns_governance_test.did +29 -12
- package/dist/candid/sns_governance_test.idl.js +45 -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-HIRPCVPC.js +2 -0
- package/dist/esm/chunk-HIRPCVPC.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/{chunk-CMVA2R27.js → chunk-V7RSNTZY.js} +2 -2
- package/dist/esm/governance.canister.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +3 -3
- package/dist/esm/sns.js +1 -1
- package/dist/esm/sns.wrapper.js +1 -1
- package/dist/types/converters/governance.converters.d.ts +3 -2
- 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 +15 -2
- package/package.json +7 -7
- 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-V7RSNTZY.js.map} +0 -0
package/dist/esm/sns.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"./chunk-
|
|
1
|
+
import{a}from"./chunk-V7RSNTZY.js";import"./chunk-HIRPCVPC.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,7 +15,8 @@ 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
|
-
export declare const toListProposalRequest: ({ excludeType, beforeProposal, includeRewardStatus, includeStatus, limit, }: SnsListProposalsParams) => ListProposals;
|
|
21
|
+
export declare const toListProposalRequest: ({ excludeType, beforeProposal, includeRewardStatus, includeStatus, limit, includeTopics, }: SnsListProposalsParams) => ListProposals;
|
|
21
22
|
export declare const fromCandidAction: (action: ActionCandid) => Action;
|
|
@@ -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
|
/**
|
|
@@ -24,6 +24,7 @@ export interface SnsListProposalsParams extends QueryParams {
|
|
|
24
24
|
limit?: number;
|
|
25
25
|
excludeType?: bigint[];
|
|
26
26
|
includeStatus?: SnsProposalDecisionStatus[];
|
|
27
|
+
includeTopics?: Array<Topic | null>;
|
|
27
28
|
}
|
|
28
29
|
export interface SnsListTopicsParams extends QueryParams {
|
|
29
30
|
}
|
|
@@ -96,12 +97,24 @@ export interface SnsIncreaseDissolveDelayParams extends SnsNeuronManagementParam
|
|
|
96
97
|
additionalDissolveDelaySeconds: number;
|
|
97
98
|
}
|
|
98
99
|
/**
|
|
99
|
-
* The parameters to
|
|
100
|
+
* The parameters to follow by ns-function
|
|
100
101
|
*/
|
|
101
102
|
export interface SnsSetTopicFollowees extends SnsNeuronManagementParams {
|
|
102
103
|
functionId: bigint;
|
|
103
104
|
followees: NeuronId[];
|
|
104
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* The parameters to follow by topic
|
|
108
|
+
*/
|
|
109
|
+
export interface SnsSetFollowingParams extends SnsNeuronManagementParams {
|
|
110
|
+
topicFollowing: Array<{
|
|
111
|
+
topic: Topic;
|
|
112
|
+
followees: Array<{
|
|
113
|
+
neuronId: NeuronId;
|
|
114
|
+
alias?: string;
|
|
115
|
+
}>;
|
|
116
|
+
}>;
|
|
117
|
+
}
|
|
105
118
|
/**
|
|
106
119
|
* The parameters to register vote
|
|
107
120
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dfinity/sns",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.0-next-2025-04-15",
|
|
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",
|
|
@@ -36,13 +36,13 @@
|
|
|
36
36
|
"sns"
|
|
37
37
|
],
|
|
38
38
|
"peerDependencies": {
|
|
39
|
-
"@dfinity/agent": "
|
|
40
|
-
"@dfinity/candid": "
|
|
41
|
-
"@dfinity/ledger-icrc": "
|
|
42
|
-
"@dfinity/principal": "
|
|
43
|
-
"@dfinity/utils": "
|
|
39
|
+
"@dfinity/agent": "*",
|
|
40
|
+
"@dfinity/candid": "*",
|
|
41
|
+
"@dfinity/ledger-icrc": "*",
|
|
42
|
+
"@dfinity/principal": "*",
|
|
43
|
+
"@dfinity/utils": "*"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@noble/hashes": "^1.3.2"
|
|
47
47
|
}
|
|
48
|
-
}
|
|
48
|
+
}
|
|
@@ -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
|