@dfinity/sns
Version:
A library for interfacing with a Service Nervous System (SNS) project.
1 lines • 123 kB
JavaScript
"use strict";var Ns=Object.defineProperty;var _o=Object.getOwnPropertyDescriptor;var po=Object.getOwnPropertyNames;var uo=Object.prototype.hasOwnProperty;var lo=(e,t)=>{for(var o in t)Ns(e,o,{get:t[o],enumerable:!0})},mo=(e,t,o,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of po(t))!uo.call(e,n)&&n!==o&&Ns(e,n,{get:()=>t[n],enumerable:!(s=_o(t,n))||s.enumerable});return e};var No=e=>mo(Ns({},"__esModule",{value:!0}),e);var Mo={};lo(Mo,{GetOpenTicketErrorType:()=>Ys,NewSaleTicketResponseErrorType:()=>Hs,SnsGovernanceCanister:()=>$t,SnsGovernanceError:()=>T,SnsGovernanceTestCanister:()=>os,SnsNeuronPermissionType:()=>zs,SnsProposalDecisionStatus:()=>Ws,SnsProposalRewardStatus:()=>js,SnsRootCanister:()=>Xt,SnsSwapCanister:()=>Zt,SnsSwapGetOpenTicketError:()=>es,SnsSwapLifecycle:()=>Js,SnsSwapNewTicketError:()=>Lt,SnsVote:()=>Qs,SnsWrapper:()=>ss,UnsupportedMethodError:()=>Dt,fromCandidAction:()=>Us,initSnsWrapper:()=>ko,neuronSubaccount:()=>vs});module.exports=No(Mo);var p=require("@dfinity/utils");var Ht=({neuronId:{id:e},command:t})=>({subaccount:e,command:[t]}),It=({neuronId:e,operation:t})=>Ht({neuronId:e,command:{Configure:{operation:[t]}}}),Ss=({owner:e,subaccount:t})=>({owner:(0,p.toNullable)(e),subaccount:t===void 0?[]:(0,p.toNullable)({subaccount:t})}),hs=({neuronId:e,permissions:t,principal:o})=>Ht({neuronId:e,command:{AddNeuronPermissions:{permissions_to_add:[{permissions:Int32Array.from(t)}],principal_id:[o]}}}),ws=({neuronId:e,permissions:t,principal:o})=>Ht({neuronId:e,command:{RemoveNeuronPermissions:{permissions_to_remove:[{permissions:Int32Array.from(t)}],principal_id:[o]}}}),Vs=({neuronId:e,memo:t,amount:o})=>Ht({neuronId:e,command:{Split:{memo:t,amount_e8s:o}}}),Ts=({neuronId:e,amount:t,toAccount:o})=>Ht({neuronId:e,command:{Disburse:{to_account:o===void 0?[]:(0,p.toNullable)(Ss(o)),amount:t===void 0?[]:[{e8s:t}]}}}),Ps=e=>It({neuronId:e,operation:{StartDissolving:{}}}),xs=e=>It({neuronId:e,operation:{StopDissolving:{}}}),bs=({neuronId:e,percentageToStake:t})=>Ht({neuronId:e,command:{StakeMaturity:{percentage_to_stake:(0,p.toNullable)(t)}}}),Fs=({neuronId:e,percentageToDisburse:t,toAccount:o})=>Ht({neuronId:e,command:{DisburseMaturity:{to_account:o===void 0?[]:(0,p.toNullable)(Ss(o)),percentage_to_disburse:t}}}),Cs=({neuronId:e,autoStake:t})=>It({neuronId:e,operation:{ChangeAutoStakeMaturity:{requested_setting_for_auto_stake_maturity:t}}}),ks=({neuronId:e,dissolveTimestampSeconds:t})=>It({neuronId:e,operation:{SetDissolveTimestamp:{dissolve_timestamp_seconds:t}}}),Ms=({neuronId:e,additionalDissolveDelaySeconds:t})=>It({neuronId:e,operation:{IncreaseDissolveDelay:{additional_dissolve_delay_seconds:t}}}),As=({neuronId:e,functionId:t,followees:o})=>({subaccount:e.id,command:[{Follow:{function_id:t,followees:o}}]}),Es=({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,p.toNullable)(n),alias:(0,p.toNullable)(i)}))}))}}]}),Gs=({neuronId:e,proposalId:t,vote:o})=>({subaccount:e.id,command:[{RegisterVote:{vote:o,proposal:[t]}}]}),Os=({subaccount:e,memo:t,controller:o})=>({subaccount:e,command:[{ClaimOrRefresh:{by:[t===void 0?{NeuronId:{}}:{MemoAndController:{memo:t,controller:(0,p.toNullable)(o)}}]}}]}),qs=({excludeType:e,beforeProposal:t,includeRewardStatus:o,includeStatus:s,limit:n,includeTopics:i})=>({exclude_type:BigUint64Array.from(e??[]),before_proposal:(0,p.toNullable)(t),include_reward_status:Int32Array.from(o??[]),include_status:Int32Array.from(s??[]),limit:n??10,include_topics:(0,p.toNullable)((i==null?void 0:i.map(a=>({topic:(0,p.toNullable)(a)})))??[])}),Us=e=>{if("ManageNervousSystemParameters"in e)return{ManageNervousSystemParameters:wo(e.ManageNervousSystemParameters)};if("AddGenericNervousSystemFunction"in e)return{AddGenericNervousSystemFunction:So(e.AddGenericNervousSystemFunction)};if("SetTopicsForCustomProposals"in e)return{SetTopicsForCustomProposals:e.SetTopicsForCustomProposals};if("RegisterExtension"in e)return{RegisterExtension:Vo(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:yo(e.TransferSnsTreasuryFunds)};if("UpgradeSnsControlledCanister"in e)return{UpgradeSnsControlledCanister:go(e.UpgradeSnsControlledCanister)};if("DeregisterDappCanisters"in e)return{DeregisterDappCanisters:e.DeregisterDappCanisters};if("Unspecified"in e)return{Unspecified:e.Unspecified};if("ManageSnsMetadata"in e)return{ManageSnsMetadata:Ro(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)}`)},Ro=e=>({url:(0,p.fromNullable)(e.url),logo:(0,p.fromNullable)(e.logo),name:(0,p.fromNullable)(e.name),description:(0,p.fromNullable)(e.description)}),Bs=e=>{if(e!==void 0)return{wasm_module_hash:e.wasm_module_hash,store_canister_id:(0,p.fromNullable)(e.store_canister_id),chunk_hashes_list:e.chunk_hashes_list}},go=e=>({new_canister_wasm:e.new_canister_wasm,chunked_canister_wasm:Bs((0,p.fromNullable)(e.chunked_canister_wasm)),canister_id:(0,p.fromNullable)(e.canister_id),canister_upgrade_arg:(0,p.fromNullable)(e.canister_upgrade_arg),mode:(0,p.fromNullable)(e.mode)}),yo=e=>({from_treasury:e.from_treasury,to_principal:(0,p.fromNullable)(e.to_principal),to_subaccount:(0,p.fromNullable)(e.to_subaccount),memo:(0,p.fromNullable)(e.memo),amount_e8s:e.amount_e8s}),fo=e=>({validator_canister_id:(0,p.fromNullable)(e.validator_canister_id),target_canister_id:(0,p.fromNullable)(e.target_canister_id),validator_method_name:(0,p.fromNullable)(e.validator_method_name),target_method_name:(0,p.fromNullable)(e.target_method_name),topic:(0,p.fromNullable)(e.topic)}),vo=e=>{if(e!==void 0){if("NativeNervousSystemFunction"in e)return{NativeNervousSystemFunction:e.NativeNervousSystemFunction};if("GenericNervousSystemFunction"in e)return{GenericNervousSystemFunction:fo(e.GenericNervousSystemFunction)};throw new Error(`Unknown FunctionType ${JSON.stringify(e)}`)}},So=e=>({id:e.id,name:e.name,description:(0,p.fromNullable)(e.description),function_type:vo((0,p.fromNullable)(e.function_type))}),ho=e=>e&&{final_reward_rate_basis_points:(0,p.fromNullable)(e.final_reward_rate_basis_points),initial_reward_rate_basis_points:(0,p.fromNullable)(e.initial_reward_rate_basis_points),reward_rate_transition_duration_seconds:(0,p.fromNullable)(e.reward_rate_transition_duration_seconds),round_duration_seconds:(0,p.fromNullable)(e.round_duration_seconds)},wo=e=>({default_followees:(0,p.fromNullable)(e.default_followees),max_dissolve_delay_seconds:(0,p.fromNullable)(e.max_dissolve_delay_seconds),max_dissolve_delay_bonus_percentage:(0,p.fromNullable)(e.max_dissolve_delay_bonus_percentage),max_followees_per_function:(0,p.fromNullable)(e.max_followees_per_function),neuron_claimer_permissions:(0,p.fromNullable)(e.neuron_claimer_permissions),neuron_minimum_stake_e8s:(0,p.fromNullable)(e.neuron_minimum_stake_e8s),max_neuron_age_for_age_bonus:(0,p.fromNullable)(e.max_neuron_age_for_age_bonus),initial_voting_period_seconds:(0,p.fromNullable)(e.initial_voting_period_seconds),neuron_minimum_dissolve_delay_to_vote_seconds:(0,p.fromNullable)(e.neuron_minimum_dissolve_delay_to_vote_seconds),reject_cost_e8s:(0,p.fromNullable)(e.reject_cost_e8s),max_proposals_to_keep_per_action:(0,p.fromNullable)(e.max_proposals_to_keep_per_action),wait_for_quiet_deadline_increase_seconds:(0,p.fromNullable)(e.wait_for_quiet_deadline_increase_seconds),max_number_of_neurons:(0,p.fromNullable)(e.max_number_of_neurons),transaction_fee_e8s:(0,p.fromNullable)(e.transaction_fee_e8s),max_number_of_proposals_with_ballots:(0,p.fromNullable)(e.max_number_of_proposals_with_ballots),max_age_bonus_percentage:(0,p.fromNullable)(e.max_age_bonus_percentage),neuron_grantable_permissions:(0,p.fromNullable)(e.neuron_grantable_permissions),voting_rewards_parameters:ho((0,p.fromNullable)(e.voting_rewards_parameters)),max_number_of_principals_per_neuron:(0,p.fromNullable)(e.max_number_of_principals_per_neuron),automatically_advance_target_version:(0,p.fromNullable)(e.automatically_advance_target_version)}),Vo=e=>({chunked_canister_wasm:Bs((0,p.fromNullable)(e.chunked_canister_wasm)),extension_init:(0,p.fromNullable)(e.extension_init)});var zs=(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))(zs||{}),js=(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))(js||{}),Ws=(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))(Ws||{}),Qs=(s=>(s[s.Unspecified=0]="Unspecified",s[s.Yes=1]="Yes",s[s.No=2]="No",s))(Qs||{});var Js=(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))(Js||{}),Ys=(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))(Ys||{}),Hs=(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))(Hs||{});var Dt=class extends Error{constructor(o){super();this.methodName=o}};var T=class extends Error{};var Lt=class extends Error{errorType;invalidUserAmount;existingTicket;constructor({errorType:t,invalidUserAmount:o,existingTicket:s}){super(),this.errorType=t,this.invalidUserAmount=o,this.existingTicket=s}},es=class extends Error{constructor(o){super();this.errorType=o}};var P=require("@dfinity/utils");var $s=({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)}),O=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)}),x=e.Record({treasury_metrics:e.Vec(O),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}),m=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),A=e.Record({old_target_version:e.Opt(s),new_target_version:e.Opt(s),is_advanced_automatically:e.Opt(e.Bool)}),f=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(n)}),E=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)}),N=e.Record({id:e.Nat64}),G=e.Record({current_version:e.Opt(s),expected_version:e.Opt(s),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:N,BehindTargetVersion:e.Record({})}))}),q=e.Record({upgrade_steps:e.Opt(n)}),b=e.Record({human_readable:e.Opt(e.Text),old_target_version:e.Opt(s),new_target_version:e.Opt(s)}),U=e.Record({event:e.Opt(e.Variant({TargetVersionSet:A,UpgradeStepsReset:f,UpgradeOutcome:E,UpgradeStarted:G,UpgradeStepsRefreshed:q,TargetVersionReset:b})),timestamp_seconds:e.Opt(e.Nat64)}),v=e.Record({entries:e.Vec(U)}),_=e.Record({id:e.Vec(e.Nat8)}),S=e.Record({followees:e.Vec(_)}),oe=e.Record({followees:e.Vec(e.Tuple(e.Nat64,S))}),g=e.Record({permissions:e.Vec(e.Int32)}),ne=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(oe),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(g),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(g),voting_rewards_parameters:e.Opt(ne),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),F=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(N)}),B=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Opt(e.Nat64),target_version:e.Opt(s)}),R=e.Record({error_message:e.Text,error_type:e.Int32}),z=e.Record({human_readable:e.Opt(e.Text)}),ae=e.Record({e8s:e.Opt(e.Nat64)}),re=e.Record({xdrs_per_icp:e.Opt(z),icps_per_token:e.Opt(z),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)}),j=e.Record({valuation:e.Opt(ie)}),W=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(W)}),_e=e.Variant({TransferSnsTreasuryFunds:j,MintSnsTokens:j,AdvanceSnsTargetVersion:ce}),pe=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),C=e.Record({basis_points:e.Opt(e.Nat64)}),Q=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),de=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)}),ue=e.Record({custom_function_id_to_topic:e.Vec(e.Tuple(e.Nat64,a))}),J=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)});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 L=e.Record({value:e.Opt(t)}),le=e.Record({chunked_canister_wasm:e.Opt(J),extension_init:e.Opt(L)}),me=e.Record({canister_ids:e.Vec(e.Principal)}),Ne=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}),ee=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(J),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),Oe=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),Re=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),ge=e.Record({new_target:e.Opt(W)}),k=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),te=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:h,AddGenericNervousSystemFunction:d,ManageDappCanisterSettings:de,RemoveGenericNervousSystemFunction:e.Nat64,SetTopicsForCustomProposals:ue,RegisterExtension:le,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:me,TransferSnsTreasuryFunds:Ne,UpgradeSnsControlledCanister:ee,DeregisterDappCanisters:Oe,MintSnsTokens:Re,AdvanceSnsTargetVersion:ge,Unspecified:e.Record({}),ManageSnsMetadata:k,ExecuteGenericNervousSystemFunction:te,ManageLedgerParameters:ye,Motion:se}),w=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(N),payload_text_rendering:e.Opt(e.Text),topic:e.Opt(a),action:e.Nat64,failure_reason:e.Opt(R),action_auxiliary:e.Opt(_e),ballots:e.Vec(e.Tuple(e.Text,pe)),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(Q),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(w),proposer:e.Opt(_),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}),Y=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),H=e.Record({function_id:e.Nat64,followees:e.Vec(_)}),$=e.Record({to_account:e.Opt(r),percentage_to_disburse:e.Nat32}),Se=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),he=e.Record({additional_dissolve_delay_seconds:e.Nat32}),we=e.Record({dissolve_timestamp_seconds:e.Nat64}),Ve=e.Variant({ChangeAutoStakeMaturity:Se,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:he,SetDissolveTimestamp:we}),X=e.Record({operation:e.Opt(Ve)}),K=e.Record({vote:e.Int32,proposal:e.Opt(N)}),Te=e.Record({alias:e.Opt(e.Text),neuron_id:e.Opt(_)}),Z=e.Record({topic:e.Opt(a),followees:e.Vec(Te)}),I=e.Record({topic_following:e.Vec(Z)}),Pe=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(r)}),xe=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),Ye=e.Variant({MemoAndController:xe,NeuronId:e.Record({})}),be=e.Record({by:e.Opt(Ye)}),Fe=e.Record({permissions_to_remove:e.Opt(g),principal_id:e.Opt(e.Principal)}),Ce=e.Record({permissions_to_add:e.Opt(g),principal_id:e.Opt(e.Principal)}),ke=e.Record({percentage_to_merge:e.Nat32}),He=e.Record({e8s:e.Nat64}),Me=e.Record({to_account:e.Opt(r),amount:e.Opt(He)}),$e=e.Variant({Split:Y,Follow:H,DisburseMaturity:$,Configure:X,RegisterVote:K,SetFollowing:I,SyncCommand:e.Record({}),MakeProposal:w,FinalizeDisburseMaturity:Pe,ClaimOrRefreshNeuron:be,RemoveNeuronPermissions:Fe,AddNeuronPermissions:Ce,MergeMaturity:ke,Disburse:Me}),Xe=e.Record({command:e.Opt($e),timestamp:e.Nat64}),Ke=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),Ze=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),Ie=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)}),M=e.Record({id:e.Opt(_),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),permissions:e.Vec(Ke),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,Z))})),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(Ze),voting_power_percentage_multiplier:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64),disburse_maturity_in_progress:e.Vec(Ie),followees:e.Vec(e.Tuple(e.Nat64,S)),neuron_fees_e8s:e.Nat64}),_s=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(x),maturity_modulation:e.Opt(m),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(F),pending_version:e.Opt(B),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,Xe)),sns_metadata:e.Opt(k),neurons:e.Vec(e.Tuple(e.Text,M)),target_version:e.Opt(s),genesis_timestamp_seconds:e.Nat64}),De=e.Record({principals:e.Vec(e.Principal)}),Le=e.Record({nns_neuron_hotkeys:e.Opt(De),nns_neuron_controller:e.Opt(e.Principal),nns_neuron_id:e.Opt(e.Nat64)}),et=e.Variant({NeuronsFund:Le,Direct:e.Record({})}),tt=e.Record({neuron_ids:e.Vec(_)}),st=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),participant:e.Opt(et),stake_e8s:e.Opt(e.Nat64),followees:e.Opt(tt),neuron_id:e.Opt(_)}),ot=e.Record({neuron_recipes:e.Vec(st)}),nt=e.Record({neuron_recipes:e.Opt(ot)}),at=e.Record({id:e.Opt(_),status:e.Int32}),rt=e.Record({swap_neurons:e.Vec(at)}),it=e.Variant({Ok:rt,Err:e.Int32}),ct=e.Record({claim_swap_neurons_result:e.Opt(it)}),_t=e.Record({maturity_modulation:e.Opt(m)}),pt=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),qe=e.Record({time_window_seconds:e.Opt(e.Nat64)}),dt=e.Record({treasury_metrics:e.Opt(e.Vec(O)),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)}),ut=e.Variant({Ok:dt,Err:R}),Ue=e.Record({get_metrics_result:e.Opt(ut)}),Be=e.Record({mode:e.Opt(e.Int32)}),lt=e.Record({neuron_id:e.Opt(_)}),mt=e.Variant({Error:R,Neuron:M}),ze=e.Record({result:e.Opt(mt)}),je=e.Record({proposal_id:e.Opt(N)}),Nt=e.Variant({Error:R,Proposal:V}),Ot=e.Record({result:e.Opt(Nt)}),Rt=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),We=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}),gt=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)}),yt=e.Record({status:Rt,memory_size:e.Nat,cycles:e.Nat,settings:We,query_stats:e.Opt(gt),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),ft=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)}))}),vt=e.Record({sns_initialization_parameters:e.Text}),St=e.Record({timers:e.Opt(o)}),ht=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat64)}),wt=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)}),Vt=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(d)}),Tt=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(_)}),Pt=e.Record({neurons:e.Vec(M)}),xt=e.Record({topic:e.Opt(a)}),bt=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(N),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_topics:e.Opt(e.Vec(xt)),include_status:e.Vec(e.Int32)}),Ft=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(V),include_topic_filtering:e.Opt(e.Bool)}),Ct=e.Record({}),kt=e.Record({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))}),Mt=e.Record({uncategorized_functions:e.Opt(e.Vec(d)),topics:e.Opt(e.Vec(kt))}),At=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),Et=e.Variant({Split:Y,Follow:H,DisburseMaturity:$,ClaimOrRefresh:be,Configure:X,RegisterVote:K,SetFollowing:I,MakeProposal:w,StakeMaturity:At,RemoveNeuronPermissions:Fe,AddNeuronPermissions:Ce,MergeMaturity:ke,Disburse:Me}),Gt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(Et)}),qt=e.Record({created_neuron_id:e.Opt(_)}),Ut=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),Bt=e.Record({refreshed_neuron_id:e.Opt(_)}),zt=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),jt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),Wt=e.Record({transfer_block_height:e.Nat64}),Qt=e.Variant({Error:R,Split:qt,Follow:e.Record({}),DisburseMaturity:Ut,ClaimOrRefresh:Bt,Configure:e.Record({}),RegisterVote:e.Record({}),SetFollowing:e.Record({}),MakeProposal:je,RemoveNeuronPermission:e.Record({}),StakeMaturity:zt,MergeMaturity:jt,Disburse:Wt,AddNeuronPermission:e.Record({})}),Jt=e.Record({command:e.Opt(Qt)}),Yt=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([nt],[ct],[]),fail_stuck_upgrade_in_progress:e.Func([e.Record({})],[e.Record({})],[]),get_build_metadata:e.Func([],[e.Text],[]),get_latest_reward_event:e.Func([],[F],[]),get_maturity_modulation:e.Func([e.Record({})],[_t],[]),get_metadata:e.Func([e.Record({})],[pt],[]),get_metrics:e.Func([qe],[Ue],[]),get_metrics_replicated:e.Func([qe],[Ue],[]),get_mode:e.Func([e.Record({})],[Be],[]),get_nervous_system_parameters:e.Func([e.Null],[h],[]),get_neuron:e.Func([lt],[ze],[]),get_proposal:e.Func([je],[Ot],[]),get_root_canister_status:e.Func([e.Null],[yt],[]),get_running_sns_version:e.Func([e.Record({})],[ft],[]),get_sns_initialization_parameters:e.Func([e.Record({})],[vt],[]),get_timers:e.Func([e.Record({})],[St],[]),get_upgrade_journal:e.Func([ht],[wt],[]),list_nervous_system_functions:e.Func([],[Vt],[]),list_neurons:e.Func([Tt],[Pt],[]),list_proposals:e.Func([bt],[Ft],[]),list_topics:e.Func([Ct],[Mt],[]),manage_neuron:e.Func([Gt],[Jt],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([Yt],[e.Record({})],[])})};var Xs=({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)}),O=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)}),x=e.Record({treasury_metrics:e.Vec(O),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}),m=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),A=e.Record({old_target_version:e.Opt(s),new_target_version:e.Opt(s),is_advanced_automatically:e.Opt(e.Bool)}),f=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(n)}),E=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)}),N=e.Record({id:e.Nat64}),G=e.Record({current_version:e.Opt(s),expected_version:e.Opt(s),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:N,BehindTargetVersion:e.Record({})}))}),q=e.Record({upgrade_steps:e.Opt(n)}),b=e.Record({human_readable:e.Opt(e.Text),old_target_version:e.Opt(s),new_target_version:e.Opt(s)}),U=e.Record({event:e.Opt(e.Variant({TargetVersionSet:A,UpgradeStepsReset:f,UpgradeOutcome:E,UpgradeStarted:G,UpgradeStepsRefreshed:q,TargetVersionReset:b})),timestamp_seconds:e.Opt(e.Nat64)}),v=e.Record({entries:e.Vec(U)}),_=e.Record({id:e.Vec(e.Nat8)}),S=e.Record({followees:e.Vec(_)}),oe=e.Record({followees:e.Vec(e.Tuple(e.Nat64,S))}),g=e.Record({permissions:e.Vec(e.Int32)}),ne=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(oe),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(g),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(g),voting_rewards_parameters:e.Opt(ne),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),F=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(N)}),B=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Opt(e.Nat64),target_version:e.Opt(s)}),R=e.Record({error_message:e.Text,error_type:e.Int32}),z=e.Record({human_readable:e.Opt(e.Text)}),ae=e.Record({e8s:e.Opt(e.Nat64)}),re=e.Record({xdrs_per_icp:e.Opt(z),icps_per_token:e.Opt(z),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)}),j=e.Record({valuation:e.Opt(ie)}),W=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(W)}),_e=e.Variant({TransferSnsTreasuryFunds:j,MintSnsTokens:j,AdvanceSnsTargetVersion:ce}),pe=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),C=e.Record({basis_points:e.Opt(e.Nat64)}),Q=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),de=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)}),ue=e.Record({custom_function_id_to_topic:e.Vec(e.Tuple(e.Nat64,a))}),J=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)});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 L=e.Record({value:e.Opt(t)}),le=e.Record({chunked_canister_wasm:e.Opt(J),extension_init:e.Opt(L)}),me=e.Record({canister_ids:e.Vec(e.Principal)}),Ne=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}),ee=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(J),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),Oe=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),Re=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),ge=e.Record({new_target:e.Opt(W)}),k=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),te=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:h,AddGenericNervousSystemFunction:d,ManageDappCanisterSettings:de,RemoveGenericNervousSystemFunction:e.Nat64,SetTopicsForCustomProposals:ue,RegisterExtension:le,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:me,TransferSnsTreasuryFunds:Ne,UpgradeSnsControlledCanister:ee,DeregisterDappCanisters:Oe,MintSnsTokens:Re,AdvanceSnsTargetVersion:ge,Unspecified:e.Record({}),ManageSnsMetadata:k,ExecuteGenericNervousSystemFunction:te,ManageLedgerParameters:ye,Motion:se}),w=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(N),payload_text_rendering:e.Opt(e.Text),topic:e.Opt(a),action:e.Nat64,failure_reason:e.Opt(R),action_auxiliary:e.Opt(_e),ballots:e.Vec(e.Tuple(e.Text,pe)),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(Q),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(w),proposer:e.Opt(_),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}),Y=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),H=e.Record({function_id:e.Nat64,followees:e.Vec(_)}),$=e.Record({to_account:e.Opt(r),percentage_to_disburse:e.Nat32}),Se=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),he=e.Record({additional_dissolve_delay_seconds:e.Nat32}),we=e.Record({dissolve_timestamp_seconds:e.Nat64}),Ve=e.Variant({ChangeAutoStakeMaturity:Se,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:he,SetDissolveTimestamp:we}),X=e.Record({operation:e.Opt(Ve)}),K=e.Record({vote:e.Int32,proposal:e.Opt(N)}),Te=e.Record({alias:e.Opt(e.Text),neuron_id:e.Opt(_)}),Z=e.Record({topic:e.Opt(a),followees:e.Vec(Te)}),I=e.Record({topic_following:e.Vec(Z)}),Pe=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(r)}),xe=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),Ye=e.Variant({MemoAndController:xe,NeuronId:e.Record({})}),be=e.Record({by:e.Opt(Ye)}),Fe=e.Record({permissions_to_remove:e.Opt(g),principal_id:e.Opt(e.Principal)}),Ce=e.Record({permissions_to_add:e.Opt(g),principal_id:e.Opt(e.Principal)}),ke=e.Record({percentage_to_merge:e.Nat32}),He=e.Record({e8s:e.Nat64}),Me=e.Record({to_account:e.Opt(r),amount:e.Opt(He)}),$e=e.Variant({Split:Y,Follow:H,DisburseMaturity:$,Configure:X,RegisterVote:K,SetFollowing:I,SyncCommand:e.Record({}),MakeProposal:w,FinalizeDisburseMaturity:Pe,ClaimOrRefreshNeuron:be,RemoveNeuronPermissions:Fe,AddNeuronPermissions:Ce,MergeMaturity:ke,Disburse:Me}),Xe=e.Record({command:e.Opt($e),timestamp:e.Nat64}),Ke=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),Ze=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),Ie=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)}),M=e.Record({id:e.Opt(_),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),permissions:e.Vec(Ke),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,Z))})),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(Ze),voting_power_percentage_multiplier:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64),disburse_maturity_in_progress:e.Vec(Ie),followees:e.Vec(e.Tuple(e.Nat64,S)),neuron_fees_e8s:e.Nat64}),_s=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(x),maturity_modulation:e.Opt(m),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(F),pending_version:e.Opt(B),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,Xe)),sns_metadata:e.Opt(k),neurons:e.Vec(e.Tuple(e.Text,M)),target_version:e.Opt(s),genesis_timestamp_seconds:e.Nat64}),De=e.Record({principals:e.Vec(e.Principal)}),Le=e.Record({nns_neuron_hotkeys:e.Opt(De),nns_neuron_controller:e.Opt(e.Principal),nns_neuron_id:e.Opt(e.Nat64)}),et=e.Variant({NeuronsFund:Le,Direct:e.Record({})}),tt=e.Record({neuron_ids:e.Vec(_)}),st=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),participant:e.Opt(et),stake_e8s:e.Opt(e.Nat64),followees:e.Opt(tt),neuron_id:e.Opt(_)}),ot=e.Record({neuron_recipes:e.Vec(st)}),nt=e.Record({neuron_recipes:e.Opt(ot)}),at=e.Record({id:e.Opt(_),status:e.Int32}),rt=e.Record({swap_neurons:e.Vec(at)}),it=e.Variant({Ok:rt,Err:e.Int32}),ct=e.Record({claim_swap_neurons_result:e.Opt(it)}),_t=e.Record({maturity_modulation:e.Opt(m)}),pt=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),qe=e.Record({time_window_seconds:e.Opt(e.Nat64)}),dt=e.Record({treasury_metrics:e.Opt(e.Vec(O)),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)}),ut=e.Variant({Ok:dt,Err:R}),Ue=e.Record({get_metrics_result:e.Opt(ut)}),Be=e.Record({mode:e.Opt(e.Int32)}),lt=e.Record({neuron_id:e.Opt(_)}),mt=e.Variant({Error:R,Neuron:M}),ze=e.Record({result:e.Opt(mt)}),je=e.Record({proposal_id:e.Opt(N)}),Nt=e.Variant({Error:R,Proposal:V}),Ot=e.Record({result:e.Opt(Nt)}),Rt=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),We=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}),gt=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)}),yt=e.Record({status:Rt,memory_size:e.Nat,cycles:e.Nat,settings:We,query_stats:e.Opt(gt),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),ft=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)}))}),vt=e.Record({sns_initialization_parameters:e.Text}),St=e.Record({timers:e.Opt(o)}),ht=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat64)}),wt=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)}),Vt=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(d)}),Tt=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(_)}),Pt=e.Record({neurons:e.Vec(M)}),xt=e.Record({topic:e.Opt(a)}),bt=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(N),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_topics:e.Opt(e.Vec(xt)),include_status:e.Vec(e.Int32)}),Ft=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(V),include_topic_filtering:e.Opt(e.Bool)}),Ct=e.Record({}),kt=e.Record({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))}),Mt=e.Record({uncategorized_functions:e.Opt(e.Vec(d)),topics:e.Opt(e.Vec(kt))}),At=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),Et=e.Variant({Split:Y,Follow:H,DisburseMaturity:$,ClaimOrRefresh:be,Configure:X,RegisterVote:K,SetFollowing:I,MakeProposal:w,StakeMaturity:At,RemoveNeuronPermissions:Fe,AddNeuronPermissions:Ce,MergeMaturity:ke,Disburse:Me}),Gt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(Et)}),qt=e.Record({created_neuron_id:e.Opt(_)}),Ut=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),Bt=e.Record({refreshed_neuron_id:e.Opt(_)}),zt=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),jt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),Wt=e.Record({transfer_block_height:e.Nat64}),Qt=e.Variant({Error:R,Split:qt,Follow:e.Record({}),DisburseMaturity:Ut,ClaimOrRefresh:Bt,Configure:e.Record({}),RegisterVote:e.Record({}),SetFollowing:e.Record({}),MakeProposal:je,RemoveNeuronPermission:e.Record({}),StakeMaturity:zt,MergeMaturity:jt,Disburse:Wt,AddNeuronPermission:e.Record({})}),Jt=e.Record({command:e.Opt(Qt)}),Yt=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([nt],[ct],[]),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([],[F],["query"]),get_maturity_modulation:e.Func([e.Record({})],[_t],[]),get_metadata:e.Func([e.Record({})],[pt],["query"]),get_metrics:e.Func([qe],[Ue],["composite_query"]),get_metrics_replicated:e.Func([qe],[Ue],[]),get_mode:e.Func([e.Record({})],[Be],["query"]),get_nervous_system_parameters:e.Func([e.Null],[h],["query"]),get_neuron:e.Func([lt],[ze],["query"]),get_proposal:e.Func([je],[Ot],["query"]),get_root_canister_status:e.Func([e.Null],[yt],[]),get_running_sns_version:e.Func([e.Record({})],[ft],["query"]),get_sns_initialization_parameters:e.Func([e.Record({})],[vt],["query"]),get_timers:e.Func([e.Record({})],[St],["query"]),get_upgrade_journal:e.Func([ht],[wt],["query"]),list_nervous_system_functions:e.Func([],[Vt],["query"]),list_neurons:e.Func([Tt],[Pt],["query"]),list_proposals:e.Func([bt],[Ft],["query"]),list_topics:e.Func([Ct],[Mt],["query"]),manage_neuron:e.Func([Gt],[Jt],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([Yt],[e.Record({})],[])})};var $t=class e extends P.Canister{static create(t){let{service:o,certifiedService:s,canisterId:n}=(0,P.createServices)({options:t,idlFactory:Xs,certifiedIdlFactory:$s});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,P.toNullable)(o),limit:s??100,start_page_at:(0,P.toNullable)(n)});return i};listProposals=async t=>{let{certified:o}=t;return await this.caller({certified:o}).list_proposals(qs(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,P.toNullable)(o)}),n=(0,P.fromNullable)(s);if(n===void 0||"Error"in n)throw new T((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,P.toNullable)(o)}),n=(0,P.fromNullable)(s);if(n===void 0||"Error"in n)throw new T((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=hs(t);await this.manageNeuron(o)};removeNeuronPermissions=async t=>{let o=ws(t);await this.manageNeuron(o)};splitNeuron=async t=>{let o=Vs(t),{command:s}=await this.manageNeuron(o),n=(0,P.fromNullable)(s),i=a=>`Split neuron failed (${a})`;if(n===void 0)throw new T(i("no response"));if("Split"in n){let a=n.Split,c=(0,P.fromNullable)(a.created_neuron_id);if(c!==void 0)return c;throw new T(i("no id"))}throw new T(i("unknown"))};disburse=async t=>{let o=Ts(t);await this.manageNeuron(o)};startDissolving=async t=>{let o=Ps(t);await this.manageNeuron(o)};stopDissolving=async t=>{let o=xs(t);await this.manageNeuron(o)};stakeMaturity=async({neuronId:t,percentageToStake:o})=>{(0,P.assertPercentageNumber)(o??100);let s=bs({neuronId:t,percentageToStake:o});await this.manageNeuron(s)};disburseMaturity=async t=>{(0,P.assertPercentageNumber)(t.percentageToDisburse);let o=Fs(t);await this.manageNeuron(o)};autoStakeMaturity=async t=>{let o=Cs(t);await this.manageNeuron(o)};setDissolveTimestamp=async t=>{let o=ks(t);await this.manageNeuron(o)};increaseDissolveDelay=async t=>{let o=Ms(t);await this.manageNeuron(o)};setTopicFollowees=async t=>{let o=As(t);await this.manageNeuron(o)};setFollowing=async t=>{let o=Es(t);await this.manageNeuron(o)};registerVote=async t=>{let o=Gs(t);await this.manageNeuron(o)};refreshNeuron=async t=>{let o=Os({subaccount:t.id});await this.manageNeuron(o)};claimNeuron=async({memo:t,controller:o,subaccount:s})=>{let n=Os({subaccount:s,memo:t,controller:o}),{command:i}=await this.manageNeuron(n),a=(0,P.fromNullable)(i);if(a===void 0)throw new T("Claim neuron failed");if("ClaimOrRefresh"in a){let c=(0,P.fromNullable)(a.ClaimOrRefresh.refreshed_neuron_id);if(c===void 0)throw new T("Claim neuron failed");return c}throw new T("Claim neuron failed")};assertManageNeuronError=({command:t})=>{let[o]=t;if(o!==void 0&&"Error"in o)throw new T(o.Error.error_message)}};var Ae=require("@dfinity/utils");var Ks=({IDL:e})=>{let t=e.Rec(),o=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Na