UNPKG

@dfinity/sns

Version:

A library for interfacing with a Service Nervous System (SNS) project.

1 lines • 129 kB
"use strict";var Ts=Object.defineProperty;var ho=Object.getOwnPropertyDescriptor;var vo=Object.getOwnPropertyNames;var xo=Object.prototype.hasOwnProperty;var So=(e,t)=>{for(var o in t)Ts(e,o,{get:t[o],enumerable:!0})},Vo=(e,t,o,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of vo(t))!xo.call(e,n)&&n!==o&&Ts(e,n,{get:()=>t[n],enumerable:!(s=ho(t,n))||s.enumerable});return e};var wo=e=>Vo(Ts({},"__esModule",{value:!0}),e);var Qo={};So(Qo,{GetOpenTicketErrorType:()=>so,NewSaleTicketResponseErrorType:()=>oo,SnsGovernanceCanister:()=>os,SnsGovernanceError:()=>P,SnsGovernanceTestCanister:()=>ms,SnsNeuronPermissionType:()=>Is,SnsProposalDecisionStatus:()=>Ls,SnsProposalRewardStatus:()=>Ds,SnsRootCanister:()=>ns,SnsSwapCanister:()=>rs,SnsSwapGetOpenTicketError:()=>_s,SnsSwapLifecycle:()=>to,SnsSwapNewTicketError:()=>ps,SnsVote:()=>eo,SnsWrapper:()=>ls,UnsupportedMethodError:()=>cs,fromCandidAction:()=>$s,initSnsWrapper:()=>jo,neuronSubaccount:()=>Ms});module.exports=wo(Qo);var _=require("@dfinity/utils");var ss=({neuronId:{id:e},command:t})=>({subaccount:e,command:[t]}),is=({neuronId:e,operation:t})=>ss({neuronId:e,command:{Configure:{operation:[t]}}}),ks=({owner:e,subaccount:t})=>({owner:(0,_.toNullable)(e),subaccount:t===void 0?[]:(0,_.toNullable)({subaccount:t})}),As=({neuronId:e,permissions:t,principal:o})=>ss({neuronId:e,command:{AddNeuronPermissions:{permissions_to_add:[{permissions:Int32Array.from(t)}],principal_id:[o]}}}),Es=({neuronId:e,permissions:t,principal:o})=>ss({neuronId:e,command:{RemoveNeuronPermissions:{permissions_to_remove:[{permissions:Int32Array.from(t)}],principal_id:[o]}}}),Us=({neuronId:e,memo:t,amount:o})=>ss({neuronId:e,command:{Split:{memo:t,amount_e8s:o}}}),Gs=({neuronId:e,amount:t,toAccount:o})=>ss({neuronId:e,command:{Disburse:{to_account:o===void 0?[]:(0,_.toNullable)(ks(o)),amount:t===void 0?[]:[{e8s:t}]}}}),Bs=e=>is({neuronId:e,operation:{StartDissolving:{}}}),qs=e=>is({neuronId:e,operation:{StopDissolving:{}}}),zs=({neuronId:e,percentageToStake:t})=>ss({neuronId:e,command:{StakeMaturity:{percentage_to_stake:(0,_.toNullable)(t)}}}),Ws=({neuronId:e,percentageToDisburse:t,toAccount:o})=>ss({neuronId:e,command:{DisburseMaturity:{to_account:o===void 0?[]:(0,_.toNullable)(ks(o)),percentage_to_disburse:t}}}),Hs=({neuronId:e,autoStake:t})=>is({neuronId:e,operation:{ChangeAutoStakeMaturity:{requested_setting_for_auto_stake_maturity:t}}}),js=({neuronId:e,dissolveTimestampSeconds:t})=>is({neuronId:e,operation:{SetDissolveTimestamp:{dissolve_timestamp_seconds:t}}}),Qs=({neuronId:e,additionalDissolveDelaySeconds:t})=>is({neuronId:e,operation:{IncreaseDissolveDelay:{additional_dissolve_delay_seconds:t}}}),Js=({neuronId:e,functionId:t,followees:o})=>({subaccount:e.id,command:[{Follow:{function_id:t,followees:o}}]}),Ys=({neuronId:e,topicFollowing:t})=>({subaccount:e.id,command:[{SetFollowing:{topic_following:t.map(({topic:o,followees:s})=>({topic:[o],followees:s.map(({neuronId:n,alias:i})=>({neuron_id:(0,_.toNullable)(n),alias:(0,_.toNullable)(i)}))}))}}]}),Xs=({neuronId:e,proposalId:t,vote:o})=>({subaccount:e.id,command:[{RegisterVote:{vote:o,proposal:[t]}}]}),Ps=({subaccount:e,memo:t,controller:o})=>({subaccount:e,command:[{ClaimOrRefresh:{by:[t===void 0?{NeuronId:{}}:{MemoAndController:{memo:t,controller:(0,_.toNullable)(o)}}]}}]}),Ks=({excludeType:e,beforeProposal:t,includeRewardStatus:o,includeStatus:s,limit:n,includeTopics:i})=>({exclude_type:BigUint64Array.from(e??[]),before_proposal:(0,_.toNullable)(t),include_reward_status:Int32Array.from(o??[]),include_status:Int32Array.from(s??[]),limit:n??10,include_topics:(0,_.toNullable)((i==null?void 0:i.map(a=>({topic:(0,_.toNullable)(a)})))??[])}),$s=e=>{if("ManageNervousSystemParameters"in e)return{ManageNervousSystemParameters:Eo(e.ManageNervousSystemParameters)};if("AddGenericNervousSystemFunction"in e)return{AddGenericNervousSystemFunction:ko(e.AddGenericNervousSystemFunction)};if("SetTopicsForCustomProposals"in e)return{SetTopicsForCustomProposals:e.SetTopicsForCustomProposals};if("RegisterExtension"in e)return{RegisterExtension:Uo(e.RegisterExtension)};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:Fo(e.TransferSnsTreasuryFunds)};if("UpgradeSnsControlledCanister"in e)return{UpgradeSnsControlledCanister:bo(e.UpgradeSnsControlledCanister)};if("DeregisterDappCanisters"in e)return{DeregisterDappCanisters:e.DeregisterDappCanisters};if("Unspecified"in e)return{Unspecified:e.Unspecified};if("ManageSnsMetadata"in e)return{ManageSnsMetadata:Po(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)}`)},Po=e=>({url:(0,_.fromNullable)(e.url),logo:(0,_.fromNullable)(e.logo),name:(0,_.fromNullable)(e.name),description:(0,_.fromNullable)(e.description)}),Zs=e=>{if(e!==void 0)return{wasm_module_hash:e.wasm_module_hash,store_canister_id:(0,_.fromNullable)(e.store_canister_id),chunk_hashes_list:e.chunk_hashes_list}},bo=e=>({new_canister_wasm:e.new_canister_wasm,chunked_canister_wasm:Zs((0,_.fromNullable)(e.chunked_canister_wasm)),canister_id:(0,_.fromNullable)(e.canister_id),canister_upgrade_arg:(0,_.fromNullable)(e.canister_upgrade_arg),mode:(0,_.fromNullable)(e.mode)}),Fo=e=>({from_treasury:e.from_treasury,to_principal:(0,_.fromNullable)(e.to_principal),to_subaccount:(0,_.fromNullable)(e.to_subaccount),memo:(0,_.fromNullable)(e.memo),amount_e8s:e.amount_e8s}),Co=e=>({validator_canister_id:(0,_.fromNullable)(e.validator_canister_id),target_canister_id:(0,_.fromNullable)(e.target_canister_id),validator_method_name:(0,_.fromNullable)(e.validator_method_name),target_method_name:(0,_.fromNullable)(e.target_method_name),topic:(0,_.fromNullable)(e.topic)}),Mo=e=>{if(e!==void 0){if("NativeNervousSystemFunction"in e)return{NativeNervousSystemFunction:e.NativeNervousSystemFunction};if("GenericNervousSystemFunction"in e)return{GenericNervousSystemFunction:Co(e.GenericNervousSystemFunction)};throw new Error(`Unknown FunctionType ${JSON.stringify(e)}`)}},ko=e=>({id:e.id,name:e.name,description:(0,_.fromNullable)(e.description),function_type:Mo((0,_.fromNullable)(e.function_type))}),Ao=e=>e&&{final_reward_rate_basis_points:(0,_.fromNullable)(e.final_reward_rate_basis_points),initial_reward_rate_basis_points:(0,_.fromNullable)(e.initial_reward_rate_basis_points),reward_rate_transition_duration_seconds:(0,_.fromNullable)(e.reward_rate_transition_duration_seconds),round_duration_seconds:(0,_.fromNullable)(e.round_duration_seconds)},Eo=e=>({default_followees:(0,_.fromNullable)(e.default_followees),max_dissolve_delay_seconds:(0,_.fromNullable)(e.max_dissolve_delay_seconds),max_dissolve_delay_bonus_percentage:(0,_.fromNullable)(e.max_dissolve_delay_bonus_percentage),max_followees_per_function:(0,_.fromNullable)(e.max_followees_per_function),neuron_claimer_permissions:(0,_.fromNullable)(e.neuron_claimer_permissions),neuron_minimum_stake_e8s:(0,_.fromNullable)(e.neuron_minimum_stake_e8s),max_neuron_age_for_age_bonus:(0,_.fromNullable)(e.max_neuron_age_for_age_bonus),initial_voting_period_seconds:(0,_.fromNullable)(e.initial_voting_period_seconds),neuron_minimum_dissolve_delay_to_vote_seconds:(0,_.fromNullable)(e.neuron_minimum_dissolve_delay_to_vote_seconds),reject_cost_e8s:(0,_.fromNullable)(e.reject_cost_e8s),max_proposals_to_keep_per_action:(0,_.fromNullable)(e.max_proposals_to_keep_per_action),wait_for_quiet_deadline_increase_seconds:(0,_.fromNullable)(e.wait_for_quiet_deadline_increase_seconds),max_number_of_neurons:(0,_.fromNullable)(e.max_number_of_neurons),transaction_fee_e8s:(0,_.fromNullable)(e.transaction_fee_e8s),max_number_of_proposals_with_ballots:(0,_.fromNullable)(e.max_number_of_proposals_with_ballots),max_age_bonus_percentage:(0,_.fromNullable)(e.max_age_bonus_percentage),neuron_grantable_permissions:(0,_.fromNullable)(e.neuron_grantable_permissions),voting_rewards_parameters:Ao((0,_.fromNullable)(e.voting_rewards_parameters)),max_number_of_principals_per_neuron:(0,_.fromNullable)(e.max_number_of_principals_per_neuron),automatically_advance_target_version:(0,_.fromNullable)(e.automatically_advance_target_version)}),Uo=e=>({chunked_canister_wasm:Zs((0,_.fromNullable)(e.chunked_canister_wasm)),extension_init:(0,_.fromNullable)(e.extension_init)});var Is=(r=>(r[r.NEURON_PERMISSION_TYPE_UNSPECIFIED=0]="NEURON_PERMISSION_TYPE_UNSPECIFIED",r[r.NEURON_PERMISSION_TYPE_CONFIGURE_DISSOLVE_STATE=1]="NEURON_PERMISSION_TYPE_CONFIGURE_DISSOLVE_STATE",r[r.NEURON_PERMISSION_TYPE_MANAGE_PRINCIPALS=2]="NEURON_PERMISSION_TYPE_MANAGE_PRINCIPALS",r[r.NEURON_PERMISSION_TYPE_SUBMIT_PROPOSAL=3]="NEURON_PERMISSION_TYPE_SUBMIT_PROPOSAL",r[r.NEURON_PERMISSION_TYPE_VOTE=4]="NEURON_PERMISSION_TYPE_VOTE",r[r.NEURON_PERMISSION_TYPE_DISBURSE=5]="NEURON_PERMISSION_TYPE_DISBURSE",r[r.NEURON_PERMISSION_TYPE_SPLIT=6]="NEURON_PERMISSION_TYPE_SPLIT",r[r.NEURON_PERMISSION_TYPE_MERGE_MATURITY=7]="NEURON_PERMISSION_TYPE_MERGE_MATURITY",r[r.NEURON_PERMISSION_TYPE_DISBURSE_MATURITY=8]="NEURON_PERMISSION_TYPE_DISBURSE_MATURITY",r[r.NEURON_PERMISSION_TYPE_STAKE_MATURITY=9]="NEURON_PERMISSION_TYPE_STAKE_MATURITY",r[r.NEURON_PERMISSION_TYPE_MANAGE_VOTING_PERMISSION=10]="NEURON_PERMISSION_TYPE_MANAGE_VOTING_PERMISSION",r))(Is||{}),Ds=(n=>(n[n.PROPOSAL_REWARD_STATUS_UNSPECIFIED=0]="PROPOSAL_REWARD_STATUS_UNSPECIFIED",n[n.PROPOSAL_REWARD_STATUS_ACCEPT_VOTES=1]="PROPOSAL_REWARD_STATUS_ACCEPT_VOTES",n[n.PROPOSAL_REWARD_STATUS_READY_TO_SETTLE=2]="PROPOSAL_REWARD_STATUS_READY_TO_SETTLE",n[n.PROPOSAL_REWARD_STATUS_SETTLED=3]="PROPOSAL_REWARD_STATUS_SETTLED",n))(Ds||{}),Ls=(a=>(a[a.PROPOSAL_DECISION_STATUS_UNSPECIFIED=0]="PROPOSAL_DECISION_STATUS_UNSPECIFIED",a[a.PROPOSAL_DECISION_STATUS_OPEN=1]="PROPOSAL_DECISION_STATUS_OPEN",a[a.PROPOSAL_DECISION_STATUS_REJECTED=2]="PROPOSAL_DECISION_STATUS_REJECTED",a[a.PROPOSAL_DECISION_STATUS_ADOPTED=3]="PROPOSAL_DECISION_STATUS_ADOPTED",a[a.PROPOSAL_DECISION_STATUS_EXECUTED=4]="PROPOSAL_DECISION_STATUS_EXECUTED",a[a.PROPOSAL_DECISION_STATUS_FAILED=5]="PROPOSAL_DECISION_STATUS_FAILED",a))(Ls||{}),eo=(s=>(s[s.Unspecified=0]="Unspecified",s[s.Yes=1]="Yes",s[s.No=2]="No",s))(eo||{});var to=(a=>(a[a.Unspecified=0]="Unspecified",a[a.Pending=1]="Pending",a[a.Open=2]="Open",a[a.Committed=3]="Committed",a[a.Aborted=4]="Aborted",a[a.Adopted=5]="Adopted",a))(to||{}),so=(s=>(s[s.TYPE_UNSPECIFIED=0]="TYPE_UNSPECIFIED",s[s.TYPE_SALE_NOT_OPEN=1]="TYPE_SALE_NOT_OPEN",s[s.TYPE_SALE_CLOSED=2]="TYPE_SALE_CLOSED",s))(so||{}),oo=(c=>(c[c.TYPE_UNSPECIFIED=0]="TYPE_UNSPECIFIED",c[c.TYPE_SALE_NOT_OPEN=1]="TYPE_SALE_NOT_OPEN",c[c.TYPE_SALE_CLOSED=2]="TYPE_SALE_CLOSED",c[c.TYPE_TICKET_EXISTS=3]="TYPE_TICKET_EXISTS",c[c.TYPE_INVALID_USER_AMOUNT=4]="TYPE_INVALID_USER_AMOUNT",c[c.TYPE_INVALID_SUBACCOUNT=5]="TYPE_INVALID_SUBACCOUNT",c[c.TYPE_INVALID_PRINCIPAL=6]="TYPE_INVALID_PRINCIPAL",c))(oo||{});var cs=class extends Error{constructor(o){super();this.methodName=o}};var P=class extends Error{};var ps=class extends Error{errorType;invalidUserAmount;existingTicket;constructor({errorType:t,invalidUserAmount:o,existingTicket:s}){super(),this.errorType=t,this.invalidUserAmount=o,this.existingTicket=s}},_s=class extends Error{constructor(o){super();this.errorType=o}};var b=require("@dfinity/utils");var no=({IDL:e})=>{let t=e.Rec(),o=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)}),s=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)}),n=e.Record({versions:e.Vec(s)}),i=e.Record({upgrade_steps:e.Opt(n),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}),c=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)}),u=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:c}),d=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(u)}),l=e.Record({subaccount:e.Vec(e.Nat8)}),r=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(l)}),N=e.Record({name:e.Opt(e.Text),original_amount_e8s:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64),account:e.Opt(r),ledger_canister_id:e.Opt(e.Principal),treasury:e.Int32,timestamp_seconds:e.Opt(e.Nat64)}),y=e.Record({governance_total_potential_voting_power:e.Opt(e.Nat64),timestamp_seconds:e.Opt(e.Nat64)}),F=e.Record({treasury_metrics:e.Vec(N),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,voting_power_metrics:e.Opt(y),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}),f=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),M=e.Record({old_target_version:e.Opt(s),new_target_version:e.Opt(s),is_advanced_automatically:e.Opt(e.Bool)}),O=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(n)}),k=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(s)})})),human_readable:e.Opt(e.Text)}),m=e.Record({id:e.Nat64}),A=e.Record({current_version:e.Opt(s),expected_version:e.Opt(s),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:m,BehindTargetVersion:e.Record({})}))}),E=e.Record({upgrade_steps:e.Opt(n)}),U=e.Record({human_readable:e.Opt(e.Text),old_target_version:e.Opt(s),new_target_version:e.Opt(s)}),G=e.Record({event:e.Opt(e.Variant({TargetVersionSet:M,UpgradeStepsReset:O,UpgradeOutcome:k,UpgradeStarted:A,UpgradeStepsRefreshed:E,TargetVersionReset:U})),timestamp_seconds:e.Opt(e.Nat64)}),v=e.Record({entries:e.Vec(G)}),p=e.Record({id:e.Vec(e.Nat8)}),x=e.Record({followees:e.Vec(p)}),B=e.Record({followees:e.Vec(e.Tuple(e.Nat64,x))}),R=e.Record({permissions:e.Vec(e.Int32)}),q=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)}),h=e.Record({default_followees:e.Opt(B),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(R),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(R),voting_rewards_parameters:e.Opt(q),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),S=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(m)}),z=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Opt(e.Nat64),target_version:e.Opt(s)}),g=e.Record({error_message:e.Text,error_type:e.Int32}),W=e.Record({human_readable:e.Opt(e.Text)}),ae=e.Record({e8s:e.Opt(e.Nat64)}),re=e.Record({xdrs_per_icp:e.Opt(W),icps_per_token:e.Opt(W),tokens:e.Opt(ae)}),ie=e.Record({token:e.Opt(e.Int32),account:e.Opt(r),valuation_factors:e.Opt(re),timestamp_seconds:e.Opt(e.Nat64)}),H=e.Record({valuation:e.Opt(ie)}),j=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))}),ce=e.Record({target_version:e.Opt(j)}),pe=e.Variant({TransferSnsTreasuryFunds:H,MintSnsTokens:H,AdvanceSnsTargetVersion:ce}),_e=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),Q=e.Record({basis_points:e.Opt(e.Nat64)}),L=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),J=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)});t.fill(e.Variant({Int:e.Int64,Map:e.Vec(e.Tuple(e.Text,t)),Nat:e.Nat64,Blob:e.Vec(e.Nat8),Bool:e.Bool,Text:e.Text,Array:e.Vec(t)}));let de=e.Record({value:e.Opt(t)}),ue=e.Record({extension_canister_id:e.Opt(e.Principal),operation_name:e.Opt(e.Text),operation_arg:e.Opt(de)}),V=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)}),ee=e.Variant({Chunked:V,Bytes:e.Vec(e.Nat8)}),le=e.Record({value:e.Opt(t)}),me=e.Record({extension_canister_id:e.Opt(e.Principal),wasm:e.Opt(ee),canister_upgrade_arg:e.Opt(le)}),Oe=e.Record({custom_function_id_to_topic:e.Vec(e.Tuple(e.Nat64,a))}),te=e.Record({value:e.Opt(t)}),Ne=e.Record({chunked_canister_wasm:e.Opt(V),extension_init:e.Opt(te)}),Re=e.Record({canister_ids:e.Vec(e.Principal)}),ge=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),se=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(V),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),oe=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ye=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),ne=e.Record({new_target:e.Opt(j)}),Y=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),fe=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),he=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)}),ve=e.Record({motion_text:e.Text}),xe=e.Variant({ManageNervousSystemParameters:h,AddGenericNervousSystemFunction:d,ManageDappCanisterSettings:J,ExecuteExtensionOperation:ue,UpgradeExtension:me,RemoveGenericNervousSystemFunction:e.Nat64,SetTopicsForCustomProposals:Oe,RegisterExtension:Ne,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:Re,TransferSnsTreasuryFunds:ge,UpgradeSnsControlledCanister:se,DeregisterDappCanisters:oe,MintSnsTokens:ye,AdvanceSnsTargetVersion:ne,Unspecified:e.Record({}),ManageSnsMetadata:Y,ExecuteGenericNervousSystemFunction:fe,ManageLedgerParameters:he,Motion:ve}),w=e.Record({url:e.Text,title:e.Text,action:e.Opt(xe),summary:e.Text}),Se=e.Record({current_deadline_timestamp_seconds:e.Nat64}),T=e.Record({id:e.Opt(m),payload_text_rendering:e.Opt(e.Text),topic:e.Opt(a),action:e.Nat64,failure_reason:e.Opt(g),action_auxiliary:e.Opt(pe),ballots:e.Vec(e.Tuple(e.Text,_e)),minimum_yes_proportion_of_total:e.Opt(Q),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(L),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(w),proposer:e.Opt(p),wait_for_quiet_state:e.Opt(Se),minimum_yes_proportion_of_exercised:e.Opt(Q),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),X=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),K=e.Record({function_id:e.Nat64,followees:e.Vec(p)}),$=e.Record({to_account:e.Opt(r),percentage_to_disburse:e.Nat32}),Ve=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),we=e.Record({additional_dissolve_delay_seconds:e.Nat32}),Te=e.Record({dissolve_timestamp_seconds:e.Nat64}),Pe=e.Variant({ChangeAutoStakeMaturity:Ve,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:we,SetDissolveTimestamp:Te}),Z=e.Record({operation:e.Opt(Pe)}),I=e.Record({vote:e.Int32,proposal:e.Opt(m)}),be=e.Record({alias:e.Opt(e.Text),neuron_id:e.Opt(p)}),Fe=e.Record({topic:e.Opt(a),followees:e.Vec(be)}),Ce=e.Record({topic_following:e.Vec(Fe)}),Ke=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(r)}),$e=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),Ze=e.Variant({MemoAndController:$e,NeuronId:e.Record({})}),Me=e.Record({by:e.Opt(Ze)}),ke=e.Record({permissions_to_remove:e.Opt(R),principal_id:e.Opt(e.Principal)}),Ae=e.Record({permissions_to_add:e.Opt(R),principal_id:e.Opt(e.Principal)}),Ee=e.Record({percentage_to_merge:e.Nat32}),Ie=e.Record({e8s:e.Nat64}),Ue=e.Record({to_account:e.Opt(r),amount:e.Opt(Ie)}),De=e.Variant({Split:X,Follow:K,DisburseMaturity:$,Configure:Z,RegisterVote:I,SetFollowing:Ce,SyncCommand:e.Record({}),MakeProposal:w,FinalizeDisburseMaturity:Ke,ClaimOrRefreshNeuron:Me,RemoveNeuronPermissions:ke,AddNeuronPermissions:Ae,MergeMaturity:Ee,Disburse:Ue}),Le=e.Record({command:e.Opt(De),timestamp:e.Nat64}),et=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),tt=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),st=e.Record({timestamp_of_disbursement_seconds:e.Nat64,amount_e8s:e.Nat64,account_to_disburse_to:e.Opt(r),finalize_disbursement_timestamp_seconds:e.Opt(e.Nat64)}),C=e.Record({id:e.Opt(p),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),permissions:e.Vec(et),maturity_e8s_equivalent:e.Nat64,cached_neuron_stake_e8s:e.Nat64,created_timestamp_seconds:e.Nat64,topic_followees:e.Opt(e.Record({topic_id_to_followees:e.Vec(e.Tuple(e.Int32,Fe))})),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(tt),voting_power_percentage_multiplier:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64),disburse_maturity_in_progress:e.Vec(st),followees:e.Vec(e.Tuple(e.Nat64,x)),neuron_fees_e8s:e.Nat64}),hs=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(o),cached_upgrade_steps:e.Opt(i),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,d)),metrics:e.Opt(F),maturity_modulation:e.Opt(f),upgrade_journal:e.Opt(v),mode:e.Int32,parameters:e.Opt(h),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(s),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(S),pending_version:e.Opt(z),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,T)),in_flight_commands:e.Vec(e.Tuple(e.Text,Le)),sns_metadata:e.Opt(Y),neurons:e.Vec(e.Tuple(e.Text,C)),target_version:e.Opt(s),genesis_timestamp_seconds:e.Nat64}),ot=e.Record({principals:e.Vec(e.Principal)}),nt=e.Record({nns_neuron_hotkeys:e.Opt(ot),nns_neuron_controller:e.Opt(e.Principal),nns_neuron_id:e.Opt(e.Nat64)}),at=e.Variant({NeuronsFund:nt,Direct:e.Record({})}),rt=e.Record({neuron_ids:e.Vec(p)}),it=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),participant:e.Opt(at),stake_e8s:e.Opt(e.Nat64),followees:e.Opt(rt),neuron_id:e.Opt(p)}),ct=e.Record({neuron_recipes:e.Vec(it)}),pt=e.Record({neuron_recipes:e.Opt(ct)}),_t=e.Record({id:e.Opt(p),status:e.Int32}),dt=e.Record({swap_neurons:e.Vec(_t)}),ut=e.Variant({Ok:dt,Err:e.Int32}),lt=e.Record({claim_swap_neurons_result:e.Opt(ut)}),mt=e.Record({maturity_modulation:e.Opt(f)}),Ot=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({time_window_seconds:e.Opt(e.Nat64)}),Nt=e.Record({treasury_metrics:e.Opt(e.Vec(N)),voting_power_metrics:e.Opt(y),last_ledger_block_timestamp:e.Opt(e.Nat64),num_recently_executed_proposals:e.Opt(e.Nat64),num_recently_submitted_proposals:e.Opt(e.Nat64),genesis_timestamp_seconds:e.Opt(e.Nat64)}),Rt=e.Variant({Ok:Nt,Err:g}),We=e.Record({get_metrics_result:e.Opt(Rt)}),He=e.Record({mode:e.Opt(e.Int32)}),gt=e.Record({neuron_id:e.Opt(p)}),yt=e.Variant({Error:g,Neuron:C}),je=e.Record({result:e.Opt(yt)}),Qe=e.Record({proposal_id:e.Opt(m)}),ft=e.Variant({Error:g,Proposal:T}),ht=e.Record({result:e.Opt(ft)}),vt=e.Record({wasm_binary_size:e.Opt(e.Nat),wasm_chunk_store_size:e.Opt(e.Nat),canister_history_size:e.Opt(e.Nat),stable_memory_size:e.Opt(e.Nat),snapshots_size:e.Opt(e.Nat),wasm_memory_size:e.Opt(e.Nat),global_memory_size:e.Opt(e.Nat),custom_sections_size:e.Opt(e.Nat)}),Je=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),xt=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}),St=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)}),Vt=e.Record({memory_metrics:e.Opt(vt),status:Je,memory_size:e.Nat,cycles:e.Nat,settings:xt,query_stats:e.Opt(St),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),wt=e.Record({deployed_version:e.Opt(s),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(s)}))}),Tt=e.Record({sns_initialization_parameters:e.Text}),Pt=e.Record({timers:e.Opt(o)}),bt=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat64)}),Ft=e.Record({upgrade_journal:e.Opt(v),upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),deployed_version:e.Opt(s),target_version:e.Opt(s),upgrade_journal_entry_count:e.Opt(e.Nat64)}),Ct=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(d)}),Mt=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(p)}),kt=e.Record({neurons:e.Vec(C)}),At=e.Record({topic:e.Opt(a)}),Et=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(m),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_topics:e.Opt(e.Vec(At)),include_status:e.Vec(e.Int32)}),Ut=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(T),include_topic_filtering:e.Opt(e.Bool)}),Gt=e.Record({}),Bt=e.Variant({TreasuryManagerWithdraw:e.Null,TreasuryManagerDeposit:e.Null}),qt=e.Variant({TreasuryManager:e.Null}),zt=e.Record({topic:e.Opt(a),operation_type:e.Opt(Bt),description:e.Opt(e.Text),extension_type:e.Opt(qt)}),Wt=e.Record({spec:e.Opt(zt),canister_id:e.Opt(e.Principal)}),Ht=e.Record({extension_operations:e.Opt(e.Vec(Wt)),native_functions:e.Opt(e.Vec(d)),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(d))}),jt=e.Record({uncategorized_functions:e.Opt(e.Vec(d)),topics:e.Opt(e.Vec(Ht))}),Qt=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),Jt=e.Variant({Split:X,Follow:K,DisburseMaturity:$,ClaimOrRefresh:Me,Configure:Z,RegisterVote:I,SetFollowing:Ce,MakeProposal:w,StakeMaturity:Qt,RemoveNeuronPermissions:ke,AddNeuronPermissions:Ae,MergeMaturity:Ee,Disburse:Ue}),Yt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(Jt)}),Xt=e.Record({created_neuron_id:e.Opt(p)}),Kt=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),$t=e.Record({refreshed_neuron_id:e.Opt(p)}),Zt=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),It=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),Dt=e.Record({transfer_block_height:e.Nat64}),Lt=e.Variant({Error:g,Split:Xt,Follow:e.Record({}),DisburseMaturity:Kt,ClaimOrRefresh:$t,Configure:e.Record({}),RegisterVote:e.Record({}),SetFollowing:e.Record({}),MakeProposal:Qe,RemoveNeuronPermission:e.Record({}),StakeMaturity:Zt,MergeMaturity:It,Disburse:Dt,AddNeuronPermission:e.Record({})}),es=e.Record({command:e.Opt(Lt)}),ts=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([pt],[lt],[]),fail_stuck_upgrade_in_progress:e.Func([e.Record({})],[e.Record({})],[]),get_build_metadata:e.Func([],[e.Text],[]),get_latest_reward_event:e.Func([],[S],[]),get_maturity_modulation:e.Func([e.Record({})],[mt],[]),get_metadata:e.Func([e.Record({})],[Ot],[]),get_metrics:e.Func([ze],[We],[]),get_metrics_replicated:e.Func([ze],[We],[]),get_mode:e.Func([e.Record({})],[He],[]),get_nervous_system_parameters:e.Func([e.Null],[h],[]),get_neuron:e.Func([gt],[je],[]),get_proposal:e.Func([Qe],[ht],[]),get_root_canister_status:e.Func([e.Null],[Vt],[]),get_running_sns_version:e.Func([e.Record({})],[wt],[]),get_sns_initialization_parameters:e.Func([e.Record({})],[Tt],[]),get_timers:e.Func([e.Record({})],[Pt],[]),get_upgrade_journal:e.Func([bt],[Ft],[]),list_nervous_system_functions:e.Func([],[Ct],[]),list_neurons:e.Func([Mt],[kt],[]),list_proposals:e.Func([Et],[Ut],[]),list_topics:e.Func([Gt],[jt],[]),manage_neuron:e.Func([Yt],[es],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([ts],[e.Record({})],[])})};var ao=({IDL:e})=>{let t=e.Rec(),o=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)}),s=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)}),n=e.Record({versions:e.Vec(s)}),i=e.Record({upgrade_steps:e.Opt(n),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}),c=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)}),u=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:c}),d=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(u)}),l=e.Record({subaccount:e.Vec(e.Nat8)}),r=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(l)}),N=e.Record({name:e.Opt(e.Text),original_amount_e8s:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64),account:e.Opt(r),ledger_canister_id:e.Opt(e.Principal),treasury:e.Int32,timestamp_seconds:e.Opt(e.Nat64)}),y=e.Record({governance_total_potential_voting_power:e.Opt(e.Nat64),timestamp_seconds:e.Opt(e.Nat64)}),F=e.Record({treasury_metrics:e.Vec(N),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,voting_power_metrics:e.Opt(y),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}),f=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),M=e.Record({old_target_version:e.Opt(s),new_target_version:e.Opt(s),is_advanced_automatically:e.Opt(e.Bool)}),O=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(n)}),k=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(s)})})),human_readable:e.Opt(e.Text)}),m=e.Record({id:e.Nat64}),A=e.Record({current_version:e.Opt(s),expected_version:e.Opt(s),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:m,BehindTargetVersion:e.Record({})}))}),E=e.Record({upgrade_steps:e.Opt(n)}),U=e.Record({human_readable:e.Opt(e.Text),old_target_version:e.Opt(s),new_target_version:e.Opt(s)}),G=e.Record({event:e.Opt(e.Variant({TargetVersionSet:M,UpgradeStepsReset:O,UpgradeOutcome:k,UpgradeStarted:A,UpgradeStepsRefreshed:E,TargetVersionReset:U})),timestamp_seconds:e.Opt(e.Nat64)}),v=e.Record({entries:e.Vec(G)}),p=e.Record({id:e.Vec(e.Nat8)}),x=e.Record({followees:e.Vec(p)}),B=e.Record({followees:e.Vec(e.Tuple(e.Nat64,x))}),R=e.Record({permissions:e.Vec(e.Int32)}),q=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)}),h=e.Record({default_followees:e.Opt(B),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(R),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(R),voting_rewards_parameters:e.Opt(q),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),S=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(m)}),z=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Opt(e.Nat64),target_version:e.Opt(s)}),g=e.Record({error_message:e.Text,error_type:e.Int32}),W=e.Record({human_readable:e.Opt(e.Text)}),ae=e.Record({e8s:e.Opt(e.Nat64)}),re=e.Record({xdrs_per_icp:e.Opt(W),icps_per_token:e.Opt(W),tokens:e.Opt(ae)}),ie=e.Record({token:e.Opt(e.Int32),account:e.Opt(r),valuation_factors:e.Opt(re),timestamp_seconds:e.Opt(e.Nat64)}),H=e.Record({valuation:e.Opt(ie)}),j=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))}),ce=e.Record({target_version:e.Opt(j)}),pe=e.Variant({TransferSnsTreasuryFunds:H,MintSnsTokens:H,AdvanceSnsTargetVersion:ce}),_e=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),Q=e.Record({basis_points:e.Opt(e.Nat64)}),L=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),J=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)});t.fill(e.Variant({Int:e.Int64,Map:e.Vec(e.Tuple(e.Text,t)),Nat:e.Nat64,Blob:e.Vec(e.Nat8),Bool:e.Bool,Text:e.Text,Array:e.Vec(t)}));let de=e.Record({value:e.Opt(t)}),ue=e.Record({extension_canister_id:e.Opt(e.Principal),operation_name:e.Opt(e.Text),operation_arg:e.Opt(de)}),V=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)}),ee=e.Variant({Chunked:V,Bytes:e.Vec(e.Nat8)}),le=e.Record({value:e.Opt(t)}),me=e.Record({extension_canister_id:e.Opt(e.Principal),wasm:e.Opt(ee),canister_upgrade_arg:e.Opt(le)}),Oe=e.Record({custom_function_id_to_topic:e.Vec(e.Tuple(e.Nat64,a))}),te=e.Record({value:e.Opt(t)}),Ne=e.Record({chunked_canister_wasm:e.Opt(V),extension_init:e.Opt(te)}),Re=e.Record({canister_ids:e.Vec(e.Principal)}),ge=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),se=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(V),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),oe=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ye=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),ne=e.Record({new_target:e.Opt(j)}),Y=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),fe=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),he=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)}),ve=e.Record({motion_text:e.Text}),xe=e.Variant({ManageNervousSystemParameters:h,AddGenericNervousSystemFunction:d,ManageDappCanisterSettings:J,ExecuteExtensionOperation:ue,UpgradeExtension:me,RemoveGenericNervousSystemFunction:e.Nat64,SetTopicsForCustomProposals:Oe,RegisterExtension:Ne,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:Re,TransferSnsTreasuryFunds:ge,UpgradeSnsControlledCanister:se,DeregisterDappCanisters:oe,MintSnsTokens:ye,AdvanceSnsTargetVersion:ne,Unspecified:e.Record({}),ManageSnsMetadata:Y,ExecuteGenericNervousSystemFunction:fe,ManageLedgerParameters:he,Motion:ve}),w=e.Record({url:e.Text,title:e.Text,action:e.Opt(xe),summary:e.Text}),Se=e.Record({current_deadline_timestamp_seconds:e.Nat64}),T=e.Record({id:e.Opt(m),payload_text_rendering:e.Opt(e.Text),topic:e.Opt(a),action:e.Nat64,failure_reason:e.Opt(g),action_auxiliary:e.Opt(pe),ballots:e.Vec(e.Tuple(e.Text,_e)),minimum_yes_proportion_of_total:e.Opt(Q),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(L),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(w),proposer:e.Opt(p),wait_for_quiet_state:e.Opt(Se),minimum_yes_proportion_of_exercised:e.Opt(Q),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),X=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),K=e.Record({function_id:e.Nat64,followees:e.Vec(p)}),$=e.Record({to_account:e.Opt(r),percentage_to_disburse:e.Nat32}),Ve=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),we=e.Record({additional_dissolve_delay_seconds:e.Nat32}),Te=e.Record({dissolve_timestamp_seconds:e.Nat64}),Pe=e.Variant({ChangeAutoStakeMaturity:Ve,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:we,SetDissolveTimestamp:Te}),Z=e.Record({operation:e.Opt(Pe)}),I=e.Record({vote:e.Int32,proposal:e.Opt(m)}),be=e.Record({alias:e.Opt(e.Text),neuron_id:e.Opt(p)}),Fe=e.Record({topic:e.Opt(a),followees:e.Vec(be)}),Ce=e.Record({topic_following:e.Vec(Fe)}),Ke=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(r)}),$e=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),Ze=e.Variant({MemoAndController:$e,NeuronId:e.Record({})}),Me=e.Record({by:e.Opt(Ze)}),ke=e.Record({permissions_to_remove:e.Opt(R),principal_id:e.Opt(e.Principal)}),Ae=e.Record({permissions_to_add:e.Opt(R),principal_id:e.Opt(e.Principal)}),Ee=e.Record({percentage_to_merge:e.Nat32}),Ie=e.Record({e8s:e.Nat64}),Ue=e.Record({to_account:e.Opt(r),amount:e.Opt(Ie)}),De=e.Variant({Split:X,Follow:K,DisburseMaturity:$,Configure:Z,RegisterVote:I,SetFollowing:Ce,SyncCommand:e.Record({}),MakeProposal:w,FinalizeDisburseMaturity:Ke,ClaimOrRefreshNeuron:Me,RemoveNeuronPermissions:ke,AddNeuronPermissions:Ae,MergeMaturity:Ee,Disburse:Ue}),Le=e.Record({command:e.Opt(De),timestamp:e.Nat64}),et=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),tt=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),st=e.Record({timestamp_of_disbursement_seconds:e.Nat64,amount_e8s:e.Nat64,account_to_disburse_to:e.Opt(r),finalize_disbursement_timestamp_seconds:e.Opt(e.Nat64)}),C=e.Record({id:e.Opt(p),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),permissions:e.Vec(et),maturity_e8s_equivalent:e.Nat64,cached_neuron_stake_e8s:e.Nat64,created_timestamp_seconds:e.Nat64,topic_followees:e.Opt(e.Record({topic_id_to_followees:e.Vec(e.Tuple(e.Int32,Fe))})),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(tt),voting_power_percentage_multiplier:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64),disburse_maturity_in_progress:e.Vec(st),followees:e.Vec(e.Tuple(e.Nat64,x)),neuron_fees_e8s:e.Nat64}),hs=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(o),cached_upgrade_steps:e.Opt(i),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,d)),metrics:e.Opt(F),maturity_modulation:e.Opt(f),upgrade_journal:e.Opt(v),mode:e.Int32,parameters:e.Opt(h),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(s),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(S),pending_version:e.Opt(z),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,T)),in_flight_commands:e.Vec(e.Tuple(e.Text,Le)),sns_metadata:e.Opt(Y),neurons:e.Vec(e.Tuple(e.Text,C)),target_version:e.Opt(s),genesis_timestamp_seconds:e.Nat64}),ot=e.Record({principals:e.Vec(e.Principal)}),nt=e.Record({nns_neuron_hotkeys:e.Opt(ot),nns_neuron_controller:e.Opt(e.Principal),nns_neuron_id:e.Opt(e.Nat64)}),at=e.Variant({NeuronsFund:nt,Direct:e.Record({})}),rt=e.Record({neuron_ids:e.Vec(p)}),it=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),participant:e.Opt(at),stake_e8s:e.Opt(e.Nat64),followees:e.Opt(rt),neuron_id:e.Opt(p)}),ct=e.Record({neuron_recipes:e.Vec(it)}),pt=e.Record({neuron_recipes:e.Opt(ct)}),_t=e.Record({id:e.Opt(p),status:e.Int32}),dt=e.Record({swap_neurons:e.Vec(_t)}),ut=e.Variant({Ok:dt,Err:e.Int32}),lt=e.Record({claim_swap_neurons_result:e.Opt(ut)}),mt=e.Record({maturity_modulation:e.Opt(f)}),Ot=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({time_window_seconds:e.Opt(e.Nat64)}),Nt=e.Record({treasury_metrics:e.Opt(e.Vec(N)),voting_power_metrics:e.Opt(y),last_ledger_block_timestamp:e.Opt(e.Nat64),num_recently_executed_proposals:e.Opt(e.Nat64),num_recently_submitted_proposals:e.Opt(e.Nat64),genesis_timestamp_seconds:e.Opt(e.Nat64)}),Rt=e.Variant({Ok:Nt,Err:g}),We=e.Record({get_metrics_result:e.Opt(Rt)}),He=e.Record({mode:e.Opt(e.Int32)}),gt=e.Record({neuron_id:e.Opt(p)}),yt=e.Variant({Error:g,Neuron:C}),je=e.Record({result:e.Opt(yt)}),Qe=e.Record({proposal_id:e.Opt(m)}),ft=e.Variant({Error:g,Proposal:T}),ht=e.Record({result:e.Opt(ft)}),vt=e.Record({wasm_binary_size:e.Opt(e.Nat),wasm_chunk_store_size:e.Opt(e.Nat),canister_history_size:e.Opt(e.Nat),stable_memory_size:e.Opt(e.Nat),snapshots_size:e.Opt(e.Nat),wasm_memory_size:e.Opt(e.Nat),global_memory_size:e.Opt(e.Nat),custom_sections_size:e.Opt(e.Nat)}),Je=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),xt=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}),St=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)}),Vt=e.Record({memory_metrics:e.Opt(vt),status:Je,memory_size:e.Nat,cycles:e.Nat,settings:xt,query_stats:e.Opt(St),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),wt=e.Record({deployed_version:e.Opt(s),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(s)}))}),Tt=e.Record({sns_initialization_parameters:e.Text}),Pt=e.Record({timers:e.Opt(o)}),bt=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat64)}),Ft=e.Record({upgrade_journal:e.Opt(v),upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),deployed_version:e.Opt(s),target_version:e.Opt(s),upgrade_journal_entry_count:e.Opt(e.Nat64)}),Ct=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(d)}),Mt=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(p)}),kt=e.Record({neurons:e.Vec(C)}),At=e.Record({topic:e.Opt(a)}),Et=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(m),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_topics:e.Opt(e.Vec(At)),include_status:e.Vec(e.Int32)}),Ut=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(T),include_topic_filtering:e.Opt(e.Bool)}),Gt=e.Record({}),Bt=e.Variant({TreasuryManagerWithdraw:e.Null,TreasuryManagerDeposit:e.Null}),qt=e.Variant({TreasuryManager:e.Null}),zt=e.Record({topic:e.Opt(a),operation_type:e.Opt(Bt),description:e.Opt(e.Text),extension_type:e.Opt(qt)}),Wt=e.Record({spec:e.Opt(zt),canister_id:e.Opt(e.Principal)}),Ht=e.Record({extension_operations:e.Opt(e.Vec(Wt)),native_functions:e.Opt(e.Vec(d)),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(d))}),jt=e.Record({uncategorized_functions:e.Opt(e.Vec(d)),topics:e.Opt(e.Vec(Ht))}),Qt=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),Jt=e.Variant({Split:X,Follow:K,DisburseMaturity:$,ClaimOrRefresh:Me,Configure:Z,RegisterVote:I,SetFollowing:Ce,MakeProposal:w,StakeMaturity:Qt,RemoveNeuronPermissions:ke,AddNeuronPermissions:Ae,MergeMaturity:Ee,Disburse:Ue}),Yt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(Jt)}),Xt=e.Record({created_neuron_id:e.Opt(p)}),Kt=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),$t=e.Record({refreshed_neuron_id:e.Opt(p)}),Zt=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),It=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),Dt=e.Record({transfer_block_height:e.Nat64}),Lt=e.Variant({Error:g,Split:Xt,Follow:e.Record({}),DisburseMaturity:Kt,ClaimOrRefresh:$t,Configure:e.Record({}),RegisterVote:e.Record({}),SetFollowing:e.Record({}),MakeProposal:Qe,RemoveNeuronPermission:e.Record({}),StakeMaturity:Zt,MergeMaturity:It,Disburse:Dt,AddNeuronPermission:e.Record({})}),es=e.Record({command:e.Opt(Lt)}),ts=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([pt],[lt],[]),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([],[S],["query"]),get_maturity_modulation:e.Func([e.Record({})],[mt],[]),get_metadata:e.Func([e.Record({})],[Ot],["query"]),get_metrics:e.Func([ze],[We],["composite_query"]),get_metrics_replicated:e.Func([ze],[We],[]),get_mode:e.Func([e.Record({})],[He],["query"]),get_nervous_system_parameters:e.Func([e.Null],[h],["query"]),get_neuron:e.Func([gt],[je],["query"]),get_proposal:e.Func([Qe],[ht],["query"]),get_root_canister_status:e.Func([e.Null],[Vt],[]),get_running_sns_version:e.Func([e.Record({})],[wt],["query"]),get_sns_initialization_parameters:e.Func([e.Record({})],[Tt],["query"]),get_timers:e.Func([e.Record({})],[Pt],["query"]),get_upgrade_journal:e.Func([bt],[Ft],["query"]),list_nervous_system_functions:e.Func([],[Ct],["query"]),list_neurons:e.Func([Mt],[kt],["query"]),list_proposals:e.Func([Et],[Ut],["query"]),list_topics:e.Func([Gt],[jt],["query"]),manage_neuron:e.Func([Yt],[es],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([ts],[e.Record({})],[])})};var os=class e extends b.Canister{static create(t){let{service:o,certifiedService:s,canisterId:n}=(0,b.createServices)({options:t,idlFactory:ao,certifiedIdlFactory:no});return new e(n,o,s)}listNeurons=async t=>{let{principal:o,limit:s,beforeNeuronId:n}=t,{neurons:i}=await this.caller(t).list_neurons({of_principal:(0,b.toNullable)(o),limit:s??100,start_page_at:(0,b.toNullable)(n)});return i};listProposals=async t=>{let{certified:o}=t;return await this.caller({certified:o}).list_proposals(Ks(t))};listTopics=async t=>{let{certified:o}=t;return await this.caller({certified:o}).list_topics({})};getProposal=async t=>{let{proposalId:o}=t,{result:s}=await this.caller(t).get_proposal({proposal_id:(0,b.toNullable)(o)}),n=(0,b.fromNullable)(s);if(n===void 0||"Error"in n)throw new P((n==null?void 0:n.Error.error_message)??"Response type not supported");return n.Proposal};listNervousSystemFunctions=t=>this.caller(t).list_nervous_system_functions();metadata=t=>this.caller(t).get_metadata({});nervousSystemParameters=t=>this.caller(t).get_nervous_system_parameters(null);getNeuron=async t=>{let{neuronId:o}=t,{result:s}=await this.caller(t).get_neuron({neuron_id:(0,b.toNullable)(o)}),n=(0,b.fromNullable)(s);if(n===void 0||"Error"in n)throw new P((n==null?void 0:n.Error.error_message)??"Response type not supported");return n.Neuron};queryNeuron=async t=>{try{return await this.getNeuron(t)}catch(o){if(o instanceof Error&&o.message.includes("No neuron for given NeuronId"))return;throw o}};manageNeuron=async t=>{let o=await this.caller({certified:!0}).manage_neuron(t);return this.assertManageNeuronError(o),o};addNeuronPermissions=async t=>{let o=As(t);await this.manageNeuron(o)};removeNeuro