UNPKG

@dfinity/sns

Version:

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

1 lines • 119 kB
"use strict";var as=Object.defineProperty;var Ds=Object.getOwnPropertyDescriptor;var Ls=Object.getOwnPropertyNames;var eo=Object.prototype.hasOwnProperty;var to=(e,s)=>{for(var t in s)as(e,t,{get:s[t],enumerable:!0})},so=(e,s,t,o)=>{if(s&&typeof s=="object"||typeof s=="function")for(let n of Ls(s))!eo.call(e,n)&&n!==t&&as(e,n,{get:()=>s[n],enumerable:!(o=Ds(s,n))||o.enumerable});return e};var oo=e=>so(as({},"__esModule",{value:!0}),e);var So={};to(So,{GetOpenTicketErrorType:()=>As,NewSaleTicketResponseErrorType:()=>qs,SnsGovernanceCanister:()=>Ut,SnsGovernanceError:()=>b,SnsGovernanceTestCanister:()=>$t,SnsNeuronPermissionType:()=>bs,SnsProposalDecisionStatus:()=>Cs,SnsProposalRewardStatus:()=>Fs,SnsRootCanister:()=>Et,SnsSwapCanister:()=>zt,SnsSwapGetOpenTicketError:()=>Jt,SnsSwapLifecycle:()=>Ms,SnsSwapNewTicketError:()=>Qt,SnsVote:()=>ks,SnsWrapper:()=>Ht,UnsupportedMethodError:()=>Wt,fromCandidAction:()=>xs,initSnsWrapper:()=>vo,neuronSubaccount:()=>ds});module.exports=oo(So);var d=require("@dfinity/utils");var Gt=({neuronId:{id:e},command:s})=>({subaccount:e,command:[s]}),jt=({neuronId:e,operation:s})=>Gt({neuronId:e,command:{Configure:{operation:[s]}}}),us=({owner:e,subaccount:s})=>({owner:(0,d.toNullable)(e),subaccount:s===void 0?[]:(0,d.toNullable)({subaccount:s})}),ls=({neuronId:e,permissions:s,principal:t})=>Gt({neuronId:e,command:{AddNeuronPermissions:{permissions_to_add:[{permissions:Int32Array.from(s)}],principal_id:[t]}}}),ms=({neuronId:e,permissions:s,principal:t})=>Gt({neuronId:e,command:{RemoveNeuronPermissions:{permissions_to_remove:[{permissions:Int32Array.from(s)}],principal_id:[t]}}}),Ns=({neuronId:e,memo:s,amount:t})=>Gt({neuronId:e,command:{Split:{memo:s,amount_e8s:t}}}),Os=({neuronId:e,amount:s,toAccount:t})=>Gt({neuronId:e,command:{Disburse:{to_account:t===void 0?[]:(0,d.toNullable)(us(t)),amount:s===void 0?[]:[{e8s:s}]}}}),Rs=e=>jt({neuronId:e,operation:{StartDissolving:{}}}),gs=e=>jt({neuronId:e,operation:{StopDissolving:{}}}),ys=({neuronId:e,percentageToStake:s})=>Gt({neuronId:e,command:{StakeMaturity:{percentage_to_stake:(0,d.toNullable)(s)}}}),fs=({neuronId:e,percentageToDisburse:s,toAccount:t})=>Gt({neuronId:e,command:{DisburseMaturity:{to_account:t===void 0?[]:(0,d.toNullable)(us(t)),percentage_to_disburse:s}}}),vs=({neuronId:e,autoStake:s})=>jt({neuronId:e,operation:{ChangeAutoStakeMaturity:{requested_setting_for_auto_stake_maturity:s}}}),Ss=({neuronId:e,dissolveTimestampSeconds:s})=>jt({neuronId:e,operation:{SetDissolveTimestamp:{dissolve_timestamp_seconds:s}}}),hs=({neuronId:e,additionalDissolveDelaySeconds:s})=>jt({neuronId:e,operation:{IncreaseDissolveDelay:{additional_dissolve_delay_seconds:s}}}),ws=({neuronId:e,functionId:s,followees:t})=>({subaccount:e.id,command:[{Follow:{function_id:s,followees:t}}]}),Ts=({neuronId:e,topicFollowing:s})=>({subaccount:e.id,command:[{SetFollowing:{topic_following:s.map(({topic:t,followees:o})=>({topic:[t],followees:o.map(({neuronId:n,alias:a})=>({neuron_id:(0,d.toNullable)(n),alias:(0,d.toNullable)(a)}))}))}}]}),Ps=({neuronId:e,proposalId:s,vote:t})=>({subaccount:e.id,command:[{RegisterVote:{vote:t,proposal:[s]}}]}),rs=({subaccount:e,memo:s,controller:t})=>({subaccount:e,command:[{ClaimOrRefresh:{by:[s===void 0?{NeuronId:{}}:{MemoAndController:{memo:s,controller:(0,d.toNullable)(t)}}]}}]}),Vs=({excludeType:e,beforeProposal:s,includeRewardStatus:t,includeStatus:o,limit:n})=>({exclude_type:BigUint64Array.from(e??[]),before_proposal:(0,d.toNullable)(s),include_reward_status:Int32Array.from(t??[]),include_status:Int32Array.from(o??[]),limit:n??10}),xs=e=>{if("ManageNervousSystemParameters"in e)return{ManageNervousSystemParameters:mo(e.ManageNervousSystemParameters)};if("AddGenericNervousSystemFunction"in e)return{AddGenericNervousSystemFunction:uo(e.AddGenericNervousSystemFunction)};if("SetTopicsForCustomProposals"in e)return{SetTopicsForCustomProposals:e.SetTopicsForCustomProposals};if("RemoveGenericNervousSystemFunction"in e)return{RemoveGenericNervousSystemFunction:e.RemoveGenericNervousSystemFunction};if("UpgradeSnsToNextVersion"in e)return{UpgradeSnsToNextVersion:e.UpgradeSnsToNextVersion};if("RegisterDappCanisters"in e)return{RegisterDappCanisters:e.RegisterDappCanisters};if("TransferSnsTreasuryFunds"in e)return{TransferSnsTreasuryFunds:co(e.TransferSnsTreasuryFunds)};if("UpgradeSnsControlledCanister"in e)return{UpgradeSnsControlledCanister:io(e.UpgradeSnsControlledCanister)};if("DeregisterDappCanisters"in e)return{DeregisterDappCanisters:e.DeregisterDappCanisters};if("Unspecified"in e)return{Unspecified:e.Unspecified};if("ManageSnsMetadata"in e)return{ManageSnsMetadata:ao(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)}`)},ao=e=>({url:(0,d.fromNullable)(e.url),logo:(0,d.fromNullable)(e.logo),name:(0,d.fromNullable)(e.name),description:(0,d.fromNullable)(e.description)}),ro=e=>{if(e!==void 0)return{wasm_module_hash:e.wasm_module_hash,store_canister_id:(0,d.fromNullable)(e.store_canister_id),chunk_hashes_list:e.chunk_hashes_list}},io=e=>({new_canister_wasm:e.new_canister_wasm,chunked_canister_wasm:ro((0,d.fromNullable)(e.chunked_canister_wasm)),canister_id:(0,d.fromNullable)(e.canister_id),canister_upgrade_arg:(0,d.fromNullable)(e.canister_upgrade_arg),mode:(0,d.fromNullable)(e.mode)}),co=e=>({from_treasury:e.from_treasury,to_principal:(0,d.fromNullable)(e.to_principal),to_subaccount:(0,d.fromNullable)(e.to_subaccount),memo:(0,d.fromNullable)(e.memo),amount_e8s:e.amount_e8s}),_o=e=>({validator_canister_id:(0,d.fromNullable)(e.validator_canister_id),target_canister_id:(0,d.fromNullable)(e.target_canister_id),validator_method_name:(0,d.fromNullable)(e.validator_method_name),target_method_name:(0,d.fromNullable)(e.target_method_name),topic:(0,d.fromNullable)(e.topic)}),po=e=>{if(e!==void 0){if("NativeNervousSystemFunction"in e)return{NativeNervousSystemFunction:e.NativeNervousSystemFunction};if("GenericNervousSystemFunction"in e)return{GenericNervousSystemFunction:_o(e.GenericNervousSystemFunction)};throw new Error(`Unknown FunctionType ${JSON.stringify(e)}`)}},uo=e=>({id:e.id,name:e.name,description:(0,d.fromNullable)(e.description),function_type:po((0,d.fromNullable)(e.function_type))}),lo=e=>e&&{final_reward_rate_basis_points:(0,d.fromNullable)(e.final_reward_rate_basis_points),initial_reward_rate_basis_points:(0,d.fromNullable)(e.initial_reward_rate_basis_points),reward_rate_transition_duration_seconds:(0,d.fromNullable)(e.reward_rate_transition_duration_seconds),round_duration_seconds:(0,d.fromNullable)(e.round_duration_seconds)},mo=e=>({default_followees:(0,d.fromNullable)(e.default_followees),max_dissolve_delay_seconds:(0,d.fromNullable)(e.max_dissolve_delay_seconds),max_dissolve_delay_bonus_percentage:(0,d.fromNullable)(e.max_dissolve_delay_bonus_percentage),max_followees_per_function:(0,d.fromNullable)(e.max_followees_per_function),neuron_claimer_permissions:(0,d.fromNullable)(e.neuron_claimer_permissions),neuron_minimum_stake_e8s:(0,d.fromNullable)(e.neuron_minimum_stake_e8s),max_neuron_age_for_age_bonus:(0,d.fromNullable)(e.max_neuron_age_for_age_bonus),initial_voting_period_seconds:(0,d.fromNullable)(e.initial_voting_period_seconds),neuron_minimum_dissolve_delay_to_vote_seconds:(0,d.fromNullable)(e.neuron_minimum_dissolve_delay_to_vote_seconds),reject_cost_e8s:(0,d.fromNullable)(e.reject_cost_e8s),max_proposals_to_keep_per_action:(0,d.fromNullable)(e.max_proposals_to_keep_per_action),wait_for_quiet_deadline_increase_seconds:(0,d.fromNullable)(e.wait_for_quiet_deadline_increase_seconds),max_number_of_neurons:(0,d.fromNullable)(e.max_number_of_neurons),transaction_fee_e8s:(0,d.fromNullable)(e.transaction_fee_e8s),max_number_of_proposals_with_ballots:(0,d.fromNullable)(e.max_number_of_proposals_with_ballots),max_age_bonus_percentage:(0,d.fromNullable)(e.max_age_bonus_percentage),neuron_grantable_permissions:(0,d.fromNullable)(e.neuron_grantable_permissions),voting_rewards_parameters:lo((0,d.fromNullable)(e.voting_rewards_parameters)),max_number_of_principals_per_neuron:(0,d.fromNullable)(e.max_number_of_principals_per_neuron),automatically_advance_target_version:(0,d.fromNullable)(e.automatically_advance_target_version)});var bs=(c=>(c[c.NEURON_PERMISSION_TYPE_UNSPECIFIED=0]="NEURON_PERMISSION_TYPE_UNSPECIFIED",c[c.NEURON_PERMISSION_TYPE_CONFIGURE_DISSOLVE_STATE=1]="NEURON_PERMISSION_TYPE_CONFIGURE_DISSOLVE_STATE",c[c.NEURON_PERMISSION_TYPE_MANAGE_PRINCIPALS=2]="NEURON_PERMISSION_TYPE_MANAGE_PRINCIPALS",c[c.NEURON_PERMISSION_TYPE_SUBMIT_PROPOSAL=3]="NEURON_PERMISSION_TYPE_SUBMIT_PROPOSAL",c[c.NEURON_PERMISSION_TYPE_VOTE=4]="NEURON_PERMISSION_TYPE_VOTE",c[c.NEURON_PERMISSION_TYPE_DISBURSE=5]="NEURON_PERMISSION_TYPE_DISBURSE",c[c.NEURON_PERMISSION_TYPE_SPLIT=6]="NEURON_PERMISSION_TYPE_SPLIT",c[c.NEURON_PERMISSION_TYPE_MERGE_MATURITY=7]="NEURON_PERMISSION_TYPE_MERGE_MATURITY",c[c.NEURON_PERMISSION_TYPE_DISBURSE_MATURITY=8]="NEURON_PERMISSION_TYPE_DISBURSE_MATURITY",c[c.NEURON_PERMISSION_TYPE_STAKE_MATURITY=9]="NEURON_PERMISSION_TYPE_STAKE_MATURITY",c[c.NEURON_PERMISSION_TYPE_MANAGE_VOTING_PERMISSION=10]="NEURON_PERMISSION_TYPE_MANAGE_VOTING_PERMISSION",c))(bs||{}),Fs=(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))(Fs||{}),Cs=(r=>(r[r.PROPOSAL_DECISION_STATUS_UNSPECIFIED=0]="PROPOSAL_DECISION_STATUS_UNSPECIFIED",r[r.PROPOSAL_DECISION_STATUS_OPEN=1]="PROPOSAL_DECISION_STATUS_OPEN",r[r.PROPOSAL_DECISION_STATUS_REJECTED=2]="PROPOSAL_DECISION_STATUS_REJECTED",r[r.PROPOSAL_DECISION_STATUS_ADOPTED=3]="PROPOSAL_DECISION_STATUS_ADOPTED",r[r.PROPOSAL_DECISION_STATUS_EXECUTED=4]="PROPOSAL_DECISION_STATUS_EXECUTED",r[r.PROPOSAL_DECISION_STATUS_FAILED=5]="PROPOSAL_DECISION_STATUS_FAILED",r))(Cs||{}),ks=(o=>(o[o.Unspecified=0]="Unspecified",o[o.Yes=1]="Yes",o[o.No=2]="No",o))(ks||{});var Ms=(r=>(r[r.Unspecified=0]="Unspecified",r[r.Pending=1]="Pending",r[r.Open=2]="Open",r[r.Committed=3]="Committed",r[r.Aborted=4]="Aborted",r[r.Adopted=5]="Adopted",r))(Ms||{}),As=(o=>(o[o.TYPE_UNSPECIFIED=0]="TYPE_UNSPECIFIED",o[o.TYPE_SALE_NOT_OPEN=1]="TYPE_SALE_NOT_OPEN",o[o.TYPE_SALE_CLOSED=2]="TYPE_SALE_CLOSED",o))(As||{}),qs=(i=>(i[i.TYPE_UNSPECIFIED=0]="TYPE_UNSPECIFIED",i[i.TYPE_SALE_NOT_OPEN=1]="TYPE_SALE_NOT_OPEN",i[i.TYPE_SALE_CLOSED=2]="TYPE_SALE_CLOSED",i[i.TYPE_TICKET_EXISTS=3]="TYPE_TICKET_EXISTS",i[i.TYPE_INVALID_USER_AMOUNT=4]="TYPE_INVALID_USER_AMOUNT",i[i.TYPE_INVALID_SUBACCOUNT=5]="TYPE_INVALID_SUBACCOUNT",i[i.TYPE_INVALID_PRINCIPAL=6]="TYPE_INVALID_PRINCIPAL",i))(qs||{});var Wt=class extends Error{constructor(t){super();this.methodName=t}};var b=class extends Error{};var Qt=class extends Error{constructor({errorType:s,invalidUserAmount:t,existingTicket:o}){super(),this.errorType=s,this.invalidUserAmount=t,this.existingTicket=o}},Jt=class extends Error{constructor(t){super();this.errorType=t}};var F=require("@dfinity/utils");var Gs=({IDL:e})=>{let s=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),t=e.Record({archive_wasm_hash:e.Vec(e.Nat8),root_wasm_hash:e.Vec(e.Nat8),swap_wasm_hash:e.Vec(e.Nat8),ledger_wasm_hash:e.Vec(e.Nat8),governance_wasm_hash:e.Vec(e.Nat8),index_wasm_hash:e.Vec(e.Nat8)}),o=e.Record({versions:e.Vec(t)}),n=e.Record({upgrade_steps:e.Opt(o),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}),r=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)}),i=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:r}),_=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(i)}),N=e.Record({not_dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),garbage_collectable_neurons_count:e.Nat64,neurons_with_invalid_stake_count:e.Nat64,not_dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),neurons_with_less_than_6_months_dissolve_delay_count:e.Nat64,dissolved_neurons_count:e.Nat64,total_staked_e8s:e.Nat64,total_supply_governance_tokens:e.Nat64,not_dissolving_neurons_count:e.Nat64,dissolved_neurons_e8s:e.Nat64,neurons_with_less_than_6_months_dissolve_delay_e8s:e.Nat64,dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),dissolving_neurons_count:e.Nat64,dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),timestamp_seconds:e.Nat64}),l=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),c=e.Record({old_target_version:e.Opt(t),new_target_version:e.Opt(t),is_advanced_automatically:e.Opt(e.Bool)}),g=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(o)}),v=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(t)})})),human_readable:e.Opt(e.Text)}),u=e.Record({id:e.Nat64}),m=e.Record({current_version:e.Opt(t),expected_version:e.Opt(t),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:u,BehindTargetVersion:e.Record({})}))}),q=e.Record({upgrade_steps:e.Opt(o)}),S=e.Record({human_readable:e.Opt(e.Text),old_target_version:e.Opt(t),new_target_version:e.Opt(t)}),G=e.Record({event:e.Opt(e.Variant({TargetVersionSet:c,UpgradeStepsReset:g,UpgradeOutcome:v,UpgradeStarted:m,UpgradeStepsRefreshed:q,TargetVersionReset:S})),timestamp_seconds:e.Opt(e.Nat64)}),w=e.Record({entries:e.Vec(G)}),p=e.Record({id:e.Vec(e.Nat8)}),T=e.Record({followees:e.Vec(p)}),C=e.Record({followees:e.Vec(e.Tuple(e.Nat64,T))}),y=e.Record({permissions:e.Vec(e.Int32)}),U=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)}),f=e.Record({default_followees:e.Opt(C),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(y),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(y),voting_rewards_parameters:e.Opt(U),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),P=e.Record({rounds_since_last_distribution:e.Opt(e.Nat64),actual_timestamp_seconds:e.Nat64,end_timestamp_seconds:e.Opt(e.Nat64),total_available_e8s_equivalent:e.Opt(e.Nat64),distributed_e8s_equivalent:e.Nat64,round:e.Nat64,settled_proposals:e.Vec(u)}),ae=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Opt(e.Nat64),target_version:e.Opt(t)}),O=e.Record({error_message:e.Text,error_type:e.Int32}),V=e.Record({subaccount:e.Vec(e.Nat8)}),R=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(V)}),k=e.Record({human_readable:e.Opt(e.Text)}),E=e.Record({e8s:e.Opt(e.Nat64)}),re=e.Record({xdrs_per_icp:e.Opt(k),icps_per_token:e.Opt(k),tokens:e.Opt(E)}),ie=e.Record({token:e.Opt(e.Int32),account:e.Opt(R),valuation_factors:e.Opt(re),timestamp_seconds:e.Opt(e.Nat64)}),B=e.Record({valuation:e.Opt(ie)}),z=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(z)}),_e=e.Variant({TransferSnsTreasuryFunds:B,MintSnsTokens:B,AdvanceSnsTargetVersion:ce}),pe=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),j=e.Record({basis_points:e.Opt(e.Nat64)}),de=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),ue=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)}),te=e.Record({custom_function_id_to_topic:e.Vec(e.Tuple(e.Nat64,a))}),W=e.Record({canister_ids:e.Vec(e.Principal)}),le=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(V),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),me=e.Record({wasm_module_hash:e.Vec(e.Nat8),chunk_hashes_list:e.Vec(e.Vec(e.Nat8)),store_canister_id:e.Opt(e.Principal)}),Ne=e.Record({new_canister_wasm:e.Vec(e.Nat8),mode:e.Opt(e.Int32),canister_id:e.Opt(e.Principal),chunked_canister_wasm:e.Opt(me),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),se=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),Oe=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(V),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),Re=e.Record({new_target:e.Opt(z)}),Q=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),oe=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),ge=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)}),ye=e.Record({motion_text:e.Text}),fe=e.Variant({ManageNervousSystemParameters:f,AddGenericNervousSystemFunction:_,ManageDappCanisterSettings:ue,RemoveGenericNervousSystemFunction:e.Nat64,SetTopicsForCustomProposals:te,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:W,TransferSnsTreasuryFunds:le,UpgradeSnsControlledCanister:Ne,DeregisterDappCanisters:se,MintSnsTokens:Oe,AdvanceSnsTargetVersion:Re,Unspecified:e.Record({}),ManageSnsMetadata:Q,ExecuteGenericNervousSystemFunction:oe,ManageLedgerParameters:ge,Motion:ye}),h=e.Record({url:e.Text,title:e.Text,action:e.Opt(fe),summary:e.Text}),ne=e.Record({current_deadline_timestamp_seconds:e.Nat64}),x=e.Record({id:e.Opt(u),payload_text_rendering:e.Opt(e.Text),topic:e.Opt(a),action:e.Nat64,failure_reason:e.Opt(O),action_auxiliary:e.Opt(_e),ballots:e.Vec(e.Tuple(e.Text,pe)),minimum_yes_proportion_of_total:e.Opt(j),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(de),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(h),proposer:e.Opt(p),wait_for_quiet_state:e.Opt(ne),minimum_yes_proportion_of_exercised:e.Opt(j),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),M=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),J=e.Record({function_id:e.Nat64,followees:e.Vec(p)}),Y=e.Record({to_account:e.Opt(R),percentage_to_disburse:e.Nat32}),ve=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),Se=e.Record({additional_dissolve_delay_seconds:e.Nat32}),he=e.Record({dissolve_timestamp_seconds:e.Nat64}),we=e.Variant({ChangeAutoStakeMaturity:ve,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:Se,SetDissolveTimestamp:he}),H=e.Record({operation:e.Opt(we)}),$=e.Record({vote:e.Int32,proposal:e.Opt(u)}),Te=e.Record({alias:e.Opt(e.Text),neuron_id:e.Opt(p)}),X=e.Record({topic:e.Opt(a),followees:e.Vec(Te)}),K=e.Record({topic_following:e.Vec(X)}),Pe=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(R)}),Ve=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),xe=e.Variant({MemoAndController:Ve,NeuronId:e.Record({})}),Z=e.Record({by:e.Opt(xe)}),I=e.Record({permissions_to_remove:e.Opt(y),principal_id:e.Opt(e.Principal)}),D=e.Record({permissions_to_add:e.Opt(y),principal_id:e.Opt(e.Principal)}),L=e.Record({percentage_to_merge:e.Nat32}),Ue=e.Record({e8s:e.Nat64}),be=e.Record({to_account:e.Opt(R),amount:e.Opt(Ue)}),Ee=e.Variant({Split:M,Follow:J,DisburseMaturity:Y,Configure:H,RegisterVote:$,SetFollowing:K,SyncCommand:e.Record({}),MakeProposal:h,FinalizeDisburseMaturity:Pe,ClaimOrRefreshNeuron:Z,RemoveNeuronPermissions:I,AddNeuronPermissions:D,MergeMaturity:L,Disburse:be}),Be=e.Record({command:e.Opt(Ee),timestamp:e.Nat64}),ze=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),je=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),We=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)}),A=e.Record({id:e.Opt(p),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),permissions:e.Vec(ze),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,X))})),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(je),voting_power_percentage_multiplier:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64),disburse_maturity_in_progress:e.Vec(We),followees:e.Vec(e.Tuple(e.Nat64,T)),neuron_fees_e8s:e.Nat64}),Lt=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(s),cached_upgrade_steps:e.Opt(n),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,_)),metrics:e.Opt(N),maturity_modulation:e.Opt(l),upgrade_journal:e.Opt(w),mode:e.Int32,parameters:e.Opt(f),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(t),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(P),pending_version:e.Opt(ae),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,x)),in_flight_commands:e.Vec(e.Tuple(e.Text,Be)),sns_metadata:e.Opt(Q),neurons:e.Vec(e.Tuple(e.Text,A)),target_version:e.Opt(t),genesis_timestamp_seconds:e.Nat64}),Qe=e.Record({principals:e.Vec(e.Principal)}),Je=e.Record({nns_neuron_hotkeys:e.Opt(Qe),nns_neuron_controller:e.Opt(e.Principal),nns_neuron_id:e.Opt(e.Nat64)}),Ye=e.Variant({NeuronsFund:Je,Direct:e.Record({})}),He=e.Record({neuron_ids:e.Vec(p)}),$e=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),participant:e.Opt(Ye),stake_e8s:e.Opt(e.Nat64),followees:e.Opt(He),neuron_id:e.Opt(p)}),Xe=e.Record({neuron_recipes:e.Vec($e)}),Ke=e.Record({neuron_recipes:e.Opt(Xe)}),Ze=e.Record({id:e.Opt(p),status:e.Int32}),Ie=e.Record({swap_neurons:e.Vec(Ze)}),De=e.Variant({Ok:Ie,Err:e.Int32}),Le=e.Record({claim_swap_neurons_result:e.Opt(De)}),et=e.Record({maturity_modulation:e.Opt(l)}),tt=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),st=e.Record({mode:e.Opt(e.Int32)}),ot=e.Record({neuron_id:e.Opt(p)}),nt=e.Variant({Error:O,Neuron:A}),at=e.Record({result:e.Opt(nt)}),Me=e.Record({proposal_id:e.Opt(u)}),rt=e.Variant({Error:O,Proposal:x}),it=e.Record({result:e.Opt(rt)}),ct=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),Ae=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}),_t=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)}),pt=e.Record({status:ct,memory_size:e.Nat,cycles:e.Nat,settings:Ae,query_stats:e.Opt(_t),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),dt=e.Record({deployed_version:e.Opt(t),pending_version:e.Opt(e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Nat64,target_version:e.Opt(t)}))}),ut=e.Record({sns_initialization_parameters:e.Text}),lt=e.Record({timers:e.Opt(s)}),mt=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat64)}),Nt=e.Record({upgrade_journal:e.Opt(w),upgrade_steps:e.Opt(o),response_timestamp_seconds:e.Opt(e.Nat64),deployed_version:e.Opt(t),target_version:e.Opt(t),upgrade_journal_entry_count:e.Opt(e.Nat64)}),Ot=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(_)}),Rt=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(p)}),gt=e.Record({neurons:e.Vec(A)}),yt=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(u),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_status:e.Vec(e.Int32)}),ft=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(x)}),vt=e.Record({}),St=e.Record({native_functions:e.Opt(e.Vec(_)),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(_))}),ht=e.Record({uncategorized_functions:e.Opt(e.Vec(_)),topics:e.Opt(e.Vec(St))}),wt=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),Tt=e.Variant({Split:M,Follow:J,DisburseMaturity:Y,ClaimOrRefresh:Z,Configure:H,RegisterVote:$,SetFollowing:K,MakeProposal:h,StakeMaturity:wt,RemoveNeuronPermissions:I,AddNeuronPermissions:D,MergeMaturity:L,Disburse:be}),Pt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(Tt)}),Vt=e.Record({created_neuron_id:e.Opt(p)}),xt=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),bt=e.Record({refreshed_neuron_id:e.Opt(p)}),Ft=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),Ct=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),kt=e.Record({transfer_block_height:e.Nat64}),Mt=e.Variant({Error:O,Split:Vt,Follow:e.Record({}),DisburseMaturity:xt,ClaimOrRefresh:bt,Configure:e.Record({}),RegisterVote:e.Record({}),SetFollowing:e.Record({}),MakeProposal:Me,RemoveNeuronPermission:e.Record({}),StakeMaturity:Ft,MergeMaturity:Ct,Disburse:kt,AddNeuronPermission:e.Record({})}),At=e.Record({command:e.Opt(Mt)}),qt=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([Ke],[Le],[]),fail_stuck_upgrade_in_progress:e.Func([e.Record({})],[e.Record({})],[]),get_build_metadata:e.Func([],[e.Text],[]),get_latest_reward_event:e.Func([],[P],[]),get_maturity_modulation:e.Func([e.Record({})],[et],[]),get_metadata:e.Func([e.Record({})],[tt],[]),get_mode:e.Func([e.Record({})],[st],[]),get_nervous_system_parameters:e.Func([e.Null],[f],[]),get_neuron:e.Func([ot],[at],[]),get_proposal:e.Func([Me],[it],[]),get_root_canister_status:e.Func([e.Null],[pt],[]),get_running_sns_version:e.Func([e.Record({})],[dt],[]),get_sns_initialization_parameters:e.Func([e.Record({})],[ut],[]),get_timers:e.Func([e.Record({})],[lt],[]),get_upgrade_journal:e.Func([mt],[Nt],[]),list_nervous_system_functions:e.Func([],[Ot],[]),list_neurons:e.Func([Rt],[gt],[]),list_proposals:e.Func([yt],[ft],[]),list_topics:e.Func([vt],[ht],[]),manage_neuron:e.Func([Pt],[At],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([qt],[e.Record({})],[])})};var Us=({IDL:e})=>{let s=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),t=e.Record({archive_wasm_hash:e.Vec(e.Nat8),root_wasm_hash:e.Vec(e.Nat8),swap_wasm_hash:e.Vec(e.Nat8),ledger_wasm_hash:e.Vec(e.Nat8),governance_wasm_hash:e.Vec(e.Nat8),index_wasm_hash:e.Vec(e.Nat8)}),o=e.Record({versions:e.Vec(t)}),n=e.Record({upgrade_steps:e.Opt(o),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}),r=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)}),i=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:r}),_=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(i)}),N=e.Record({not_dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),garbage_collectable_neurons_count:e.Nat64,neurons_with_invalid_stake_count:e.Nat64,not_dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),neurons_with_less_than_6_months_dissolve_delay_count:e.Nat64,dissolved_neurons_count:e.Nat64,total_staked_e8s:e.Nat64,total_supply_governance_tokens:e.Nat64,not_dissolving_neurons_count:e.Nat64,dissolved_neurons_e8s:e.Nat64,neurons_with_less_than_6_months_dissolve_delay_e8s:e.Nat64,dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),dissolving_neurons_count:e.Nat64,dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),timestamp_seconds:e.Nat64}),l=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),c=e.Record({old_target_version:e.Opt(t),new_target_version:e.Opt(t),is_advanced_automatically:e.Opt(e.Bool)}),g=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(o)}),v=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(t)})})),human_readable:e.Opt(e.Text)}),u=e.Record({id:e.Nat64}),m=e.Record({current_version:e.Opt(t),expected_version:e.Opt(t),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:u,BehindTargetVersion:e.Record({})}))}),q=e.Record({upgrade_steps:e.Opt(o)}),S=e.Record({human_readable:e.Opt(e.Text),old_target_version:e.Opt(t),new_target_version:e.Opt(t)}),G=e.Record({event:e.Opt(e.Variant({TargetVersionSet:c,UpgradeStepsReset:g,UpgradeOutcome:v,UpgradeStarted:m,UpgradeStepsRefreshed:q,TargetVersionReset:S})),timestamp_seconds:e.Opt(e.Nat64)}),w=e.Record({entries:e.Vec(G)}),p=e.Record({id:e.Vec(e.Nat8)}),T=e.Record({followees:e.Vec(p)}),C=e.Record({followees:e.Vec(e.Tuple(e.Nat64,T))}),y=e.Record({permissions:e.Vec(e.Int32)}),U=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)}),f=e.Record({default_followees:e.Opt(C),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(y),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(y),voting_rewards_parameters:e.Opt(U),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),P=e.Record({rounds_since_last_distribution:e.Opt(e.Nat64),actual_timestamp_seconds:e.Nat64,end_timestamp_seconds:e.Opt(e.Nat64),total_available_e8s_equivalent:e.Opt(e.Nat64),distributed_e8s_equivalent:e.Nat64,round:e.Nat64,settled_proposals:e.Vec(u)}),ae=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Opt(e.Nat64),target_version:e.Opt(t)}),O=e.Record({error_message:e.Text,error_type:e.Int32}),V=e.Record({subaccount:e.Vec(e.Nat8)}),R=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(V)}),k=e.Record({human_readable:e.Opt(e.Text)}),E=e.Record({e8s:e.Opt(e.Nat64)}),re=e.Record({xdrs_per_icp:e.Opt(k),icps_per_token:e.Opt(k),tokens:e.Opt(E)}),ie=e.Record({token:e.Opt(e.Int32),account:e.Opt(R),valuation_factors:e.Opt(re),timestamp_seconds:e.Opt(e.Nat64)}),B=e.Record({valuation:e.Opt(ie)}),z=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(z)}),_e=e.Variant({TransferSnsTreasuryFunds:B,MintSnsTokens:B,AdvanceSnsTargetVersion:ce}),pe=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),j=e.Record({basis_points:e.Opt(e.Nat64)}),de=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),ue=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)}),te=e.Record({custom_function_id_to_topic:e.Vec(e.Tuple(e.Nat64,a))}),W=e.Record({canister_ids:e.Vec(e.Principal)}),le=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(V),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),me=e.Record({wasm_module_hash:e.Vec(e.Nat8),chunk_hashes_list:e.Vec(e.Vec(e.Nat8)),store_canister_id:e.Opt(e.Principal)}),Ne=e.Record({new_canister_wasm:e.Vec(e.Nat8),mode:e.Opt(e.Int32),canister_id:e.Opt(e.Principal),chunked_canister_wasm:e.Opt(me),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),se=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),Oe=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(V),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),Re=e.Record({new_target:e.Opt(z)}),Q=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),oe=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),ge=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)}),ye=e.Record({motion_text:e.Text}),fe=e.Variant({ManageNervousSystemParameters:f,AddGenericNervousSystemFunction:_,ManageDappCanisterSettings:ue,RemoveGenericNervousSystemFunction:e.Nat64,SetTopicsForCustomProposals:te,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:W,TransferSnsTreasuryFunds:le,UpgradeSnsControlledCanister:Ne,DeregisterDappCanisters:se,MintSnsTokens:Oe,AdvanceSnsTargetVersion:Re,Unspecified:e.Record({}),ManageSnsMetadata:Q,ExecuteGenericNervousSystemFunction:oe,ManageLedgerParameters:ge,Motion:ye}),h=e.Record({url:e.Text,title:e.Text,action:e.Opt(fe),summary:e.Text}),ne=e.Record({current_deadline_timestamp_seconds:e.Nat64}),x=e.Record({id:e.Opt(u),payload_text_rendering:e.Opt(e.Text),topic:e.Opt(a),action:e.Nat64,failure_reason:e.Opt(O),action_auxiliary:e.Opt(_e),ballots:e.Vec(e.Tuple(e.Text,pe)),minimum_yes_proportion_of_total:e.Opt(j),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(de),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(h),proposer:e.Opt(p),wait_for_quiet_state:e.Opt(ne),minimum_yes_proportion_of_exercised:e.Opt(j),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),M=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),J=e.Record({function_id:e.Nat64,followees:e.Vec(p)}),Y=e.Record({to_account:e.Opt(R),percentage_to_disburse:e.Nat32}),ve=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),Se=e.Record({additional_dissolve_delay_seconds:e.Nat32}),he=e.Record({dissolve_timestamp_seconds:e.Nat64}),we=e.Variant({ChangeAutoStakeMaturity:ve,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:Se,SetDissolveTimestamp:he}),H=e.Record({operation:e.Opt(we)}),$=e.Record({vote:e.Int32,proposal:e.Opt(u)}),Te=e.Record({alias:e.Opt(e.Text),neuron_id:e.Opt(p)}),X=e.Record({topic:e.Opt(a),followees:e.Vec(Te)}),K=e.Record({topic_following:e.Vec(X)}),Pe=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(R)}),Ve=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),xe=e.Variant({MemoAndController:Ve,NeuronId:e.Record({})}),Z=e.Record({by:e.Opt(xe)}),I=e.Record({permissions_to_remove:e.Opt(y),principal_id:e.Opt(e.Principal)}),D=e.Record({permissions_to_add:e.Opt(y),principal_id:e.Opt(e.Principal)}),L=e.Record({percentage_to_merge:e.Nat32}),Ue=e.Record({e8s:e.Nat64}),be=e.Record({to_account:e.Opt(R),amount:e.Opt(Ue)}),Ee=e.Variant({Split:M,Follow:J,DisburseMaturity:Y,Configure:H,RegisterVote:$,SetFollowing:K,SyncCommand:e.Record({}),MakeProposal:h,FinalizeDisburseMaturity:Pe,ClaimOrRefreshNeuron:Z,RemoveNeuronPermissions:I,AddNeuronPermissions:D,MergeMaturity:L,Disburse:be}),Be=e.Record({command:e.Opt(Ee),timestamp:e.Nat64}),ze=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),je=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),We=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)}),A=e.Record({id:e.Opt(p),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),permissions:e.Vec(ze),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,X))})),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(je),voting_power_percentage_multiplier:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64),disburse_maturity_in_progress:e.Vec(We),followees:e.Vec(e.Tuple(e.Nat64,T)),neuron_fees_e8s:e.Nat64}),Lt=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(s),cached_upgrade_steps:e.Opt(n),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,_)),metrics:e.Opt(N),maturity_modulation:e.Opt(l),upgrade_journal:e.Opt(w),mode:e.Int32,parameters:e.Opt(f),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(t),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(P),pending_version:e.Opt(ae),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,x)),in_flight_commands:e.Vec(e.Tuple(e.Text,Be)),sns_metadata:e.Opt(Q),neurons:e.Vec(e.Tuple(e.Text,A)),target_version:e.Opt(t),genesis_timestamp_seconds:e.Nat64}),Qe=e.Record({principals:e.Vec(e.Principal)}),Je=e.Record({nns_neuron_hotkeys:e.Opt(Qe),nns_neuron_controller:e.Opt(e.Principal),nns_neuron_id:e.Opt(e.Nat64)}),Ye=e.Variant({NeuronsFund:Je,Direct:e.Record({})}),He=e.Record({neuron_ids:e.Vec(p)}),$e=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),participant:e.Opt(Ye),stake_e8s:e.Opt(e.Nat64),followees:e.Opt(He),neuron_id:e.Opt(p)}),Xe=e.Record({neuron_recipes:e.Vec($e)}),Ke=e.Record({neuron_recipes:e.Opt(Xe)}),Ze=e.Record({id:e.Opt(p),status:e.Int32}),Ie=e.Record({swap_neurons:e.Vec(Ze)}),De=e.Variant({Ok:Ie,Err:e.Int32}),Le=e.Record({claim_swap_neurons_result:e.Opt(De)}),et=e.Record({maturity_modulation:e.Opt(l)}),tt=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),st=e.Record({mode:e.Opt(e.Int32)}),ot=e.Record({neuron_id:e.Opt(p)}),nt=e.Variant({Error:O,Neuron:A}),at=e.Record({result:e.Opt(nt)}),Me=e.Record({proposal_id:e.Opt(u)}),rt=e.Variant({Error:O,Proposal:x}),it=e.Record({result:e.Opt(rt)}),ct=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),Ae=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}),_t=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)}),pt=e.Record({status:ct,memory_size:e.Nat,cycles:e.Nat,settings:Ae,query_stats:e.Opt(_t),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),dt=e.Record({deployed_version:e.Opt(t),pending_version:e.Opt(e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Nat64,target_version:e.Opt(t)}))}),ut=e.Record({sns_initialization_parameters:e.Text}),lt=e.Record({timers:e.Opt(s)}),mt=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat64)}),Nt=e.Record({upgrade_journal:e.Opt(w),upgrade_steps:e.Opt(o),response_timestamp_seconds:e.Opt(e.Nat64),deployed_version:e.Opt(t),target_version:e.Opt(t),upgrade_journal_entry_count:e.Opt(e.Nat64)}),Ot=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(_)}),Rt=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(p)}),gt=e.Record({neurons:e.Vec(A)}),yt=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(u),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_status:e.Vec(e.Int32)}),ft=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(x)}),vt=e.Record({}),St=e.Record({native_functions:e.Opt(e.Vec(_)),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(_))}),ht=e.Record({uncategorized_functions:e.Opt(e.Vec(_)),topics:e.Opt(e.Vec(St))}),wt=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),Tt=e.Variant({Split:M,Follow:J,DisburseMaturity:Y,ClaimOrRefresh:Z,Configure:H,RegisterVote:$,SetFollowing:K,MakeProposal:h,StakeMaturity:wt,RemoveNeuronPermissions:I,AddNeuronPermissions:D,MergeMaturity:L,Disburse:be}),Pt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(Tt)}),Vt=e.Record({created_neuron_id:e.Opt(p)}),xt=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),bt=e.Record({refreshed_neuron_id:e.Opt(p)}),Ft=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),Ct=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),kt=e.Record({transfer_block_height:e.Nat64}),Mt=e.Variant({Error:O,Split:Vt,Follow:e.Record({}),DisburseMaturity:xt,ClaimOrRefresh:bt,Configure:e.Record({}),RegisterVote:e.Record({}),SetFollowing:e.Record({}),MakeProposal:Me,RemoveNeuronPermission:e.Record({}),StakeMaturity:Ft,MergeMaturity:Ct,Disburse:kt,AddNeuronPermission:e.Record({})}),At=e.Record({command:e.Opt(Mt)}),qt=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([Ke],[Le],[]),fail_stuck_upgrade_in_progress:e.Func([e.Record({})],[e.Record({})],[]),get_build_metadata:e.Func([],[e.Text],["query"]),get_latest_reward_event:e.Func([],[P],["query"]),get_maturity_modulation:e.Func([e.Record({})],[et],[]),get_metadata:e.Func([e.Record({})],[tt],["query"]),get_mode:e.Func([e.Record({})],[st],["query"]),get_nervous_system_parameters:e.Func([e.Null],[f],["query"]),get_neuron:e.Func([ot],[at],["query"]),get_proposal:e.Func([Me],[it],["query"]),get_root_canister_status:e.Func([e.Null],[pt],[]),get_running_sns_version:e.Func([e.Record({})],[dt],["query"]),get_sns_initialization_parameters:e.Func([e.Record({})],[ut],["query"]),get_timers:e.Func([e.Record({})],[lt],["query"]),get_upgrade_journal:e.Func([mt],[Nt],["query"]),list_nervous_system_functions:e.Func([],[Ot],["query"]),list_neurons:e.Func([Rt],[gt],["query"]),list_proposals:e.Func([yt],[ft],["query"]),list_topics:e.Func([vt],[ht],["query"]),manage_neuron:e.Func([Pt],[At],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([qt],[e.Record({})],[])})};var Ut=class e extends F.Canister{constructor(){super(...arguments);this.listNeurons=async t=>{let{principal:o,limit:n,beforeNeuronId:a}=t,{neurons:r}=await this.caller(t).list_neurons({of_principal:(0,F.toNullable)(o),limit:n??100,start_page_at:(0,F.toNullable)(a)});return r};this.listProposals=async t=>{let{certified:o}=t;return await this.caller({certified:o}).list_proposals(Vs(t))};this.listTopics=async t=>{let{certified:o}=t;return await this.caller({certified:o}).list_topics({})};this.getProposal=async t=>{let{proposalId:o}=t,{result:n}=await this.caller(t).get_proposal({proposal_id:(0,F.toNullable)(o)}),a=(0,F.fromNullable)(n);if(a===void 0||"Error"in a)throw new b((a==null?void 0:a.Error.error_message)??"Response type not supported");return a.Proposal};this.listNervousSystemFunctions=async t=>this.caller(t).list_nervous_system_functions();this.metadata=t=>this.caller(t).get_metadata({});this.nervousSystemParameters=t=>this.caller(t).get_nervous_system_parameters(null);this.getNeuron=async t=>{let{neuronId:o}=t,{result:n}=await this.caller(t).get_neuron({neuron_id:(0,F.toNullable)(o)}),a=(0,F.fromNullable)(n);if(a===void 0||"Error"in a)throw new b((a==null?void 0:a.Error.error_message)??"Response type not supported");return a.Neuron};this.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}};this.manageNeuron=async t=>{let o=await this.caller({certified:!0}).manage_neuron(t);return this.assertManageNeuronError(o),o};this.addNeuronPermissions=async t=>{let o=ls(t);await this.manageNeuron(o)};this.removeNeuronPermissions=async t=>{let o=ms(t);await this.manageNeuron(o)};this.splitNeuron=async t=>{let o=Ns(t),{command:n}=await this.manageNeuron(o),a=(0,F.fromNullable)(n),r=i=>`Split neuron failed (${i})`;if(a===void 0)throw new b(r("no response"));if("Split"in a){let i=a.Split,_=(0,F.fromNullable)(i.created_neuron_id);if(_!==void 0)return _;throw new b(r("no id"))}throw new b(r("unknown"))};this.disburse=async t=>{let o=Os(t);await this.manageNeuron(o)};this.startDissolving=async t=>{let o=Rs(t);await this.manageNeuron(o)};this.stopDissolving=async t=>{let o=gs(t);await this.manageNeuron(o)};this.stakeMaturity=async({neuronId:t,percentageToStake:o})=>{(0,F.assertPercentageNumber)(o??100);let n=ys({neuronId:t,percentageToStake:o});await this.manageNeuron(n)};this.disburseMaturity=async t=>{(0,F.assertPercentageNumber)(t.percentageToDisburse);let o=fs(t);await this.manageNeuron(o)};this.autoStakeMaturity=async t=>{let o=vs(t);await this.manageNeuron(o)};this.setDissolveTimestamp=async t=>{let o=Ss(t);await this.manageNeuron(o)};this.increaseDissolveDelay=async t=>{let o=hs(t);await this.manageNeuron(o)};this.setTopicFollowees=async t=>{let o=ws(t);await this.manageNeuron(o)};this.setFollowing=async t=>{let o=Ts(t);await this.manageNeuron(o)};this.registerVote=async t=>{let o=Ps(t);await this.manageNeuron(o)};this.refreshNeuron=async t=>{let o=rs({subaccount:t.id});await this.manageNeuron(o)};this.claimNeuron=async({memo:t,controller:o,subaccount:n})=>{let a=rs({subaccount:n,memo:t,controller:o}),{command:r}=await this.manageNeuron(a),i=(0,F.fromNullable)(r);if(i===void 0)throw new b("Claim neuron failed");if("ClaimOrRefresh"in i){let _=(0,F.fromNullable)(i.ClaimOrRefresh.refreshed_neuron_id);if(_===void 0)throw new b("Claim neuron failed");return _}throw new b("Claim neuron failed")};this.assertManageNeuronError=({command:t})=>{let o=t[0];if(o!==void 0&&"Error"in o)throw new b(o.Error.error_message)}}static create(t){let{service:o,certifiedService:n,canisterId:a}=(0,F.createServices)({options:t,idlFactory:Us,certifiedIdlFactory:Gs});return new e(a,o,n)}};var Fe=require("@dfinity/utils");var Es=({IDL:e})=>{let s=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),t=e.Record({archive_wasm_hash:e.Vec(e.Nat8),root_wasm_hash:e.Vec(e.Nat8),swap_wasm_hash:e.Vec(e.Nat8),ledger_wasm_hash:e.Vec(e.Nat8),governance_wasm_hash:e.Vec(e.Nat8),index_wasm_hash:e.Vec(e.Nat8)}),o=e.Record({versions:e.Vec(t)}),n=e.Record({upgrade_steps:e.Opt(o),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}),r=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)}),i=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:r}),_=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(i)}),N=e.Record({not_dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),garbage_collectable_neurons_count:e.Nat64,neurons_with_invalid_stake_count:e.Nat64,not_dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),neurons_with_less_than_6_months_dissolve_delay_count:e.Nat64,dissolved_neurons_count:e.Nat64,total_staked_e8s:e.Nat64,total_supply_governance_tokens:e.Nat64,not_dissolving_neurons_count:e.Nat64,dissolved_neurons_e8s:e.Nat64,neurons_with_less_than_6_months_dissolve_delay_e8s:e.Nat64,dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),dissolving_neurons_count:e.Nat64,dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),timestamp_seconds:e.Nat64}),l=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),c=e.Record({old_target_version:e.Opt(t),new_target_version:e.Opt(t),is_advanced_automatically:e.Opt(e.Bool)}),g=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(o)}),v=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(t)})})),human_readable:e.Opt(e.Text)}),u=e.Record({id:e.Nat64}),m=e.Record({current_version:e.Opt(t),expected_version:e.Opt(t),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:u,BehindTargetVersion:e.Record({})}))}),q=e.Record({upgrade_steps:e.Opt(o)}),S=e.Record({human_readable:e.Opt(e.Text),old_target_version:e.Opt(t),new_target_version:e.Opt(t)}),G=e.Record({event:e.Opt(e.Variant({TargetVersionSet:c,UpgradeStepsReset:g,UpgradeOutcome:v,UpgradeStarted:m,Up