@dfinity/sns 4.0.0 → 4.0.1-next-2025-09-08

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- "use strict";var fs=Object.defineProperty;var mo=Object.getOwnPropertyDescriptor;var Oo=Object.getOwnPropertyNames;var No=Object.prototype.hasOwnProperty;var Ro=(e,t)=>{for(var o in t)fs(e,o,{get:t[o],enumerable:!0})},go=(e,t,o,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Oo(t))!No.call(e,n)&&n!==o&&fs(e,n,{get:()=>t[n],enumerable:!(s=mo(t,n))||s.enumerable});return e};var yo=e=>go(fs({},"__esModule",{value:!0}),e);var Bo={};Ro(Bo,{GetOpenTicketErrorType:()=>$s,NewSaleTicketResponseErrorType:()=>Zs,SnsGovernanceCanister:()=>Zt,SnsGovernanceError:()=>T,SnsGovernanceTestCanister:()=>is,SnsNeuronPermissionType:()=>Qs,SnsProposalDecisionStatus:()=>Ys,SnsProposalRewardStatus:()=>Js,SnsRootCanister:()=>It,SnsSwapCanister:()=>Lt,SnsSwapGetOpenTicketError:()=>os,SnsSwapLifecycle:()=>Ks,SnsSwapNewTicketError:()=>ss,SnsVote:()=>Xs,SnsWrapper:()=>rs,UnsupportedMethodError:()=>ts,fromCandidAction:()=>Ws,initSnsWrapper:()=>Go,neuronSubaccount:()=>ws});module.exports=yo(Bo);var p=require("@dfinity/utils");var $t=({neuronId:{id:e},command:t})=>({subaccount:e,command:[t]}),es=({neuronId:e,operation:t})=>$t({neuronId:e,command:{Configure:{operation:[t]}}}),Vs=({owner:e,subaccount:t})=>({owner:(0,p.toNullable)(e),subaccount:t===void 0?[]:(0,p.toNullable)({subaccount:t})}),Ts=({neuronId:e,permissions:t,principal:o})=>$t({neuronId:e,command:{AddNeuronPermissions:{permissions_to_add:[{permissions:Int32Array.from(t)}],principal_id:[o]}}}),Ps=({neuronId:e,permissions:t,principal:o})=>$t({neuronId:e,command:{RemoveNeuronPermissions:{permissions_to_remove:[{permissions:Int32Array.from(t)}],principal_id:[o]}}}),bs=({neuronId:e,memo:t,amount:o})=>$t({neuronId:e,command:{Split:{memo:t,amount_e8s:o}}}),Fs=({neuronId:e,amount:t,toAccount:o})=>$t({neuronId:e,command:{Disburse:{to_account:o===void 0?[]:(0,p.toNullable)(Vs(o)),amount:t===void 0?[]:[{e8s:t}]}}}),Cs=e=>es({neuronId:e,operation:{StartDissolving:{}}}),Ms=e=>es({neuronId:e,operation:{StopDissolving:{}}}),ks=({neuronId:e,percentageToStake:t})=>$t({neuronId:e,command:{StakeMaturity:{percentage_to_stake:(0,p.toNullable)(t)}}}),As=({neuronId:e,percentageToDisburse:t,toAccount:o})=>$t({neuronId:e,command:{DisburseMaturity:{to_account:o===void 0?[]:(0,p.toNullable)(Vs(o)),percentage_to_disburse:t}}}),Es=({neuronId:e,autoStake:t})=>es({neuronId:e,operation:{ChangeAutoStakeMaturity:{requested_setting_for_auto_stake_maturity:t}}}),Gs=({neuronId:e,dissolveTimestampSeconds:t})=>es({neuronId:e,operation:{SetDissolveTimestamp:{dissolve_timestamp_seconds:t}}}),Bs=({neuronId:e,additionalDissolveDelaySeconds:t})=>es({neuronId:e,operation:{IncreaseDissolveDelay:{additional_dissolve_delay_seconds:t}}}),qs=({neuronId:e,functionId:t,followees:o})=>({subaccount:e.id,command:[{Follow:{function_id:t,followees:o}}]}),Us=({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)}))}))}}]}),zs=({neuronId:e,proposalId:t,vote:o})=>({subaccount:e.id,command:[{RegisterVote:{vote:o,proposal:[t]}}]}),hs=({subaccount:e,memo:t,controller:o})=>({subaccount:e,command:[{ClaimOrRefresh:{by:[t===void 0?{NeuronId:{}}:{MemoAndController:{memo:t,controller:(0,p.toNullable)(o)}}]}}]}),Hs=({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)})))??[])}),Ws=e=>{if("ManageNervousSystemParameters"in e)return{ManageNervousSystemParameters:Po(e.ManageNervousSystemParameters)};if("AddGenericNervousSystemFunction"in e)return{AddGenericNervousSystemFunction:Vo(e.AddGenericNervousSystemFunction)};if("SetTopicsForCustomProposals"in e)return{SetTopicsForCustomProposals:e.SetTopicsForCustomProposals};if("RegisterExtension"in e)return{RegisterExtension:bo(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:So(e.TransferSnsTreasuryFunds)};if("UpgradeSnsControlledCanister"in e)return{UpgradeSnsControlledCanister:vo(e.UpgradeSnsControlledCanister)};if("DeregisterDappCanisters"in e)return{DeregisterDappCanisters:e.DeregisterDappCanisters};if("Unspecified"in e)return{Unspecified:e.Unspecified};if("ManageSnsMetadata"in e)return{ManageSnsMetadata:ho(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)}`)},ho=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)}),js=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}},vo=e=>({new_canister_wasm:e.new_canister_wasm,chunked_canister_wasm:js((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)}),So=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}),xo=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)}),wo=e=>{if(e!==void 0){if("NativeNervousSystemFunction"in e)return{NativeNervousSystemFunction:e.NativeNervousSystemFunction};if("GenericNervousSystemFunction"in e)return{GenericNervousSystemFunction:xo(e.GenericNervousSystemFunction)};throw new Error(`Unknown FunctionType ${JSON.stringify(e)}`)}},Vo=e=>({id:e.id,name:e.name,description:(0,p.fromNullable)(e.description),function_type:wo((0,p.fromNullable)(e.function_type))}),To=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)},Po=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:To((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)}),bo=e=>({chunked_canister_wasm:js((0,p.fromNullable)(e.chunked_canister_wasm)),extension_init:(0,p.fromNullable)(e.extension_init)});var Qs=(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))(Qs||{}),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||{}),Ys=(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))(Ys||{}),Xs=(s=>(s[s.Unspecified=0]="Unspecified",s[s.Yes=1]="Yes",s[s.No=2]="No",s))(Xs||{});var Ks=(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))(Ks||{}),$s=(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))($s||{}),Zs=(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))(Zs||{});var ts=class extends Error{constructor(o){super();this.methodName=o}};var T=class extends Error{};var ss=class extends Error{errorType;invalidUserAmount;existingTicket;constructor({errorType:t,invalidUserAmount:o,existingTicket:s}){super(),this.errorType=t,this.invalidUserAmount=o,this.existingTicket=s}},os=class extends Error{constructor(o){super();this.errorType=o}};var P=require("@dfinity/utils");var Is=({IDL:e})=>{let t=e.Rec(),o=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),s=e.Record({archive_wasm_hash:e.Vec(e.Nat8),root_wasm_hash:e.Vec(e.Nat8),swap_wasm_hash:e.Vec(e.Nat8),ledger_wasm_hash:e.Vec(e.Nat8),governance_wasm_hash:e.Vec(e.Nat8),index_wasm_hash:e.Vec(e.Nat8)}),n=e.Record({versions:e.Vec(s)}),i=e.Record({upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),a=e.Variant({DappCanisterManagement:e.Null,DaoCommunitySettings:e.Null,ApplicationBusinessLogic:e.Null,CriticalDappOperations:e.Null,TreasuryAssetManagement:e.Null,Governance:e.Null,SnsFrameworkManagement:e.Null}),c=e.Record({topic:e.Opt(a),validator_canister_id:e.Opt(e.Principal),target_canister_id:e.Opt(e.Principal),validator_method_name:e.Opt(e.Text),target_method_name:e.Opt(e.Text)}),u=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:c}),d=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(u)}),l=e.Record({subaccount:e.Vec(e.Nat8)}),r=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(l)}),N=e.Record({name:e.Opt(e.Text),original_amount_e8s:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64),account:e.Opt(r),ledger_canister_id:e.Opt(e.Principal),treasury:e.Int32,timestamp_seconds:e.Opt(e.Nat64)}),y=e.Record({governance_total_potential_voting_power:e.Opt(e.Nat64),timestamp_seconds:e.Opt(e.Nat64)}),b=e.Record({treasury_metrics:e.Vec(N),not_dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),garbage_collectable_neurons_count:e.Nat64,neurons_with_invalid_stake_count:e.Nat64,not_dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),neurons_with_less_than_6_months_dissolve_delay_count:e.Nat64,dissolved_neurons_count:e.Nat64,total_staked_e8s:e.Nat64,total_supply_governance_tokens:e.Nat64,voting_power_metrics:e.Opt(y),not_dissolving_neurons_count:e.Nat64,dissolved_neurons_e8s:e.Nat64,neurons_with_less_than_6_months_dissolve_delay_e8s:e.Nat64,dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),dissolving_neurons_count:e.Nat64,dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),timestamp_seconds:e.Nat64}),f=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),k=e.Record({old_target_version:e.Opt(s),new_target_version:e.Opt(s),is_advanced_automatically:e.Opt(e.Bool)}),O=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(n)}),A=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(s)})})),human_readable:e.Opt(e.Text)}),m=e.Record({id:e.Nat64}),E=e.Record({current_version:e.Opt(s),expected_version:e.Opt(s),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:m,BehindTargetVersion:e.Record({})}))}),G=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)}),q=e.Record({event:e.Opt(e.Variant({TargetVersionSet:k,UpgradeStepsReset:O,UpgradeOutcome:A,UpgradeStarted:E,UpgradeStepsRefreshed:G,TargetVersionReset:B})),timestamp_seconds:e.Opt(e.Nat64)}),v=e.Record({entries:e.Vec(q)}),_=e.Record({id:e.Vec(e.Nat8)}),S=e.Record({followees:e.Vec(_)}),U=e.Record({followees:e.Vec(e.Tuple(e.Nat64,S))}),R=e.Record({permissions:e.Vec(e.Int32)}),z=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(U),max_dissolve_delay_seconds:e.Opt(e.Nat64),max_dissolve_delay_bonus_percentage:e.Opt(e.Nat64),max_followees_per_function:e.Opt(e.Nat64),automatically_advance_target_version:e.Opt(e.Bool),neuron_claimer_permissions:e.Opt(R),neuron_minimum_stake_e8s:e.Opt(e.Nat64),max_neuron_age_for_age_bonus:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),reject_cost_e8s:e.Opt(e.Nat64),max_proposals_to_keep_per_action:e.Opt(e.Nat32),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),max_number_of_neurons:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),max_number_of_proposals_with_ballots:e.Opt(e.Nat64),max_age_bonus_percentage:e.Opt(e.Nat64),neuron_grantable_permissions:e.Opt(R),voting_rewards_parameters:e.Opt(z),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),x=e.Record({rounds_since_last_distribution:e.Opt(e.Nat64),actual_timestamp_seconds:e.Nat64,end_timestamp_seconds:e.Opt(e.Nat64),total_available_e8s_equivalent:e.Opt(e.Nat64),distributed_e8s_equivalent:e.Nat64,round:e.Nat64,settled_proposals:e.Vec(m)}),H=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Opt(e.Nat64),target_version:e.Opt(s)}),g=e.Record({error_message:e.Text,error_type:e.Int32}),W=e.Record({human_readable:e.Opt(e.Text)}),ae=e.Record({e8s:e.Opt(e.Nat64)}),re=e.Record({xdrs_per_icp:e.Opt(W),icps_per_token:e.Opt(W),tokens:e.Opt(ae)}),ie=e.Record({token:e.Opt(e.Int32),account:e.Opt(r),valuation_factors:e.Opt(re),timestamp_seconds:e.Opt(e.Nat64)}),j=e.Record({valuation:e.Opt(ie)}),Q=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(Q)}),_e=e.Variant({TransferSnsTreasuryFunds:j,MintSnsTokens:j,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)}),te=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),Y=e.Record({freezing_threshold:e.Opt(e.Nat64),wasm_memory_threshold:e.Opt(e.Nat64),canister_ids:e.Vec(e.Principal),reserved_cycles_limit:e.Opt(e.Nat64),log_visibility:e.Opt(e.Int32),wasm_memory_limit:e.Opt(e.Nat64),memory_allocation:e.Opt(e.Nat64),compute_allocation:e.Opt(e.Nat64)});t.fill(e.Variant({Int:e.Int64,Map:e.Vec(e.Tuple(e.Text,t)),Nat:e.Nat64,Blob:e.Vec(e.Nat8),Bool:e.Bool,Text:e.Text,Array:e.Vec(t)}));let de=e.Record({value:e.Opt(t)}),ue=e.Record({extension_canister_id:e.Opt(e.Principal),operation_name:e.Opt(e.Text),operation_arg:e.Opt(de)}),le=e.Record({custom_function_id_to_topic:e.Vec(e.Tuple(e.Nat64,a))}),F=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)}),me=e.Record({value:e.Opt(t)}),Oe=e.Record({chunked_canister_wasm:e.Opt(F),extension_init:e.Opt(me)}),Ne=e.Record({canister_ids:e.Vec(e.Principal)}),se=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}),Re=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(F),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),ge=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ye=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),oe=e.Record({new_target:e.Opt(Q)}),C=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),fe=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),ne=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)}),he=e.Record({motion_text:e.Text}),ve=e.Variant({ManageNervousSystemParameters:h,AddGenericNervousSystemFunction:d,ManageDappCanisterSettings:Y,ExecuteExtensionOperation:ue,RemoveGenericNervousSystemFunction:e.Nat64,SetTopicsForCustomProposals:le,RegisterExtension:Oe,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:Ne,TransferSnsTreasuryFunds:se,UpgradeSnsControlledCanister:Re,DeregisterDappCanisters:ge,MintSnsTokens:ye,AdvanceSnsTargetVersion:oe,Unspecified:e.Record({}),ManageSnsMetadata:C,ExecuteGenericNervousSystemFunction:fe,ManageLedgerParameters:ne,Motion:he}),w=e.Record({url:e.Text,title:e.Text,action:e.Opt(ve),summary:e.Text}),Se=e.Record({current_deadline_timestamp_seconds:e.Nat64}),V=e.Record({id:e.Opt(m),payload_text_rendering:e.Opt(e.Text),topic:e.Opt(a),action:e.Nat64,failure_reason:e.Opt(g),action_auxiliary:e.Opt(_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(te),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(Se),minimum_yes_proportion_of_exercised:e.Opt(J),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),X=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),K=e.Record({function_id:e.Nat64,followees:e.Vec(_)}),$=e.Record({to_account:e.Opt(r),percentage_to_disburse:e.Nat32}),xe=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),we=e.Record({additional_dissolve_delay_seconds:e.Nat32}),Ve=e.Record({dissolve_timestamp_seconds:e.Nat64}),Te=e.Variant({ChangeAutoStakeMaturity:xe,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:we,SetDissolveTimestamp:Ve}),Z=e.Record({operation:e.Opt(Te)}),I=e.Record({vote:e.Int32,proposal:e.Opt(m)}),Pe=e.Record({alias:e.Opt(e.Text),neuron_id:e.Opt(_)}),D=e.Record({topic:e.Opt(a),followees:e.Vec(Pe)}),L=e.Record({topic_following:e.Vec(D)}),be=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(r)}),Ye=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),Xe=e.Variant({MemoAndController:Ye,NeuronId:e.Record({})}),Fe=e.Record({by:e.Opt(Xe)}),Ce=e.Record({permissions_to_remove:e.Opt(R),principal_id:e.Opt(e.Principal)}),Me=e.Record({permissions_to_add:e.Opt(R),principal_id:e.Opt(e.Principal)}),ke=e.Record({percentage_to_merge:e.Nat32}),Ke=e.Record({e8s:e.Nat64}),Ae=e.Record({to_account:e.Opt(r),amount:e.Opt(Ke)}),$e=e.Variant({Split:X,Follow:K,DisburseMaturity:$,Configure:Z,RegisterVote:I,SetFollowing:L,SyncCommand:e.Record({}),MakeProposal:w,FinalizeDisburseMaturity:be,ClaimOrRefreshNeuron:Fe,RemoveNeuronPermissions:Ce,AddNeuronPermissions:Me,MergeMaturity:ke,Disburse:Ae}),Ze=e.Record({command:e.Opt($e),timestamp:e.Nat64}),Ie=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),De=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),Le=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(Ie),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,D))})),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(De),voting_power_percentage_multiplier:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64),disburse_maturity_in_progress:e.Vec(Le),followees:e.Vec(e.Tuple(e.Nat64,S)),neuron_fees_e8s:e.Nat64}),ms=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(b),maturity_modulation:e.Opt(f),upgrade_journal:e.Opt(v),mode:e.Int32,parameters:e.Opt(h),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(s),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(x),pending_version:e.Opt(H),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,Ze)),sns_metadata:e.Opt(C),neurons:e.Vec(e.Tuple(e.Text,M)),target_version:e.Opt(s),genesis_timestamp_seconds:e.Nat64}),et=e.Record({principals:e.Vec(e.Principal)}),tt=e.Record({nns_neuron_hotkeys:e.Opt(et),nns_neuron_controller:e.Opt(e.Principal),nns_neuron_id:e.Opt(e.Nat64)}),st=e.Variant({NeuronsFund:tt,Direct:e.Record({})}),ot=e.Record({neuron_ids:e.Vec(_)}),nt=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),participant:e.Opt(st),stake_e8s:e.Opt(e.Nat64),followees:e.Opt(ot),neuron_id:e.Opt(_)}),at=e.Record({neuron_recipes:e.Vec(nt)}),rt=e.Record({neuron_recipes:e.Opt(at)}),it=e.Record({id:e.Opt(_),status:e.Int32}),ct=e.Record({swap_neurons:e.Vec(it)}),_t=e.Variant({Ok:ct,Err:e.Int32}),pt=e.Record({claim_swap_neurons_result:e.Opt(_t)}),dt=e.Record({maturity_modulation:e.Opt(f)}),ut=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)}),lt=e.Record({treasury_metrics:e.Opt(e.Vec(N)),voting_power_metrics:e.Opt(y),last_ledger_block_timestamp:e.Opt(e.Nat64),num_recently_executed_proposals:e.Opt(e.Nat64),num_recently_submitted_proposals:e.Opt(e.Nat64),genesis_timestamp_seconds:e.Opt(e.Nat64)}),mt=e.Variant({Ok:lt,Err:g}),Ue=e.Record({get_metrics_result:e.Opt(mt)}),ze=e.Record({mode:e.Opt(e.Int32)}),Ot=e.Record({neuron_id:e.Opt(_)}),Nt=e.Variant({Error:g,Neuron:M}),He=e.Record({result:e.Opt(Nt)}),We=e.Record({proposal_id:e.Opt(m)}),Rt=e.Variant({Error:g,Proposal:V}),gt=e.Record({result:e.Opt(Rt)}),yt=e.Record({wasm_binary_size:e.Opt(e.Nat),wasm_chunk_store_size:e.Opt(e.Nat),canister_history_size:e.Opt(e.Nat),stable_memory_size:e.Opt(e.Nat),snapshots_size:e.Opt(e.Nat),wasm_memory_size:e.Opt(e.Nat),global_memory_size:e.Opt(e.Nat),custom_sections_size:e.Opt(e.Nat)}),je=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),ft=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}),ht=e.Record({response_payload_bytes_total:e.Opt(e.Nat),num_instructions_total:e.Opt(e.Nat),num_calls_total:e.Opt(e.Nat),request_payload_bytes_total:e.Opt(e.Nat)}),vt=e.Record({memory_metrics:e.Opt(yt),status:je,memory_size:e.Nat,cycles:e.Nat,settings:ft,query_stats:e.Opt(ht),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),St=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)}))}),xt=e.Record({sns_initialization_parameters:e.Text}),wt=e.Record({timers:e.Opt(o)}),Vt=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat64)}),Tt=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)}),Pt=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(d)}),bt=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(_)}),Ft=e.Record({neurons:e.Vec(M)}),Ct=e.Record({topic:e.Opt(a)}),Mt=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(m),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_topics:e.Opt(e.Vec(Ct)),include_status:e.Vec(e.Int32)}),kt=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(V),include_topic_filtering:e.Opt(e.Bool)}),At=e.Record({}),Et=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))}),Gt=e.Record({uncategorized_functions:e.Opt(e.Vec(d)),topics:e.Opt(e.Vec(Et))}),Bt=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),qt=e.Variant({Split:X,Follow:K,DisburseMaturity:$,ClaimOrRefresh:Fe,Configure:Z,RegisterVote:I,SetFollowing:L,MakeProposal:w,StakeMaturity:Bt,RemoveNeuronPermissions:Ce,AddNeuronPermissions:Me,MergeMaturity:ke,Disburse:Ae}),Ut=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(qt)}),zt=e.Record({created_neuron_id:e.Opt(_)}),Ht=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),Wt=e.Record({refreshed_neuron_id:e.Opt(_)}),jt=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),Qt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),Jt=e.Record({transfer_block_height:e.Nat64}),Yt=e.Variant({Error:g,Split:zt,Follow:e.Record({}),DisburseMaturity:Ht,ClaimOrRefresh:Wt,Configure:e.Record({}),RegisterVote:e.Record({}),SetFollowing:e.Record({}),MakeProposal:We,RemoveNeuronPermission:e.Record({}),StakeMaturity:jt,MergeMaturity:Qt,Disburse:Jt,AddNeuronPermission:e.Record({})}),Xt=e.Record({command:e.Opt(Yt)}),Kt=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([rt],[pt],[]),fail_stuck_upgrade_in_progress:e.Func([e.Record({})],[e.Record({})],[]),get_build_metadata:e.Func([],[e.Text],[]),get_latest_reward_event:e.Func([],[x],[]),get_maturity_modulation:e.Func([e.Record({})],[dt],[]),get_metadata:e.Func([e.Record({})],[ut],[]),get_metrics:e.Func([qe],[Ue],[]),get_metrics_replicated:e.Func([qe],[Ue],[]),get_mode:e.Func([e.Record({})],[ze],[]),get_nervous_system_parameters:e.Func([e.Null],[h],[]),get_neuron:e.Func([Ot],[He],[]),get_proposal:e.Func([We],[gt],[]),get_root_canister_status:e.Func([e.Null],[vt],[]),get_running_sns_version:e.Func([e.Record({})],[St],[]),get_sns_initialization_parameters:e.Func([e.Record({})],[xt],[]),get_timers:e.Func([e.Record({})],[wt],[]),get_upgrade_journal:e.Func([Vt],[Tt],[]),list_nervous_system_functions:e.Func([],[Pt],[]),list_neurons:e.Func([bt],[Ft],[]),list_proposals:e.Func([Mt],[kt],[]),list_topics:e.Func([At],[Gt],[]),manage_neuron:e.Func([Ut],[Xt],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([Kt],[e.Record({})],[])})};var Ds=({IDL:e})=>{let t=e.Rec(),o=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),s=e.Record({archive_wasm_hash:e.Vec(e.Nat8),root_wasm_hash:e.Vec(e.Nat8),swap_wasm_hash:e.Vec(e.Nat8),ledger_wasm_hash:e.Vec(e.Nat8),governance_wasm_hash:e.Vec(e.Nat8),index_wasm_hash:e.Vec(e.Nat8)}),n=e.Record({versions:e.Vec(s)}),i=e.Record({upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),a=e.Variant({DappCanisterManagement:e.Null,DaoCommunitySettings:e.Null,ApplicationBusinessLogic:e.Null,CriticalDappOperations:e.Null,TreasuryAssetManagement:e.Null,Governance:e.Null,SnsFrameworkManagement:e.Null}),c=e.Record({topic:e.Opt(a),validator_canister_id:e.Opt(e.Principal),target_canister_id:e.Opt(e.Principal),validator_method_name:e.Opt(e.Text),target_method_name:e.Opt(e.Text)}),u=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:c}),d=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(u)}),l=e.Record({subaccount:e.Vec(e.Nat8)}),r=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(l)}),N=e.Record({name:e.Opt(e.Text),original_amount_e8s:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64),account:e.Opt(r),ledger_canister_id:e.Opt(e.Principal),treasury:e.Int32,timestamp_seconds:e.Opt(e.Nat64)}),y=e.Record({governance_total_potential_voting_power:e.Opt(e.Nat64),timestamp_seconds:e.Opt(e.Nat64)}),b=e.Record({treasury_metrics:e.Vec(N),not_dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),garbage_collectable_neurons_count:e.Nat64,neurons_with_invalid_stake_count:e.Nat64,not_dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),neurons_with_less_than_6_months_dissolve_delay_count:e.Nat64,dissolved_neurons_count:e.Nat64,total_staked_e8s:e.Nat64,total_supply_governance_tokens:e.Nat64,voting_power_metrics:e.Opt(y),not_dissolving_neurons_count:e.Nat64,dissolved_neurons_e8s:e.Nat64,neurons_with_less_than_6_months_dissolve_delay_e8s:e.Nat64,dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),dissolving_neurons_count:e.Nat64,dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),timestamp_seconds:e.Nat64}),f=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),k=e.Record({old_target_version:e.Opt(s),new_target_version:e.Opt(s),is_advanced_automatically:e.Opt(e.Bool)}),O=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(n)}),A=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(s)})})),human_readable:e.Opt(e.Text)}),m=e.Record({id:e.Nat64}),E=e.Record({current_version:e.Opt(s),expected_version:e.Opt(s),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:m,BehindTargetVersion:e.Record({})}))}),G=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)}),q=e.Record({event:e.Opt(e.Variant({TargetVersionSet:k,UpgradeStepsReset:O,UpgradeOutcome:A,UpgradeStarted:E,UpgradeStepsRefreshed:G,TargetVersionReset:B})),timestamp_seconds:e.Opt(e.Nat64)}),v=e.Record({entries:e.Vec(q)}),_=e.Record({id:e.Vec(e.Nat8)}),S=e.Record({followees:e.Vec(_)}),U=e.Record({followees:e.Vec(e.Tuple(e.Nat64,S))}),R=e.Record({permissions:e.Vec(e.Int32)}),z=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(U),max_dissolve_delay_seconds:e.Opt(e.Nat64),max_dissolve_delay_bonus_percentage:e.Opt(e.Nat64),max_followees_per_function:e.Opt(e.Nat64),automatically_advance_target_version:e.Opt(e.Bool),neuron_claimer_permissions:e.Opt(R),neuron_minimum_stake_e8s:e.Opt(e.Nat64),max_neuron_age_for_age_bonus:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),reject_cost_e8s:e.Opt(e.Nat64),max_proposals_to_keep_per_action:e.Opt(e.Nat32),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),max_number_of_neurons:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),max_number_of_proposals_with_ballots:e.Opt(e.Nat64),max_age_bonus_percentage:e.Opt(e.Nat64),neuron_grantable_permissions:e.Opt(R),voting_rewards_parameters:e.Opt(z),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),x=e.Record({rounds_since_last_distribution:e.Opt(e.Nat64),actual_timestamp_seconds:e.Nat64,end_timestamp_seconds:e.Opt(e.Nat64),total_available_e8s_equivalent:e.Opt(e.Nat64),distributed_e8s_equivalent:e.Nat64,round:e.Nat64,settled_proposals:e.Vec(m)}),H=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Opt(e.Nat64),target_version:e.Opt(s)}),g=e.Record({error_message:e.Text,error_type:e.Int32}),W=e.Record({human_readable:e.Opt(e.Text)}),ae=e.Record({e8s:e.Opt(e.Nat64)}),re=e.Record({xdrs_per_icp:e.Opt(W),icps_per_token:e.Opt(W),tokens:e.Opt(ae)}),ie=e.Record({token:e.Opt(e.Int32),account:e.Opt(r),valuation_factors:e.Opt(re),timestamp_seconds:e.Opt(e.Nat64)}),j=e.Record({valuation:e.Opt(ie)}),Q=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(Q)}),_e=e.Variant({TransferSnsTreasuryFunds:j,MintSnsTokens:j,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)}),te=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),Y=e.Record({freezing_threshold:e.Opt(e.Nat64),wasm_memory_threshold:e.Opt(e.Nat64),canister_ids:e.Vec(e.Principal),reserved_cycles_limit:e.Opt(e.Nat64),log_visibility:e.Opt(e.Int32),wasm_memory_limit:e.Opt(e.Nat64),memory_allocation:e.Opt(e.Nat64),compute_allocation:e.Opt(e.Nat64)});t.fill(e.Variant({Int:e.Int64,Map:e.Vec(e.Tuple(e.Text,t)),Nat:e.Nat64,Blob:e.Vec(e.Nat8),Bool:e.Bool,Text:e.Text,Array:e.Vec(t)}));let de=e.Record({value:e.Opt(t)}),ue=e.Record({extension_canister_id:e.Opt(e.Principal),operation_name:e.Opt(e.Text),operation_arg:e.Opt(de)}),le=e.Record({custom_function_id_to_topic:e.Vec(e.Tuple(e.Nat64,a))}),F=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)}),me=e.Record({value:e.Opt(t)}),Oe=e.Record({chunked_canister_wasm:e.Opt(F),extension_init:e.Opt(me)}),Ne=e.Record({canister_ids:e.Vec(e.Principal)}),se=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}),Re=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(F),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),ge=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ye=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),oe=e.Record({new_target:e.Opt(Q)}),C=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),fe=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),ne=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)}),he=e.Record({motion_text:e.Text}),ve=e.Variant({ManageNervousSystemParameters:h,AddGenericNervousSystemFunction:d,ManageDappCanisterSettings:Y,ExecuteExtensionOperation:ue,RemoveGenericNervousSystemFunction:e.Nat64,SetTopicsForCustomProposals:le,RegisterExtension:Oe,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:Ne,TransferSnsTreasuryFunds:se,UpgradeSnsControlledCanister:Re,DeregisterDappCanisters:ge,MintSnsTokens:ye,AdvanceSnsTargetVersion:oe,Unspecified:e.Record({}),ManageSnsMetadata:C,ExecuteGenericNervousSystemFunction:fe,ManageLedgerParameters:ne,Motion:he}),w=e.Record({url:e.Text,title:e.Text,action:e.Opt(ve),summary:e.Text}),Se=e.Record({current_deadline_timestamp_seconds:e.Nat64}),V=e.Record({id:e.Opt(m),payload_text_rendering:e.Opt(e.Text),topic:e.Opt(a),action:e.Nat64,failure_reason:e.Opt(g),action_auxiliary:e.Opt(_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(te),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(Se),minimum_yes_proportion_of_exercised:e.Opt(J),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),X=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),K=e.Record({function_id:e.Nat64,followees:e.Vec(_)}),$=e.Record({to_account:e.Opt(r),percentage_to_disburse:e.Nat32}),xe=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),we=e.Record({additional_dissolve_delay_seconds:e.Nat32}),Ve=e.Record({dissolve_timestamp_seconds:e.Nat64}),Te=e.Variant({ChangeAutoStakeMaturity:xe,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:we,SetDissolveTimestamp:Ve}),Z=e.Record({operation:e.Opt(Te)}),I=e.Record({vote:e.Int32,proposal:e.Opt(m)}),Pe=e.Record({alias:e.Opt(e.Text),neuron_id:e.Opt(_)}),D=e.Record({topic:e.Opt(a),followees:e.Vec(Pe)}),L=e.Record({topic_following:e.Vec(D)}),be=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(r)}),Ye=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),Xe=e.Variant({MemoAndController:Ye,NeuronId:e.Record({})}),Fe=e.Record({by:e.Opt(Xe)}),Ce=e.Record({permissions_to_remove:e.Opt(R),principal_id:e.Opt(e.Principal)}),Me=e.Record({permissions_to_add:e.Opt(R),principal_id:e.Opt(e.Principal)}),ke=e.Record({percentage_to_merge:e.Nat32}),Ke=e.Record({e8s:e.Nat64}),Ae=e.Record({to_account:e.Opt(r),amount:e.Opt(Ke)}),$e=e.Variant({Split:X,Follow:K,DisburseMaturity:$,Configure:Z,RegisterVote:I,SetFollowing:L,SyncCommand:e.Record({}),MakeProposal:w,FinalizeDisburseMaturity:be,ClaimOrRefreshNeuron:Fe,RemoveNeuronPermissions:Ce,AddNeuronPermissions:Me,MergeMaturity:ke,Disburse:Ae}),Ze=e.Record({command:e.Opt($e),timestamp:e.Nat64}),Ie=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),De=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),Le=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(Ie),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,D))})),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(De),voting_power_percentage_multiplier:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64),disburse_maturity_in_progress:e.Vec(Le),followees:e.Vec(e.Tuple(e.Nat64,S)),neuron_fees_e8s:e.Nat64}),ms=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(b),maturity_modulation:e.Opt(f),upgrade_journal:e.Opt(v),mode:e.Int32,parameters:e.Opt(h),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(s),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(x),pending_version:e.Opt(H),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,Ze)),sns_metadata:e.Opt(C),neurons:e.Vec(e.Tuple(e.Text,M)),target_version:e.Opt(s),genesis_timestamp_seconds:e.Nat64}),et=e.Record({principals:e.Vec(e.Principal)}),tt=e.Record({nns_neuron_hotkeys:e.Opt(et),nns_neuron_controller:e.Opt(e.Principal),nns_neuron_id:e.Opt(e.Nat64)}),st=e.Variant({NeuronsFund:tt,Direct:e.Record({})}),ot=e.Record({neuron_ids:e.Vec(_)}),nt=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),participant:e.Opt(st),stake_e8s:e.Opt(e.Nat64),followees:e.Opt(ot),neuron_id:e.Opt(_)}),at=e.Record({neuron_recipes:e.Vec(nt)}),rt=e.Record({neuron_recipes:e.Opt(at)}),it=e.Record({id:e.Opt(_),status:e.Int32}),ct=e.Record({swap_neurons:e.Vec(it)}),_t=e.Variant({Ok:ct,Err:e.Int32}),pt=e.Record({claim_swap_neurons_result:e.Opt(_t)}),dt=e.Record({maturity_modulation:e.Opt(f)}),ut=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)}),lt=e.Record({treasury_metrics:e.Opt(e.Vec(N)),voting_power_metrics:e.Opt(y),last_ledger_block_timestamp:e.Opt(e.Nat64),num_recently_executed_proposals:e.Opt(e.Nat64),num_recently_submitted_proposals:e.Opt(e.Nat64),genesis_timestamp_seconds:e.Opt(e.Nat64)}),mt=e.Variant({Ok:lt,Err:g}),Ue=e.Record({get_metrics_result:e.Opt(mt)}),ze=e.Record({mode:e.Opt(e.Int32)}),Ot=e.Record({neuron_id:e.Opt(_)}),Nt=e.Variant({Error:g,Neuron:M}),He=e.Record({result:e.Opt(Nt)}),We=e.Record({proposal_id:e.Opt(m)}),Rt=e.Variant({Error:g,Proposal:V}),gt=e.Record({result:e.Opt(Rt)}),yt=e.Record({wasm_binary_size:e.Opt(e.Nat),wasm_chunk_store_size:e.Opt(e.Nat),canister_history_size:e.Opt(e.Nat),stable_memory_size:e.Opt(e.Nat),snapshots_size:e.Opt(e.Nat),wasm_memory_size:e.Opt(e.Nat),global_memory_size:e.Opt(e.Nat),custom_sections_size:e.Opt(e.Nat)}),je=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),ft=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}),ht=e.Record({response_payload_bytes_total:e.Opt(e.Nat),num_instructions_total:e.Opt(e.Nat),num_calls_total:e.Opt(e.Nat),request_payload_bytes_total:e.Opt(e.Nat)}),vt=e.Record({memory_metrics:e.Opt(yt),status:je,memory_size:e.Nat,cycles:e.Nat,settings:ft,query_stats:e.Opt(ht),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),St=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)}))}),xt=e.Record({sns_initialization_parameters:e.Text}),wt=e.Record({timers:e.Opt(o)}),Vt=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat64)}),Tt=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)}),Pt=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(d)}),bt=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(_)}),Ft=e.Record({neurons:e.Vec(M)}),Ct=e.Record({topic:e.Opt(a)}),Mt=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(m),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_topics:e.Opt(e.Vec(Ct)),include_status:e.Vec(e.Int32)}),kt=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(V),include_topic_filtering:e.Opt(e.Bool)}),At=e.Record({}),Et=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))}),Gt=e.Record({uncategorized_functions:e.Opt(e.Vec(d)),topics:e.Opt(e.Vec(Et))}),Bt=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),qt=e.Variant({Split:X,Follow:K,DisburseMaturity:$,ClaimOrRefresh:Fe,Configure:Z,RegisterVote:I,SetFollowing:L,MakeProposal:w,StakeMaturity:Bt,RemoveNeuronPermissions:Ce,AddNeuronPermissions:Me,MergeMaturity:ke,Disburse:Ae}),Ut=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(qt)}),zt=e.Record({created_neuron_id:e.Opt(_)}),Ht=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),Wt=e.Record({refreshed_neuron_id:e.Opt(_)}),jt=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),Qt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),Jt=e.Record({transfer_block_height:e.Nat64}),Yt=e.Variant({Error:g,Split:zt,Follow:e.Record({}),DisburseMaturity:Ht,ClaimOrRefresh:Wt,Configure:e.Record({}),RegisterVote:e.Record({}),SetFollowing:e.Record({}),MakeProposal:We,RemoveNeuronPermission:e.Record({}),StakeMaturity:jt,MergeMaturity:Qt,Disburse:Jt,AddNeuronPermission:e.Record({})}),Xt=e.Record({command:e.Opt(Yt)}),Kt=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([rt],[pt],[]),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([],[x],["query"]),get_maturity_modulation:e.Func([e.Record({})],[dt],[]),get_metadata:e.Func([e.Record({})],[ut],["query"]),get_metrics:e.Func([qe],[Ue],["composite_query"]),get_metrics_replicated:e.Func([qe],[Ue],[]),get_mode:e.Func([e.Record({})],[ze],["query"]),get_nervous_system_parameters:e.Func([e.Null],[h],["query"]),get_neuron:e.Func([Ot],[He],["query"]),get_proposal:e.Func([We],[gt],["query"]),get_root_canister_status:e.Func([e.Null],[vt],[]),get_running_sns_version:e.Func([e.Record({})],[St],["query"]),get_sns_initialization_parameters:e.Func([e.Record({})],[xt],["query"]),get_timers:e.Func([e.Record({})],[wt],["query"]),get_upgrade_journal:e.Func([Vt],[Tt],["query"]),list_nervous_system_functions:e.Func([],[Pt],["query"]),list_neurons:e.Func([bt],[Ft],["query"]),list_proposals:e.Func([Mt],[kt],["query"]),list_topics:e.Func([At],[Gt],["query"]),manage_neuron:e.Func([Ut],[Xt],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([Kt],[e.Record({})],[])})};var Zt=class e extends P.Canister{static create(t){let{service:o,certifiedService:s,canisterId:n}=(0,P.createServices)({options:t,idlFactory:Ds,certifiedIdlFactory:Is});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(Hs(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=Ts(t);await this.manageNeuron(o)};removeNeuronPermissions=async t=>{let o=Ps(t);await this.manageNeuron(o)};splitNeuron=async t=>{let o=bs(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=Fs(t);await this.manageNeuron(o)};startDissolving=async t=>{let o=Cs(t);await this.manageNeuron(o)};stopDissolving=async t=>{let o=Ms(t);await this.manageNeuron(o)};stakeMaturity=async({neuronId:t,percentageToStake:o})=>{(0,P.assertPercentageNumber)(o??100);let s=ks({neuronId:t,percentageToStake:o});await this.manageNeuron(s)};disburseMaturity=async t=>{(0,P.assertPercentageNumber)(t.percentageToDisburse);let o=As(t);await this.manageNeuron(o)};autoStakeMaturity=async t=>{let o=Es(t);await this.manageNeuron(o)};setDissolveTimestamp=async t=>{let o=Gs(t);await this.manageNeuron(o)};increaseDissolveDelay=async t=>{let o=Bs(t);await this.manageNeuron(o)};setTopicFollowees=async t=>{let o=qs(t);await this.manageNeuron(o)};setFollowing=async t=>{let o=Us(t);await this.manageNeuron(o)};registerVote=async t=>{let o=zs(t);await this.manageNeuron(o)};refreshNeuron=async t=>{let o=hs({subaccount:t.id});await this.manageNeuron(o)};claimNeuron=async({memo:t,controller:o,subaccount:s})=>{let n=hs({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 Ee=require("@dfinity/utils");var Ls=({IDL:e})=>{let t=e.Rec(),o=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),s=e.Record({archive_wasm_hash:e.Vec(e.Nat8),root_wasm_hash:e.Vec(e.Nat8),swap_wasm_hash:e.Vec(e.Nat8),ledger_wasm_hash:e.Vec(e.Nat8),governance_wasm_hash:e.Vec(e.Nat8),index_wasm_hash:e.Vec(e.Nat8)}),n=e.Record({versions:e.Vec(s)}),i=e.Record({upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),a=e.Variant({DappCanisterManagement:e.Null,DaoCommunitySettings:e.Null,ApplicationBusinessLogic:e.Null,CriticalDappOperations:e.Null,TreasuryAssetManagement:e.Null,Governance:e.Null,SnsFrameworkManagement:e.Null}),c=e.Record({topic:e.Opt(a),validator_canister_id:e.Opt(e.Principal),target_canister_id:e.Opt(e.Principal),validator_method_name:e.Opt(e.Text),target_method_name:e.Opt(e.Text)}),u=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:c}),d=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(u)}),l=e.Record({subaccount:e.Vec(e.Nat8)}),r=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(l)}),N=e.Record({name:e.Opt(e.Text),original_amount_e8s:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64),account:e.Opt(r),ledger_canister_id:e.Opt(e.Principal),treasury:e.Int32,timestamp_seconds:e.Opt(e.Nat64)}),y=e.Record({governance_total_potential_voting_power:e.Opt(e.Nat64),timestamp_seconds:e.Opt(e.Nat64)}),b=e.Record({treasury_metrics:e.Vec(N),not_dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),garbage_collectable_neurons_count:e.Nat64,neurons_with_invalid_stake_count:e.Nat64,not_dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),neurons_with_less_than_6_months_dissolve_delay_count:e.Nat64,dissolved_neurons_count:e.Nat64,total_staked_e8s:e.Nat64,total_supply_governance_tokens:e.Nat64,voting_power_metrics:e.Opt(y),not_dissolving_neurons_count:e.Nat64,dissolved_neurons_e8s:e.Nat64,neurons_with_less_than_6_months_dissolve_delay_e8s:e.Nat64,dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),dissolving_neurons_count:e.Nat64,dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),timestamp_seconds:e.Nat64}),f=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),k=e.Record({old_target_version:e.Opt(s),new_target_version:e.Opt(s),is_advanced_automatically:e.Opt(e.Bool)}),O=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(n)}),A=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(s)})})),human_readable:e.Opt(e.Text)}),m=e.Record({id:e.Nat64}),E=e.Record({current_version:e.Opt(s),expected_version:e.Opt(s),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:m,BehindTargetVersion:e.Record({})}))}),G=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)}),q=e.Record({event:e.Opt(e.Variant({TargetVersionSet:k,UpgradeStepsReset:O,UpgradeOutcome:A,UpgradeStarted:E,UpgradeStepsRefreshed:G,TargetVersionReset:B})),timestamp_seconds:e.Opt(e.Nat64)}),v=e.Record({entries:e.Vec(q)}),_=e.Record({id:e.Vec(e.Nat8)}),S=e.Record({followees:e.Vec(_)}),U=e.Record({followees:e.Vec(e.Tuple(e.Nat64,S))}),R=e.Record({permissions:e.Vec(e.Int32)}),z=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(U),max_dissolve_delay_seconds:e.Opt(e.Nat64),max_dissolve_delay_bonus_percentage:e.Opt(e.Nat64),max_followees_per_function:e.Opt(e.Nat64),automatically_advance_target_version:e.Opt(e.Bool),neuron_claimer_permissions:e.Opt(R),neuron_minimum_stake_e8s:e.Opt(e.Nat64),max_neuron_age_for_age_bonus:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),reject_cost_e8s:e.Opt(e.Nat64),max_proposals_to_keep_per_action:e.Opt(e.Nat32),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),max_number_of_neurons:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),max_number_of_proposals_with_ballots:e.Opt(e.Nat64),max_age_bonus_percentage:e.Opt(e.Nat64),neuron_grantable_permissions:e.Opt(R),voting_rewards_parameters:e.Opt(z),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),x=e.Record({rounds_since_last_distribution:e.Opt(e.Nat64),actual_timestamp_seconds:e.Nat64,end_timestamp_seconds:e.Opt(e.Nat64),total_available_e8s_equivalent:e.Opt(e.Nat64),distributed_e8s_equivalent:e.Nat64,round:e.Nat64,settled_proposals:e.Vec(m)}),H=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Opt(e.Nat64),target_version:e.Opt(s)}),g=e.Record({error_message:e.Text,error_type:e.Int32}),W=e.Record({human_readable:e.Opt(e.Text)}),ae=e.Record({e8s:e.Opt(e.Nat64)}),re=e.Record({xdrs_per_icp:e.Opt(W),icps_per_token:e.Opt(W),tokens:e.Opt(ae)}),ie=e.Record({token:e.Opt(e.Int32),account:e.Opt(r),valuation_factors:e.Opt(re),timestamp_seconds:e.Opt(e.Nat64)}),j=e.Record({valuation:e.Opt(ie)}),Q=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(Q)}),_e=e.Variant({TransferSnsTreasuryFunds:j,MintSnsTokens:j,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)}),te=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),Y=e.Record({freezing_threshold:e.Opt(e.Nat64),wasm_memory_threshold:e.Opt(e.Nat64),canister_ids:e.Vec(e.Principal),reserved_cycles_limit:e.Opt(e.Nat64),log_visibility:e.Opt(e.Int32),wasm_memory_limit:e.Opt(e.Nat64),memory_allocation:e.Opt(e.Nat64),compute_allocation:e.Opt(e.Nat64)});t.fill(e.Variant({Int:e.Int64,Map:e.Vec(e.Tuple(e.Text,t)),Nat:e.Nat64,Blob:e.Vec(e.Nat8),Bool:e.Bool,Text:e.Text,Array:e.Vec(t)}));let de=e.Record({value:e.Opt(t)}),ue=e.Record({extension_canister_id:e.Opt(e.Principal),operation_name:e.Opt(e.Text),operation_arg:e.Opt(de)}),le=e.Record({custom_function_id_to_topic:e.Vec(e.Tuple(e.Nat64,a))}),F=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)}),me=e.Record({value:e.Opt(t)}),Oe=e.Record({chunked_canister_wasm:e.Opt(F),extension_init:e.Opt(me)}),Ne=e.Record({canister_ids:e.Vec(e.Principal)}),se=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}),Re=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(F),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),ge=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ye=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),oe=e.Record({new_target:e.Opt(Q)}),C=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),fe=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),ne=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)}),he=e.Record({motion_text:e.Text}),ve=e.Variant({ManageNervousSystemParameters:h,AddGenericNervousSystemFunction:d,ManageDappCanisterSettings:Y,ExecuteExtensionOperation:ue,RemoveGenericNervousSystemFunction:e.Nat64,SetTopicsForCustomProposals:le,RegisterExtension:Oe,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:Ne,TransferSnsTreasuryFunds:se,UpgradeSnsControlledCanister:Re,DeregisterDappCanisters:ge,MintSnsTokens:ye,AdvanceSnsTargetVersion:oe,Unspecified:e.Record({}),ManageSnsMetadata:C,ExecuteGenericNervousSystemFunction:fe,ManageLedgerParameters:ne,Motion:he}),w=e.Record({url:e.Text,title:e.Text,action:e.Opt(ve),summary:e.Text}),Se=e.Record({current_deadline_timestamp_seconds:e.Nat64}),V=e.Record({id:e.Opt(m),payload_text_rendering:e.Opt(e.Text),topic:e.Opt(a),action:e.Nat64,failure_reason:e.Opt(g),action_auxiliary:e.Opt(_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(te),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(Se),minimum_yes_proportion_of_exercised:e.Opt(J),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),X=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),K=e.Record({function_id:e.Nat64,followees:e.Vec(_)}),$=e.Record({to_account:e.Opt(r),percentage_to_disburse:e.Nat32}),xe=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),we=e.Record({additional_dissolve_delay_seconds:e.Nat32}),Ve=e.Record({dissolve_timestamp_seconds:e.Nat64}),Te=e.Variant({ChangeAutoStakeMaturity:xe,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:we,SetDissolveTimestamp:Ve}),Z=e.Record({operation:e.Opt(Te)}),I=e.Record({vote:e.Int32,proposal:e.Opt(m)}),Pe=e.Record({alias:e.Opt(e.Text),neuron_id:e.Opt(_)}),D=e.Record({topic:e.Opt(a),followees:e.Vec(Pe)}),L=e.Record({topic_following:e.Vec(D)}),be=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(r)}),Ye=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),Xe=e.Variant({MemoAndController:Ye,NeuronId:e.Record({})}),Fe=e.Record({by:e.Opt(Xe)}),Ce=e.Record({permissions_to_remove:e.Opt(R),principal_id:e.Opt(e.Principal)}),Me=e.Record({permissions_to_add:e.Opt(R),principal_id:e.Opt(e.Principal)}),ke=e.Record({percentage_to_merge:e.Nat32}),Ke=e.Record({e8s:e.Nat64}),Ae=e.Record({to_account:e.Opt(r),amount:e.Opt(Ke)}),$e=e.Variant({Split:X,Follow:K,DisburseMaturity:$,Configure:Z,RegisterVote:I,SetFollowing:L,SyncCommand:e.Record({}),MakeProposal:w,FinalizeDisburseMaturity:be,ClaimOrRefreshNeuron:Fe,RemoveNeuronPermissions:Ce,AddNeuronPermissions:Me,MergeMaturity:ke,Disburse:Ae}),Ze=e.Record({command:e.Opt($e),timestamp:e.Nat64}),Ie=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),De=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),Le=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(Ie),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,D))})),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(De),voting_power_percentage_multiplier:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64),disburse_maturity_in_progress:e.Vec(Le),followees:e.Vec(e.Tuple(e.Nat64,S)),neuron_fees_e8s:e.Nat64}),ms=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(b),maturity_modulation:e.Opt(f),upgrade_journal:e.Opt(v),mode:e.Int32,parameters:e.Opt(h),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(s),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(x),pending_version:e.Opt(H),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,Ze)),sns_metadata:e.Opt(C),neurons:e.Vec(e.Tuple(e.Text,M)),target_version:e.Opt(s),genesis_timestamp_seconds:e.Nat64}),et=e.Record({id:e.Opt(_),amount_e8s:e.Opt(e.Nat64)}),tt=e.Record({new_maturity_e8s:e.Opt(e.Nat64)}),st=e.Record({target_version:e.Opt(s)}),ot=e.Record({}),nt=e.Record({principals:e.Vec(e.Principal)}),at=e.Record({nns_neuron_hotkeys:e.Opt(nt),nns_neuron_controller:e.Opt(e.Principal),nns_neuron_id:e.Opt(e.Nat64)}),rt=e.Variant({NeuronsFund:at,Direct:e.Record({})}),it=e.Record({neuron_ids:e.Vec(_)}),ct=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),participant:e.Opt(rt),stake_e8s:e.Opt(e.Nat64),followees:e.Opt(it),neuron_id:e.Opt(_)}),_t=e.Record({neuron_recipes:e.Vec(ct)}),pt=e.Record({neuron_recipes:e.Opt(_t)}),dt=e.Record({id:e.Opt(_),status:e.Int32}),ut=e.Record({swap_neurons:e.Vec(dt)}),qe=e.Variant({Ok:ut,Err:e.Int32}),lt=e.Record({claim_swap_neurons_result:e.Opt(qe)}),mt=e.Record({maturity_modulation:e.Opt(f)}),Ue=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),ze=e.Record({time_window_seconds:e.Opt(e.Nat64)}),Ot=e.Record({treasury_metrics:e.Opt(e.Vec(N)),voting_power_metrics:e.Opt(y),last_ledger_block_timestamp:e.Opt(e.Nat64),num_recently_executed_proposals:e.Opt(e.Nat64),num_recently_submitted_proposals:e.Opt(e.Nat64),genesis_timestamp_seconds:e.Opt(e.Nat64)}),Nt=e.Variant({Ok:Ot,Err:g}),He=e.Record({get_metrics_result:e.Opt(Nt)}),We=e.Record({mode:e.Opt(e.Int32)}),Rt=e.Record({neuron_id:e.Opt(_)}),gt=e.Variant({Error:g,Neuron:M}),yt=e.Record({result:e.Opt(gt)}),je=e.Record({proposal_id:e.Opt(m)}),ft=e.Variant({Error:g,Proposal:V}),ht=e.Record({result:e.Opt(ft)}),vt=e.Record({wasm_binary_size:e.Opt(e.Nat),wasm_chunk_store_size:e.Opt(e.Nat),canister_history_size:e.Opt(e.Nat),stable_memory_size:e.Opt(e.Nat),snapshots_size:e.Opt(e.Nat),wasm_memory_size:e.Opt(e.Nat),global_memory_size:e.Opt(e.Nat),custom_sections_size:e.Opt(e.Nat)}),St=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),xt=e.Record({freezing_threshold:e.Nat,wasm_memory_threshold:e.Opt(e.Nat),controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),wt=e.Record({response_payload_bytes_total:e.Opt(e.Nat),num_instructions_total:e.Opt(e.Nat),num_calls_total:e.Opt(e.Nat),request_payload_bytes_total:e.Opt(e.Nat)}),Vt=e.Record({memory_metrics:e.Opt(vt),status:St,memory_size:e.Nat,cycles:e.Nat,settings:xt,query_stats:e.Opt(wt),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),Tt=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)}))}),Pt=e.Record({sns_initialization_parameters:e.Text}),bt=e.Record({timers:e.Opt(o)}),Ft=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat64)}),Ct=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)}),Mt=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(d)}),kt=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(_)}),At=e.Record({neurons:e.Vec(M)}),Et=e.Record({topic:e.Opt(a)}),Gt=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(m),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_topics:e.Opt(e.Vec(Et)),include_status:e.Vec(e.Int32)}),Bt=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(V),include_topic_filtering:e.Opt(e.Bool)}),qt=e.Record({}),Ut=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))}),zt=e.Record({uncategorized_functions:e.Opt(e.Vec(d)),topics:e.Opt(e.Vec(Ut))}),Ht=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),Wt=e.Variant({Split:X,Follow:K,DisburseMaturity:$,ClaimOrRefresh:Fe,Configure:Z,RegisterVote:I,SetFollowing:L,MakeProposal:w,StakeMaturity:Ht,RemoveNeuronPermissions:Ce,AddNeuronPermissions:Me,MergeMaturity:ke,Disburse:Ae}),jt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(Wt)}),Qt=e.Record({created_neuron_id:e.Opt(_)}),Jt=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),Yt=e.Record({refreshed_neuron_id:e.Opt(_)}),Xt=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),Kt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),Os=e.Record({transfer_block_height:e.Nat64}),Ns=e.Variant({Error:g,Split:Qt,Follow:e.Record({}),DisburseMaturity:Jt,ClaimOrRefresh:Yt,Configure:e.Record({}),RegisterVote:e.Record({}),SetFollowing:e.Record({}),MakeProposal:je,RemoveNeuronPermission:e.Record({}),StakeMaturity:Xt,MergeMaturity:Kt,Disburse:Os,AddNeuronPermission:e.Record({})}),Rs=e.Record({command:e.Opt(Ns)}),gs=e.Record({recipient:e.Opt(r),amount_e8s:e.Opt(e.Nat64)}),ys=e.Record({mode:e.Int32});return e.Service({add_maturity:e.Func([et],[tt],[]),advance_target_version:e.Func([st],[ot],[]),claim_swap_neurons:e.Func([pt],[lt],[]),fail_stuck_upgrade_in_progress:e.Func([e.Record({})],[e.Record({})],[]),get_build_metadata:e.Func([],[e.Text],[]),get_latest_reward_event:e.Func([],[x],[]),get_maturity_modulation:e.Func([e.Record({})],[mt],[]),get_metadata:e.Func([e.Record({})],[Ue],[]),get_metrics:e.Func([ze],[He],[]),get_metrics_replicated:e.Func([ze],[He],[]),get_mode:e.Func([e.Record({})],[We],[]),get_nervous_system_parameters:e.Func([e.Null],[h],[]),get_neuron:e.Func([Rt],[yt],[]),get_proposal:e.Func([je],[ht],[]),get_root_canister_status:e.Func([e.Null],[Vt],[]),get_running_sns_version:e.Func([e.Record({})],[Tt],[]),get_sns_initialization_parameters:e.Func([e.Record({})],[Pt],[]),get_timers:e.Func([e.Record({})],[bt],[]),get_upgrade_journal:e.Func([Ft],[Ct],[]),list_nervous_system_functions:e.Func([],[Mt],[]),list_neurons:e.Func([kt],[At],[]),list_proposals:e.Func([Gt],[Bt],[]),list_topics:e.Func([qt],[zt],[]),manage_neuron:e.Func([jt],[Rs],[]),mint_tokens:e.Func([gs],[e.Record({})],[]),refresh_cached_upgrade_steps:e.Func([e.Record({})],[e.Record({})],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([ys],[e.Record({})],[]),update_neuron:e.Func([M],[e.Opt(g)],[])})};var eo=({IDL:e})=>{let t=e.Rec(),o=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),s=e.Record({archive_wasm_hash:e.Vec(e.Nat8),root_wasm_hash:e.Vec(e.Nat8),swap_wasm_hash:e.Vec(e.Nat8),ledger_wasm_hash:e.Vec(e.Nat8),governance_wasm_hash:e.Vec(e.Nat8),index_wasm_hash:e.Vec(e.Nat8)}),n=e.Record({versions:e.Vec(s)}),i=e.Record({upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),a=e.Variant({DappCanisterManagement:e.Null,DaoCommunitySettings:e.Null,ApplicationBusinessLogic:e.Null,CriticalDappOperations:e.Null,TreasuryAssetManagement:e.Null,Governance:e.Null,SnsFrameworkManagement:e.Null}),c=e.Record({topic:e.Opt(a),validator_canister_id:e.Opt(e.Principal),target_canister_id:e.Opt(e.Principal),validator_method_name:e.Opt(e.Text),target_method_name:e.Opt(e.Text)}),u=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:c}),d=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(u)}),l=e.Record({subaccount:e.Vec(e.Nat8)}),r=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(l)}),N=e.Record({name:e.Opt(e.Text),original_amount_e8s:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64),account:e.Opt(r),ledger_canister_id:e.Opt(e.Principal),treasury:e.Int32,timestamp_seconds:e.Opt(e.Nat64)}),y=e.Record({governance_total_potential_voting_power:e.Opt(e.Nat64),timestamp_seconds:e.Opt(e.Nat64)}),b=e.Record({treasury_metrics:e.Vec(N),not_dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),garbage_collectable_neurons_count:e.Nat64,neurons_with_invalid_stake_count:e.Nat64,not_dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),neurons_with_less_than_6_months_dissolve_delay_count:e.Nat64,dissolved_neurons_count:e.Nat64,total_staked_e8s:e.Nat64,total_supply_governance_tokens:e.Nat64,voting_power_metrics:e.Opt(y),not_dissolving_neurons_count:e.Nat64,dissolved_neurons_e8s:e.Nat64,neurons_with_less_than_6_months_dissolve_delay_e8s:e.Nat64,dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),dissolving_neurons_count:e.Nat64,dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),timestamp_seconds:e.Nat64}),f=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),k=e.Record({old_target_version:e.Opt(s),new_target_version:e.Opt(s),is_advanced_automatically:e.Opt(e.Bool)}),O=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(n)}),A=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(s)})})),human_readable:e.Opt(e.Text)}),m=e.Record({id:e.Nat64}),E=e.Record({current_version:e.Opt(s),expected_version:e.Opt(s),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:m,BehindTargetVersion:e.Record({})}))}),G=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)}),q=e.Record({event:e.Opt(e.Variant({TargetVersionSet:k,UpgradeStepsReset:O,UpgradeOutcome:A,UpgradeStarted:E,UpgradeStepsRefreshed:G,TargetVersionReset:B})),timestamp_seconds:e.Opt(e.Nat64)}),v=e.Record({entries:e.Vec(q)}),_=e.Record({id:e.Vec(e.Nat8)}),S=e.Record({followees:e.Vec(_)}),U=e.Record({followees:e.Vec(e.Tuple(e.Nat64,S))}),R=e.Record({permissions:e.Vec(e.Int32)}),z=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(U),max_dissolve_delay_seconds:e.Opt(e.Nat64),max_dissolve_delay_bonus_percentage:e.Opt(e.Nat64),max_followees_per_function:e.Opt(e.Nat64),automatically_advance_target_version:e.Opt(e.Bool),neuron_claimer_permissions:e.Opt(R),neuron_minimum_stake_e8s:e.Opt(e.Nat64),max_neuron_age_for_age_bonus:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),reject_cost_e8s:e.Opt(e.Nat64),max_proposals_to_keep_per_action:e.Opt(e.Nat32),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),max_number_of_neurons:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),max_number_of_proposals_with_ballots:e.Opt(e.Nat64),max_age_bonus_percentage:e.Opt(e.Nat64),neuron_grantable_permissions:e.Opt(R),voting_rewards_parameters:e.Opt(z),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),x=e.Record({rounds_since_last_distribution:e.Opt(e.Nat64),actual_timestamp_seconds:e.Nat64,end_timestamp_seconds:e.Opt(e.Nat64),total_available_e8s_equivalent:e.Opt(e.Nat64),distributed_e8s_equivalent:e.Nat64,round:e.Nat64,settled_proposals:e.Vec(m)}),H=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Opt(e.Nat64),target_version:e.Opt(s)}),g=e.Record({error_message:e.Text,error_type:e.Int32}),W=e.Record({human_readable:e.Opt(e.Text)}),ae=e.Record({e8s:e.Opt(e.Nat64)}),re=e.Record({xdrs_per_icp:e.Opt(W),icps_per_token:e.Opt(W),tokens:e.Opt(ae)}),ie=e.Record({token:e.Opt(e.Int32),account:e.Opt(r),valuation_factors:e.Opt(re),timestamp_seconds:e.Opt(e.Nat64)}),j=e.Record({valuation:e.Opt(ie)}),Q=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(Q)}),_e=e.Variant({TransferSnsTreasuryFunds:j,MintSnsTokens:j,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)}),te=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),Y=e.Record({freezing_threshold:e.Opt(e.Nat64),wasm_memory_threshold:e.Opt(e.Nat64),canister_ids:e.Vec(e.Principal),reserved_cycles_limit:e.Opt(e.Nat64),log_visibility:e.Opt(e.Int32),wasm_memory_limit:e.Opt(e.Nat64),memory_allocation:e.Opt(e.Nat64),compute_allocation:e.Opt(e.Nat64)});t.fill(e.Variant({Int:e.Int64,Map:e.Vec(e.Tuple(e.Text,t)),Nat:e.Nat64,Blob:e.Vec(e.Nat8),Bool:e.Bool,Text:e.Text,Array:e.Vec(t)}));let de=e.Record({value:e.Opt(t)}),ue=e.Record({extension_canister_id:e.Opt(e.Principal),operation_name:e.Opt(e.Text),operation_arg:e.Opt(de)}),le=e.Record({custom_function_id_to_topic:e.Vec(e.Tuple(e.Nat64,a))}),F=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)}),me=e.Record({value:e.Opt(t)}),Oe=e.Record({chunked_canister_wasm:e.Opt(F),extension_init:e.Opt(me)}),Ne=e.Record({canister_ids:e.Vec(e.Principal)}),se=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}),Re=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(F),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),ge=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ye=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),oe=e.Record({new_target:e.Opt(Q)}),C=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),fe=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),ne=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)}),he=e.Record({motion_text:e.Text}),ve=e.Variant({ManageNervousSystemParameters:h,AddGenericNervousSystemFunction:d,ManageDappCanisterSettings:Y,ExecuteExtensionOperation:ue,RemoveGenericNervousSystemFunction:e.Nat64,SetTopicsForCustomProposals:le,RegisterExtension:Oe,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:Ne,TransferSnsTreasuryFunds:se,UpgradeSnsControlledCanister:Re,DeregisterDappCanisters:ge,MintSnsTokens:ye,AdvanceSnsTargetVersion:oe,Unspecified:e.Record({}),ManageSnsMetadata:C,ExecuteGenericNervousSystemFunction:fe,ManageLedgerParameters:ne,Motion:he}),w=e.Record({url:e.Text,title:e.Text,action:e.Opt(ve),summary:e.Text}),Se=e.Record({current_deadline_timestamp_seconds:e.Nat64}),V=e.Record({id:e.Opt(m),payload_text_rendering:e.Opt(e.Text),topic:e.Opt(a),action:e.Nat64,failure_reason:e.Opt(g),action_auxiliary:e.Opt(_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(te),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(Se),minimum_yes_proportion_of_exercised:e.Opt(J),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),X=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),K=e.Record({function_id:e.Nat64,followees:e.Vec(_)}),$=e.Record({to_account:e.Opt(r),percentage_to_disburse:e.Nat32}),xe=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),we=e.Record({additional_dissolve_delay_seconds:e.Nat32}),Ve=e.Record({dissolve_timestamp_seconds:e.Nat64}),Te=e.Variant({ChangeAutoStakeMaturity:xe,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:we,SetDissolveTimestamp:Ve}),Z=e.Record({operation:e.Opt(Te)}),I=e.Record({vote:e.Int32,proposal:e.Opt(m)}),Pe=e.Record({alias:e.Opt(e.Text),neuron_id:e.Opt(_)}),D=e.Record({topic:e.Opt(a),followees:e.Vec(Pe)}),L=e.Record({topic_following:e.Vec(D)}),be=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(r)}),Ye=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),Xe=e.Variant({MemoAndController:Ye,NeuronId:e.Record({})}),Fe=e.Record({by:e.Opt(Xe)}),Ce=e.Record({permissions_to_remove:e.Opt(R),principal_id:e.Opt(e.Principal)}),Me=e.Record({permissions_to_add:e.Opt(R),principal_id:e.Opt(e.Principal)}),ke=e.Record({percentage_to_merge:e.Nat32}),Ke=e.Record({e8s:e.Nat64}),Ae=e.Record({to_account:e.Opt(r),amount:e.Opt(Ke)}),$e=e.Variant({Split:X,Follow:K,DisburseMaturity:$,Configure:Z,RegisterVote:I,SetFollowing:L,SyncCommand:e.Record({}),MakeProposal:w,FinalizeDisburseMaturity:be,ClaimOrRefreshNeuron:Fe,RemoveNeuronPermissions:Ce,AddNeuronPermissions:Me,MergeMaturity:ke,Disburse:Ae}),Ze=e.Record({command:e.Opt($e),timestamp:e.Nat64}),Ie=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),De=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),Le=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(Ie),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,D))})),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(De),voting_power_percentage_multiplier:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64),disburse_maturity_in_progress:e.Vec(Le),followees:e.Vec(e.Tuple(e.Nat64,S)),neuron_fees_e8s:e.Nat64}),ms=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(b),maturity_modulation:e.Opt(f),upgrade_journal:e.Opt(v),mode:e.Int32,parameters:e.Opt(h),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(s),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(x),pending_version:e.Opt(H),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,Ze)),sns_metadata:e.Opt(C),neurons:e.Vec(e.Tuple(e.Text,M)),target_version:e.Opt(s),genesis_timestamp_seconds:e.Nat64}),et=e.Record({id:e.Opt(_),amount_e8s:e.Opt(e.Nat64)}),tt=e.Record({new_maturity_e8s:e.Opt(e.Nat64)}),st=e.Record({target_version:e.Opt(s)}),ot=e.Record({}),nt=e.Record({principals:e.Vec(e.Principal)}),at=e.Record({nns_neuron_hotkeys:e.Opt(nt),nns_neuron_controller:e.Opt(e.Principal),nns_neuron_id:e.Opt(e.Nat64)}),rt=e.Variant({NeuronsFund:at,Direct:e.Record({})}),it=e.Record({neuron_ids:e.Vec(_)}),ct=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),participant:e.Opt(rt),stake_e8s:e.Opt(e.Nat64),followees:e.Opt(it),neuron_id:e.Opt(_)}),_t=e.Record({neuron_recipes:e.Vec(ct)}),pt=e.Record({neuron_recipes:e.Opt(_t)}),dt=e.Record({id:e.Opt(_),status:e.Int32}),ut=e.Record({swap_neurons:e.Vec(dt)}),qe=e.Variant({Ok:ut,Err:e.Int32}),lt=e.Record({claim_swap_neurons_result:e.Opt(qe)}),mt=e.Record({maturity_modulation:e.Opt(f)}),Ue=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),ze=e.Record({time_window_seconds:e.Opt(e.Nat64)}),Ot=e.Record({treasury_metrics:e.Opt(e.Vec(N)),voting_power_metrics:e.Opt(y),last_ledger_block_timestamp:e.Opt(e.Nat64),num_recently_executed_proposals:e.Opt(e.Nat64),num_recently_submitted_proposals:e.Opt(e.Nat64),genesis_timestamp_seconds:e.Opt(e.Nat64)}),Nt=e.Variant({Ok:Ot,Err:g}),He=e.Record({get_metrics_result:e.Opt(Nt)}),We=e.Record({mode:e.Opt(e.Int32)}),Rt=e.Record({neuron_id:e.Opt(_)}),gt=e.Variant({Error:g,Neuron:M}),yt=e.Record({result:e.Opt(gt)}),je=e.Record({proposal_id:e.Opt(m)}),ft=e.Variant({Error:g,Proposal:V}),ht=e.Record({result:e.Opt(ft)}),vt=e.Record({wasm_binary_size:e.Opt(e.Nat),wasm_chunk_store_size:e.Opt(e.Nat),canister_history_size:e.Opt(e.Nat),stable_memory_size:e.Opt(e.Nat),snapshots_size:e.Opt(e.Nat),wasm_memory_size:e.Opt(e.Nat),global_memory_size:e.Opt(e.Nat),custom_sections_size:e.Opt(e.Nat)}),St=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),xt=e.Record({freezing_threshold:e.Nat,wasm_memory_threshold:e.Opt(e.Nat),controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),wt=e.Record({response_payload_bytes_total:e.Opt(e.Nat),num_instructions_total:e.Opt(e.Nat),num_calls_total:e.Opt(e.Nat),request_payload_bytes_total:e.Opt(e.Nat)}),Vt=e.Record({memory_metrics:e.Opt(vt),status:St,memory_size:e.Nat,cycles:e.Nat,settings:xt,query_stats:e.Opt(wt),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),Tt=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)}))}),Pt=e.Record({sns_initialization_parameters:e.Text}),bt=e.Record({timers:e.Opt(o)}),Ft=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat64)}),Ct=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)}),Mt=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(d)}),kt=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(_)}),At=e.Record({neurons:e.Vec(M)}),Et=e.Record({topic:e.Opt(a)}),Gt=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(m),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_topics:e.Opt(e.Vec(Et)),include_status:e.Vec(e.Int32)}),Bt=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(V),include_topic_filtering:e.Opt(e.Bool)}),qt=e.Record({}),Ut=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))}),zt=e.Record({uncategorized_functions:e.Opt(e.Vec(d)),topics:e.Opt(e.Vec(Ut))}),Ht=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),Wt=e.Variant({Split:X,Follow:K,DisburseMaturity:$,ClaimOrRefresh:Fe,Configure:Z,RegisterVote:I,SetFollowing:L,MakeProposal:w,StakeMaturity:Ht,RemoveNeuronPermissions:Ce,AddNeuronPermissions:Me,MergeMaturity:ke,Disburse:Ae}),jt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(Wt)}),Qt=e.Record({created_neuron_id:e.Opt(_)}),Jt=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),Yt=e.Record({refreshed_neuron_id:e.Opt(_)}),Xt=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),Kt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),Os=e.Record({transfer_block_height:e.Nat64}),Ns=e.Variant({Error:g,Split:Qt,Follow:e.Record({}),DisburseMaturity:Jt,ClaimOrRefresh:Yt,Configure:e.Record({}),RegisterVote:e.Record({}),SetFollowing:e.Record({}),MakeProposal:je,RemoveNeuronPermission:e.Record({}),StakeMaturity:Xt,MergeMaturity:Kt,Disburse:Os,AddNeuronPermission:e.Record({})}),Rs=e.Record({command:e.Opt(Ns)}),gs=e.Record({recipient:e.Opt(r),amount_e8s:e.Opt(e.Nat64)}),ys=e.Record({mode:e.Int32});return e.Service({add_maturity:e.Func([et],[tt],[]),advance_target_version:e.Func([st],[ot],[]),claim_swap_neurons:e.Func([pt],[lt],[]),fail_stuck_upgrade_in_progress:e.Func([e.Record({})],[e.Record({})],[]),get_build_metadata:e.Func([],[e.Text],["query"]),get_latest_reward_event:e.Func([],[x],["query"]),get_maturity_modulation:e.Func([e.Record({})],[mt],[]),get_metadata:e.Func([e.Record({})],[Ue],["query"]),get_metrics:e.Func([ze],[He],["composite_query"]),get_metrics_replicated:e.Func([ze],[He],[]),get_mode:e.Func([e.Record({})],[We],["query"]),get_nervous_system_parameters:e.Func([e.Null],[h],["query"]),get_neuron:e.Func([Rt],[yt],["query"]),get_proposal:e.Func([je],[ht],["query"]),get_root_canister_status:e.Func([e.Null],[Vt],[]),get_running_sns_version:e.Func([e.Record({})],[Tt],["query"]),get_sns_initialization_parameters:e.Func([e.Record({})],[Pt],["query"]),get_timers:e.Func([e.Record({})],[bt],["query"]),get_upgrade_journal:e.Func([Ft],[Ct],["query"]),list_nervous_system_functions:e.Func([],[Mt],["query"]),list_neurons:e.Func([kt],[At],["query"]),list_proposals:e.Func([Gt],[Bt],["query"]),list_topics:e.Func([qt],[zt],["query"]),manage_neuron:e.Func([jt],[Rs],[]),mint_tokens:e.Func([gs],[e.Record({})],[]),refresh_cached_upgrade_steps:e.Func([e.Record({})],[e.Record({})],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([ys],[e.Record({})],[]),update_neuron:e.Func([M],[e.Opt(g)],[])})};var is=class e extends Ee.Canister{static create(t){let{service:o,certifiedService:s,canisterId:n}=(0,Ee.createServices)({options:t,idlFactory:eo,certifiedIdlFactory:Ls});return new e(n,o,s)}addMaturity=async t=>{let{id:o,amountE8s:s}=t,{new_maturity_e8s:n}=await this.caller(t).add_maturity({id:(0,Ee.toNullable)(o),amount_e8s:(0,Ee.toNullable)(s)}),i=(0,Ee.fromNullable)(n);if((0,Ee.isNullish)(i)||i<s)throw new T("No maturity added")}};var cs=require("@dfinity/utils");var to=({IDL:e})=>{let t=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)}),o=e.Record({extension_canister_ids:e.Vec(e.Principal)}),s=e.Record({dapp_canister_ids:e.Vec(e.Principal),timers:e.Opt(t),testflight:e.Bool,extensions:e.Opt(o),archive_canister_ids:e.Vec(e.Principal),governance_canister_id:e.Opt(e.Principal),index_canister_id:e.Opt(e.Principal),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal)}),n=e.Record({canister_id:e.Principal}),i=e.Record({wasm_binary_size:e.Opt(e.Nat),wasm_chunk_store_size:e.Opt(e.Nat),canister_history_size:e.Opt(e.Nat),stable_memory_size:e.Opt(e.Nat),snapshots_size:e.Opt(e.Nat),wasm_memory_size:e.Opt(e.Nat),global_memory_size:e.Opt(e.Nat),custom_sections_size:e.Opt(e.Nat)}),a=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),c=e.Variant({controllers:e.Null,public:e.Null,allowed_viewers:e.Vec(e.Principal)}),u=e.Record({freezing_threshold:e.Opt(e.Nat),wasm_memory_threshold:e.Opt(e.Nat),controllers:e.Vec(e.Principal),reserved_cycles_limit:e.Opt(e.Nat),log_visibility:e.Opt(c),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Opt(e.Nat),compute_allocation:e.Opt(e.Nat)}),d=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)}),l=e.Record({memory_metrics:e.Opt(i),status:a,memory_size:e.Nat,cycles:e.Nat,settings:u,query_stats:e.Opt(d),idle_cycles_burned_per_day:e.Opt(e.Nat),module_hash:e.Opt(e.Vec(e.Nat8)),reserved_cycles:e.Opt(e.Nat)}),r=e.Variant({reinstall:e.Null,upgrade:e.Null,install:e.Null}),N=e.Record({wasm_module_hash:e.Vec(e.Nat8),chunk_hashes_list:e.Vec(e.Vec(e.Nat8)),store_canister_id:e.Principal}),y=e.Record({arg:e.Vec(e.Nat8),wasm_module:e.Vec(e.Nat8),stop_before_installing:e.Bool,mode:r,canister_id:e.Principal,chunked_canister_wasm:e.Opt(N)}),b=e.Record({update_canister_list:e.Opt(e.Bool)}),f=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}),k=e.Record({memory_metrics:e.Opt(i),status:a,memory_size:e.Nat,cycles:e.Nat,settings:f,query_stats:e.Opt(d),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),O=e.Record({status:e.Opt(k),canister_id:e.Opt(e.Principal)}),A=e.Record({root:e.Opt(O),swap:e.Opt(O),ledger:e.Opt(O),index:e.Opt(O),governance:e.Opt(O),dapps:e.Vec(O),archives:e.Vec(O)}),m=e.Record({timers:e.Opt(t)}),E=e.Record({root:e.Opt(e.Principal),swap:e.Opt(e.Principal),extensions:e.Opt(o),ledger:e.Opt(e.Principal),index:e.Opt(e.Principal),governance:e.Opt(e.Principal),dapps:e.Vec(e.Principal),archives:e.Vec(e.Principal)}),G=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)}),B=e.Record({failure_reason:e.Opt(e.Text)}),q=e.Record({canister_id:e.Opt(e.Principal)}),v=e.Record({canister_ids:e.Vec(e.Principal)}),_=e.Record({canister_id:e.Opt(e.Principal)}),S=e.Record({code:e.Opt(e.Int32),description:e.Text}),U=e.Variant({Ok:e.Record({}),Err:S}),R=e.Record({result:e.Opt(U)}),z=e.Record({canister_ids:e.Opt(v),controller_principal_ids:e.Vec(e.Principal)}),h=e.Record({err:e.Opt(S),dapp_canister_id:e.Opt(e.Principal)}),x=e.Record({failed_updates:e.Vec(h)});return e.Service({canister_status:e.Func([n],[l],[]),change_canister:e.Func([y],[],[]),get_build_metadata:e.Func([],[e.Text],[]),get_sns_canisters_summary:e.Func([b],[A],[]),get_timers:e.Func([e.Record({})],[m],[]),list_sns_canisters:e.Func([e.Record({})],[E],[]),manage_dapp_canister_settings:e.Func([G],[B],[]),register_dapp_canister:e.Func([q],[e.Record({})],[]),register_dapp_canisters:e.Func([v],[e.Record({})],[]),register_extension:e.Func([_],[R],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_dapp_controllers:e.Func([z],[x],[])})};var so=({IDL:e})=>{let t=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)}),o=e.Record({extension_canister_ids:e.Vec(e.Principal)}),s=e.Record({dapp_canister_ids:e.Vec(e.Principal),timers:e.Opt(t),testflight:e.Bool,extensions:e.Opt(o),archive_canister_ids:e.Vec(e.Principal),governance_canister_id:e.Opt(e.Principal),index_canister_id:e.Opt(e.Principal),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal)}),n=e.Record({canister_id:e.Principal}),i=e.Record({wasm_binary_size:e.Opt(e.Nat),wasm_chunk_store_size:e.Opt(e.Nat),canister_history_size:e.Opt(e.Nat),stable_memory_size:e.Opt(e.Nat),snapshots_size:e.Opt(e.Nat),wasm_memory_size:e.Opt(e.Nat),global_memory_size:e.Opt(e.Nat),custom_sections_size:e.Opt(e.Nat)}),a=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),c=e.Variant({controllers:e.Null,public:e.Null,allowed_viewers:e.Vec(e.Principal)}),u=e.Record({freezing_threshold:e.Opt(e.Nat),wasm_memory_threshold:e.Opt(e.Nat),controllers:e.Vec(e.Principal),reserved_cycles_limit:e.Opt(e.Nat),log_visibility:e.Opt(c),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Opt(e.Nat),compute_allocation:e.Opt(e.Nat)}),d=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)}),l=e.Record({memory_metrics:e.Opt(i),status:a,memory_size:e.Nat,cycles:e.Nat,settings:u,query_stats:e.Opt(d),idle_cycles_burned_per_day:e.Opt(e.Nat),module_hash:e.Opt(e.Vec(e.Nat8)),reserved_cycles:e.Opt(e.Nat)}),r=e.Variant({reinstall:e.Null,upgrade:e.Null,install:e.Null}),N=e.Record({wasm_module_hash:e.Vec(e.Nat8),chunk_hashes_list:e.Vec(e.Vec(e.Nat8)),store_canister_id:e.Principal}),y=e.Record({arg:e.Vec(e.Nat8),wasm_module:e.Vec(e.Nat8),stop_before_installing:e.Bool,mode:r,canister_id:e.Principal,chunked_canister_wasm:e.Opt(N)}),b=e.Record({update_canister_list:e.Opt(e.Bool)}),f=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}),k=e.Record({memory_metrics:e.Opt(i),status:a,memory_size:e.Nat,cycles:e.Nat,settings:f,query_stats:e.Opt(d),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),O=e.Record({status:e.Opt(k),canister_id:e.Opt(e.Principal)}),A=e.Record({root:e.Opt(O),swap:e.Opt(O),ledger:e.Opt(O),index:e.Opt(O),governance:e.Opt(O),dapps:e.Vec(O),archives:e.Vec(O)}),m=e.Record({timers:e.Opt(t)}),E=e.Record({root:e.Opt(e.Principal),swap:e.Opt(e.Principal),extensions:e.Opt(o),ledger:e.Opt(e.Principal),index:e.Opt(e.Principal),governance:e.Opt(e.Principal),dapps:e.Vec(e.Principal),archives:e.Vec(e.Principal)}),G=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)}),B=e.Record({failure_reason:e.Opt(e.Text)}),q=e.Record({canister_id:e.Opt(e.Principal)}),v=e.Record({canister_ids:e.Vec(e.Principal)}),_=e.Record({canister_id:e.Opt(e.Principal)}),S=e.Record({code:e.Opt(e.Int32),description:e.Text}),U=e.Variant({Ok:e.Record({}),Err:S}),R=e.Record({result:e.Opt(U)}),z=e.Record({canister_ids:e.Opt(v),controller_principal_ids:e.Vec(e.Principal)}),h=e.Record({err:e.Opt(S),dapp_canister_id:e.Opt(e.Principal)}),x=e.Record({failed_updates:e.Vec(h)});return e.Service({canister_status:e.Func([n],[l],[]),change_canister:e.Func([y],[],[]),get_build_metadata:e.Func([],[e.Text],["query"]),get_sns_canisters_summary:e.Func([b],[A],[]),get_timers:e.Func([e.Record({})],[m],["query"]),list_sns_canisters:e.Func([e.Record({})],[E],["query"]),manage_dapp_canister_settings:e.Func([G],[B],[]),register_dapp_canister:e.Func([q],[e.Record({})],[]),register_dapp_canisters:e.Func([v],[e.Record({})],[]),register_extension:e.Func([_],[R],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_dapp_controllers:e.Func([z],[x],[])})};var It=class e extends cs.Canister{static create(t){let{service:o,certifiedService:s,canisterId:n}=(0,cs.createServices)({options:t,idlFactory:so,certifiedIdlFactory:to});return new e(n,o,s)}listSnsCanisters=({certified:t=!0})=>this.caller({certified:t}).list_sns_canisters({})};var ls=require("@dfinity/ledger-icrc"),Be=require("@dfinity/utils");var as=require("@dfinity/utils");var Dt=require("@dfinity/utils");function Co(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function ps(e,...t){if(!Co(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function vs(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function oo(e,t){ps(e);let o=t.outputLen;if(e.length<o)throw new Error("digestInto() expects output buffer of length at least "+o)}function ns(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function ds(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Ge(e,t){return e<<32-t|e>>>t}function Mo(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Ss(e){return typeof e=="string"&&(e=Mo(e)),ps(e),e}var _s=class{};function no(e){let t=s=>e().update(Ss(s)).digest(),o=e();return t.outputLen=o.outputLen,t.blockLen=o.blockLen,t.create=()=>e(),t}function ko(e,t,o,s){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,o,s);let n=BigInt(32),i=BigInt(4294967295),a=Number(o>>n&i),c=Number(o&i),u=s?4:0,d=s?0:4;e.setUint32(t+u,a,s),e.setUint32(t+d,c,s)}function ao(e,t,o){return e&t^~e&o}function ro(e,t,o){return e&t^e&o^t&o}var us=class extends _s{constructor(t,o,s,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=o,this.padOffset=s,this.isLE=n,this.buffer=new Uint8Array(t),this.view=ds(this.buffer)}update(t){vs(this),t=Ss(t),ps(t);let{view:o,buffer:s,blockLen:n}=this,i=t.length;for(let a=0;a<i;){let c=Math.min(n-this.pos,i-a);if(c===n){let u=ds(t);for(;n<=i-a;a+=n)this.process(u,a);continue}s.set(t.subarray(a,a+c),this.pos),this.pos+=c,a+=c,this.pos===n&&(this.process(o,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){vs(this),oo(t,this),this.finished=!0;let{buffer:o,view:s,blockLen:n,isLE:i}=this,{pos:a}=this;o[a++]=128,ns(this.buffer.subarray(a)),this.padOffset>n-a&&(this.process(s,0),a=0);for(let r=a;r<n;r++)o[r]=0;ko(s,n-8,BigInt(this.length*8),i),this.process(s,0);let c=ds(t),u=this.outputLen;if(u%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let d=u/4,l=this.get();if(d>l.length)throw new Error("_sha2: outputLen bigger than state");for(let r=0;r<d;r++)c.setUint32(4*r,l[r],i)}digest(){let{buffer:t,outputLen:o}=this;this.digestInto(t);let s=t.slice(0,o);return this.destroy(),s}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:o,buffer:s,length:n,finished:i,destroyed:a,pos:c}=this;return t.destroyed=a,t.finished=i,t.length=n,t.pos=c,n%o&&t.buffer.set(s),t}clone(){return this._cloneInto()}},Qe=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var Ao=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Je=new Uint32Array(64),xs=class extends us{constructor(t=32){super(64,t,8,!1),this.A=Qe[0]|0,this.B=Qe[1]|0,this.C=Qe[2]|0,this.D=Qe[3]|0,this.E=Qe[4]|0,this.F=Qe[5]|0,this.G=Qe[6]|0,this.H=Qe[7]|0}get(){let{A:t,B:o,C:s,D:n,E:i,F:a,G:c,H:u}=this;return[t,o,s,n,i,a,c,u]}set(t,o,s,n,i,a,c,u){this.A=t|0,this.B=o|0,this.C=s|0,this.D=n|0,this.E=i|0,this.F=a|0,this.G=c|0,this.H=u|0}process(t,o){for(let r=0;r<16;r++,o+=4)Je[r]=t.getUint32(o,!1);for(let r=16;r<64;r++){let N=Je[r-15],y=Je[r-2],b=Ge(N,7)^Ge(N,18)^N>>>3,f=Ge(y,17)^Ge(y,19)^y>>>10;Je[r]=f+Je[r-7]+b+Je[r-16]|0}let{A:s,B:n,C:i,D:a,E:c,F:u,G:d,H:l}=this;for(let r=0;r<64;r++){let N=Ge(c,6)^Ge(c,11)^Ge(c,25),y=l+N+ao(c,u,d)+Ao[r]+Je[r]|0,f=(Ge(s,2)^Ge(s,13)^Ge(s,22))+ro(s,n,i)|0;l=d,d=u,u=c,c=a+y|0,a=i,i=n,n=s,s=y+f|0}s=s+this.A|0,n=n+this.B|0,i=i+this.C|0,a=a+this.D|0,c=c+this.E|0,u=u+this.F|0,d=d+this.G|0,l=l+this.H|0,this.set(s,n,i,a,c,u,d,l)}roundClean(){ns(Je)}destroy(){this.set(0,0,0,0,0,0,0,0),ns(this.buffer)}};var io=no(()=>new xs);var ws=({index:e,controller:t})=>{let s=[12,...(0,Dt.asciiStringToByteArray)("neuron-stake"),...t.toUint8Array(),...(0,Dt.numberToUint8Array)(e)],n=io.create();return n.update((0,Dt.arrayOfNumberToUint8Array)(s)),n.digest()};var rs=class{root;governance;ledger;swap;index;certified;constructor({root:t,governance:o,ledger:s,swap:n,index:i,certified:a}){this.root=t,this.governance=o,this.ledger=s,this.swap=n,this.index=i,this.certified=a}get canisterIds(){return{rootCanisterId:this.root.canisterId,ledgerCanisterId:this.ledger.canisterId,governanceCanisterId:this.governance.canisterId,swapCanisterId:this.swap.canisterId,indexCanisterId:this.index.canisterId}}listNeurons=t=>this.governance.listNeurons(this.mergeParams(t));listProposals=t=>this.governance.listProposals(this.mergeParams(t));getProposal=t=>this.governance.getProposal(this.mergeParams(t));listNervousSystemFunctions=t=>this.governance.listNervousSystemFunctions(this.mergeParams(t));metadata=t=>Promise.all([this.governance.metadata(this.mergeParams(t)),this.ledger.metadata(this.mergeParams(t))]);nervousSystemParameters=t=>this.governance.nervousSystemParameters(this.mergeParams(t));ledgerMetadata=t=>this.ledger.metadata(this.mergeParams(t));transactionFee=t=>this.ledger.transactionFee(this.mergeParams(t));totalTokensSupply=t=>this.ledger.totalTokensSupply(this.mergeParams(t));balance=t=>this.ledger.balance(this.mergeParams(t));transfer=t=>this.ledger.transfer(t);getNeuron=t=>this.governance.getNeuron(this.mergeParams(t));queryNeuron=t=>this.governance.queryNeuron(this.mergeParams(t));nextNeuronAccount=async t=>{for(let o=0;o<65536;o++){let s=ws({index:o,controller:t}),n={id:s},i=await this.governance.queryNeuron({neuronId:n,certified:!1});if(i===void 0&&(i=await this.governance.queryNeuron({neuronId:n,certified:!0}),i===void 0))return{account:{...this.owner,subaccount:s},index:BigInt(o)}}throw new T("No more neuron accounts available")};stakeNeuron=async({stakeE8s:t,source:o,controller:s,createdAt:n,fee:i})=>{this.assertCertified("stakeNeuron");let{account:a,index:c}=await this.nextNeuronAccount(s);if(a.subaccount===void 0)throw new T("There was an error creating the neuron subaccount");return await this.ledger.transfer({amount:t,to:{owner:a.owner,subaccount:(0,as.toNullable)(a.subaccount)},from_subaccount:o.subaccount,memo:(0,as.bigIntToUint8Array)(c),created_at_time:n,fee:i}),this.governance.claimNeuron({memo:BigInt(c),controller:s,subaccount:a.subaccount})};increaseStakeNeuron=async({stakeE8s:t,source:o,neuronId:s})=>(this.assertCertified("stakeNeuron"),await this.ledger.transfer({amount:t,to:{...this.owner,subaccount:(0,as.toNullable)(Uint8Array.from(s.id))},from_subaccount:o.subaccount}),this.governance.refreshNeuron(s));getNeuronBalance=t=>{let o={...this.owner,subaccount:Uint8Array.from(t.id)};return this.ledger.balance({...o,certified:this.certified})};addNeuronPermissions=t=>this.governance.addNeuronPermissions(t);refreshNeuron=t=>this.governance.refreshNeuron(t);claimNeuron=t=>this.governance.claimNeuron(t);removeNeuronPermissions=t=>this.governance.removeNeuronPermissions(t);splitNeuron=t=>this.governance.splitNeuron(t);disburse=t=>this.governance.disburse(t);startDissolving=t=>this.governance.startDissolving(t);stopDissolving=t=>this.governance.stopDissolving(t);setDissolveTimestamp=t=>this.governance.setDissolveTimestamp(t);increaseDissolveDelay=t=>this.governance.increaseDissolveDelay(t);setTopicFollowees=t=>this.governance.setTopicFollowees(t);setFollowing=t=>this.governance.setFollowing(t);registerVote=t=>this.governance.registerVote(t);swapState=t=>this.swap.state(this.mergeParams(t));notifyPaymentFailure=()=>this.swap.notifyPaymentFailure();notifyParticipation=t=>this.swap.notifyParticipation(t);getUserCommitment=t=>this.swap.getUserCommitment(this.mergeParams(t));getOpenTicket=t=>this.swap.getOpenTicket(this.mergeParams(t));newSaleTicket=t=>this.swap.newSaleTicket(t);getLifecycle=t=>this.swap.getLifecycle(this.mergeParams(t));getFinalizationStatus=t=>this.swap.getFinalizationStatus(this.mergeParams(t));getSaleParameters=t=>this.swap.getSaleParameters(this.mergeParams(t));getDerivedState=t=>this.swap.getDerivedState(this.mergeParams(t));getTransactions=t=>this.index.getTransactions(t);stakeMaturity=t=>this.governance.stakeMaturity(t);disburseMaturity=t=>this.governance.disburseMaturity(t);autoStakeMaturity=t=>this.governance.autoStakeMaturity(t);mergeParams(t){return{...t,certified:this.certified}}assertCertified=t=>{if(!this.certified)throw new T(`Call to ${t} needs to be certified`)};get owner(){return{owner:this.canisterIds.governanceCanisterId}}};var ee=require("@dfinity/utils");var co=({IDL:e})=>{let t=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),o=e.Record({slope_numerator:e.Opt(e.Nat64),intercept_icp_e8s:e.Opt(e.Nat64),from_direct_participation_icp_e8s:e.Opt(e.Nat64),slope_denominator:e.Opt(e.Nat64),to_direct_participation_icp_e8s:e.Opt(e.Nat64)}),s=e.Record({serialized_representation:e.Opt(e.Text)}),n=e.Record({coefficient_intervals:e.Vec(o),max_neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),min_direct_participation_threshold_icp_e8s:e.Opt(e.Nat64),ideal_matched_participation_function:e.Opt(s)}),i=e.Record({iso_codes:e.Vec(e.Text)}),a=e.Record({nns_proposal_id:e.Opt(e.Nat64),sns_root_canister_id:e.Text,neurons_fund_participation:e.Opt(e.Bool),min_participant_icp_e8s:e.Opt(e.Nat64),neuron_basket_construction_parameters:e.Opt(t),fallback_controller_principal_ids:e.Vec(e.Text),max_icp_e8s:e.Opt(e.Nat64),neuron_minimum_stake_e8s:e.Opt(e.Nat64),confirmation_text:e.Opt(e.Text),swap_start_timestamp_seconds:e.Opt(e.Nat64),swap_due_timestamp_seconds:e.Opt(e.Nat64),min_participants:e.Opt(e.Nat32),sns_token_e8s:e.Opt(e.Nat64),nns_governance_canister_id:e.Text,transaction_fee_e8s:e.Opt(e.Nat64),icp_ledger_canister_id:e.Text,sns_ledger_canister_id:e.Text,neurons_fund_participation_constraints:e.Opt(n),should_auto_finalize:e.Opt(e.Bool),max_participant_icp_e8s:e.Opt(e.Nat64),sns_governance_canister_id:e.Text,min_direct_participation_icp_e8s:e.Opt(e.Nat64),restricted_countries:e.Opt(i),min_icp_e8s:e.Opt(e.Nat64),max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),c=e.Record({source_principal_id:e.Opt(e.Principal)}),u=e.Record({block_height:e.Opt(e.Nat64)}),d=e.Record({description:e.Opt(e.Text),error_type:e.Opt(e.Int32)}),l=e.Variant({Ok:u,Err:d}),r=e.Record({result:e.Opt(l)}),N=e.Record({code:e.Opt(e.Int32),description:e.Text}),y=e.Record({err:e.Opt(N),dapp_canister_id:e.Opt(e.Principal)}),b=e.Record({failed_updates:e.Vec(y)}),f=e.Variant({Ok:b,Err:N}),k=e.Record({possibility:e.Opt(f)}),O=e.Record({failure:e.Nat32,skipped:e.Nat32,invalid:e.Nat32,success:e.Nat32,global_failures:e.Nat32}),A=e.Record({error_message:e.Text,error_type:e.Int32}),m=e.Record({governance_error:e.Opt(A)}),E=e.Variant({Ok:m,Err:N}),G=e.Record({possibility:e.Opt(E)}),B=e.Record({neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),neurons_fund_neurons_count:e.Opt(e.Nat64)}),q=e.Record({message:e.Opt(e.Text)}),v=e.Variant({Ok:B,Err:q}),_=e.Record({possibility:e.Opt(v)}),S=e.Variant({Ok:e.Record({}),Err:N}),U=e.Record({possibility:e.Opt(S)}),R=e.Record({set_dapp_controllers_call_result:e.Opt(k),create_sns_neuron_recipes_result:e.Opt(O),settle_community_fund_participation_result:e.Opt(G),error_message:e.Opt(e.Text),settle_neurons_fund_participation_result:e.Opt(_),set_mode_call_result:e.Opt(U),sweep_icp_result:e.Opt(O),claim_neuron_result:e.Opt(O),sweep_sns_result:e.Opt(O)}),z=e.Record({auto_finalize_swap_response:e.Opt(R),has_auto_finalize_been_attempted:e.Opt(e.Bool),is_auto_finalize_enabled:e.Opt(e.Bool)}),h=e.Record({principal_id:e.Opt(e.Principal)}),x=e.Record({transfer_fee_paid_e8s:e.Opt(e.Nat64),transfer_start_timestamp_seconds:e.Nat64,amount_e8s:e.Nat64,amount_transferred_e8s:e.Opt(e.Nat64),transfer_success_timestamp_seconds:e.Nat64}),H=e.Record({icp:e.Opt(x),has_created_neuron_recipes:e.Opt(e.Bool)}),g=e.Record({buyer_state:e.Opt(H)}),W=e.Record({buyers_total:e.Nat64}),ae=e.Record({wasm_binary_size:e.Opt(e.Nat),wasm_chunk_store_size:e.Opt(e.Nat),canister_history_size:e.Opt(e.Nat),stable_memory_size:e.Opt(e.Nat),snapshots_size:e.Opt(e.Nat),wasm_memory_size:e.Opt(e.Nat),global_memory_size:e.Opt(e.Nat),custom_sections_size:e.Opt(e.Nat)}),re=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),ie=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}),j=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)}),Q=e.Record({memory_metrics:e.Opt(ae),status:re,memory_size:e.Nat,cycles:e.Nat,settings:ie,query_stats:e.Opt(j),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),ce=e.Record({sns_tokens_per_icp:e.Opt(e.Float64),buyer_total_icp_e8s:e.Opt(e.Nat64),cf_participant_count:e.Opt(e.Nat64),neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),direct_participation_icp_e8s:e.Opt(e.Nat64),direct_participant_count:e.Opt(e.Nat64),cf_neuron_count:e.Opt(e.Nat64)}),_e=e.Record({init:e.Opt(a)}),pe=e.Record({decentralization_sale_open_timestamp_seconds:e.Opt(e.Nat64),lifecycle:e.Opt(e.Int32),decentralization_swap_termination_timestamp_seconds:e.Opt(e.Nat64)}),J=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(e.Vec(e.Nat8))}),te=e.Record({creation_time:e.Nat64,ticket_id:e.Nat64,account:e.Opt(J),amount_icp_e8s:e.Nat64}),Y=e.Record({ticket:e.Opt(te)}),de=e.Record({error_type:e.Opt(e.Int32)}),ue=e.Variant({Ok:Y,Err:de}),le=e.Record({result:e.Opt(ue)}),F=e.Record({min_participant_icp_e8s:e.Nat64,neuron_basket_construction_parameters:e.Opt(t),max_icp_e8s:e.Nat64,swap_due_timestamp_seconds:e.Nat64,min_participants:e.Nat32,sns_token_e8s:e.Nat64,sale_delay_seconds:e.Opt(e.Nat64),max_participant_icp_e8s:e.Nat64,min_direct_participation_icp_e8s:e.Opt(e.Nat64),min_icp_e8s:e.Nat64,max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),me=e.Record({params:e.Opt(F)}),Oe=e.Record({id:e.Vec(e.Nat8)}),Ne=e.Record({dissolve_delay_seconds:e.Nat64,memo:e.Nat64,followees:e.Vec(Oe)}),se=e.Record({principals:e.Vec(e.Principal)}),Re=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,hotkeys:e.Opt(se),nns_neuron_id:e.Nat64}),ge=e.Record({buyer_principal:e.Text}),ye=e.Variant({CommunityFund:Re,Direct:ge}),oe=e.Record({sns:e.Opt(x),claimed_status:e.Opt(e.Int32),neuron_attributes:e.Opt(Ne),investor:e.Opt(ye)}),C=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)}),fe=e.Record({has_created_neuron_recipes:e.Opt(e.Bool),hotkeys:e.Opt(se),nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),ne=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,cf_neurons:e.Vec(fe)}),he=e.Record({auto_finalize_swap_response:e.Opt(R),neuron_recipes:e.Vec(oe),next_ticket_id:e.Opt(e.Nat64),decentralization_sale_open_timestamp_seconds:e.Opt(e.Nat64),finalize_swap_in_progress:e.Opt(e.Bool),timers:e.Opt(C),cf_participants:e.Vec(ne),init:e.Opt(a),already_tried_to_auto_finalize:e.Opt(e.Bool),neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),purge_old_tickets_last_completion_timestamp_nanoseconds:e.Opt(e.Nat64),direct_participation_icp_e8s:e.Opt(e.Nat64),lifecycle:e.Int32,purge_old_tickets_next_principal:e.Opt(e.Vec(e.Nat8)),decentralization_swap_termination_timestamp_seconds:e.Opt(e.Nat64),buyers:e.Vec(e.Tuple(e.Text,H)),params:e.Opt(F),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),ve=e.Record({sns_tokens_per_icp:e.Float32,buyer_total_icp_e8s:e.Nat64,cf_participant_count:e.Opt(e.Nat64),neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),direct_participation_icp_e8s:e.Opt(e.Nat64),direct_participant_count:e.Opt(e.Nat64),cf_neuron_count:e.Opt(e.Nat64)}),w=e.Record({swap:e.Opt(he),derived:e.Opt(ve)}),Se=e.Record({timers:e.Opt(C)}),V=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat32)}),X=e.Record({cf_participants:e.Vec(ne)}),K=e.Record({offset:e.Opt(e.Nat32),limit:e.Opt(e.Nat32)}),$=e.Record({participation:e.Opt(H),participant_id:e.Opt(e.Principal)}),xe=e.Record({participants:e.Vec($)}),we=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat32)}),Ve=e.Record({sns_neuron_recipes:e.Vec(oe)}),Te=e.Record({subaccount:e.Opt(e.Vec(e.Nat8)),amount_icp_e8s:e.Nat64}),Z=e.Record({min_amount_icp_e8s_included:e.Nat64,max_amount_icp_e8s_included:e.Nat64}),I=e.Record({invalid_user_amount:e.Opt(Z),existing_ticket:e.Opt(te),error_type:e.Int32}),Pe=e.Variant({Ok:Y,Err:I}),D=e.Record({result:e.Opt(Pe)}),L=e.Record({confirmation_text:e.Opt(e.Text),buyer:e.Text}),be=e.Record({icp_accepted_participation_e8s:e.Nat64,icp_ledger_account_balance_e8s:e.Nat64});return e.Service({error_refund_icp:e.Func([c],[r],[]),finalize_swap:e.Func([e.Record({})],[R],[]),get_auto_finalization_status:e.Func([e.Record({})],[z],[]),get_buyer_state:e.Func([h],[g],[]),get_buyers_total:e.Func([e.Record({})],[W],[]),get_canister_status:e.Func([e.Record({})],[Q],[]),get_derived_state:e.Func([e.Record({})],[ce],[]),get_init:e.Func([e.Record({})],[_e],[]),get_lifecycle:e.Func([e.Record({})],[pe],[]),get_open_ticket:e.Func([e.Record({})],[le],[]),get_sale_parameters:e.Func([e.Record({})],[me],[]),get_state:e.Func([e.Record({})],[w],[]),get_timers:e.Func([e.Record({})],[Se],[]),list_community_fund_participants:e.Func([V],[X],[]),list_direct_participants:e.Func([K],[xe],[]),list_sns_neuron_recipes:e.Func([we],[Ve],[]),new_sale_ticket:e.Func([Te],[D],[]),notify_payment_failure:e.Func([e.Record({})],[Y],[]),refresh_buyer_tokens:e.Func([L],[be],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[])})};var _o=({IDL:e})=>{let t=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),o=e.Record({slope_numerator:e.Opt(e.Nat64),intercept_icp_e8s:e.Opt(e.Nat64),from_direct_participation_icp_e8s:e.Opt(e.Nat64),slope_denominator:e.Opt(e.Nat64),to_direct_participation_icp_e8s:e.Opt(e.Nat64)}),s=e.Record({serialized_representation:e.Opt(e.Text)}),n=e.Record({coefficient_intervals:e.Vec(o),max_neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),min_direct_participation_threshold_icp_e8s:e.Opt(e.Nat64),ideal_matched_participation_function:e.Opt(s)}),i=e.Record({iso_codes:e.Vec(e.Text)}),a=e.Record({nns_proposal_id:e.Opt(e.Nat64),sns_root_canister_id:e.Text,neurons_fund_participation:e.Opt(e.Bool),min_participant_icp_e8s:e.Opt(e.Nat64),neuron_basket_construction_parameters:e.Opt(t),fallback_controller_principal_ids:e.Vec(e.Text),max_icp_e8s:e.Opt(e.Nat64),neuron_minimum_stake_e8s:e.Opt(e.Nat64),confirmation_text:e.Opt(e.Text),swap_start_timestamp_seconds:e.Opt(e.Nat64),swap_due_timestamp_seconds:e.Opt(e.Nat64),min_participants:e.Opt(e.Nat32),sns_token_e8s:e.Opt(e.Nat64),nns_governance_canister_id:e.Text,transaction_fee_e8s:e.Opt(e.Nat64),icp_ledger_canister_id:e.Text,sns_ledger_canister_id:e.Text,neurons_fund_participation_constraints:e.Opt(n),should_auto_finalize:e.Opt(e.Bool),max_participant_icp_e8s:e.Opt(e.Nat64),sns_governance_canister_id:e.Text,min_direct_participation_icp_e8s:e.Opt(e.Nat64),restricted_countries:e.Opt(i),min_icp_e8s:e.Opt(e.Nat64),max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),c=e.Record({source_principal_id:e.Opt(e.Principal)}),u=e.Record({block_height:e.Opt(e.Nat64)}),d=e.Record({description:e.Opt(e.Text),error_type:e.Opt(e.Int32)}),l=e.Variant({Ok:u,Err:d}),r=e.Record({result:e.Opt(l)}),N=e.Record({code:e.Opt(e.Int32),description:e.Text}),y=e.Record({err:e.Opt(N),dapp_canister_id:e.Opt(e.Principal)}),b=e.Record({failed_updates:e.Vec(y)}),f=e.Variant({Ok:b,Err:N}),k=e.Record({possibility:e.Opt(f)}),O=e.Record({failure:e.Nat32,skipped:e.Nat32,invalid:e.Nat32,success:e.Nat32,global_failures:e.Nat32}),A=e.Record({error_message:e.Text,error_type:e.Int32}),m=e.Record({governance_error:e.Opt(A)}),E=e.Variant({Ok:m,Err:N}),G=e.Record({possibility:e.Opt(E)}),B=e.Record({neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),neurons_fund_neurons_count:e.Opt(e.Nat64)}),q=e.Record({message:e.Opt(e.Text)}),v=e.Variant({Ok:B,Err:q}),_=e.Record({possibility:e.Opt(v)}),S=e.Variant({Ok:e.Record({}),Err:N}),U=e.Record({possibility:e.Opt(S)}),R=e.Record({set_dapp_controllers_call_result:e.Opt(k),create_sns_neuron_recipes_result:e.Opt(O),settle_community_fund_participation_result:e.Opt(G),error_message:e.Opt(e.Text),settle_neurons_fund_participation_result:e.Opt(_),set_mode_call_result:e.Opt(U),sweep_icp_result:e.Opt(O),claim_neuron_result:e.Opt(O),sweep_sns_result:e.Opt(O)}),z=e.Record({auto_finalize_swap_response:e.Opt(R),has_auto_finalize_been_attempted:e.Opt(e.Bool),is_auto_finalize_enabled:e.Opt(e.Bool)}),h=e.Record({principal_id:e.Opt(e.Principal)}),x=e.Record({transfer_fee_paid_e8s:e.Opt(e.Nat64),transfer_start_timestamp_seconds:e.Nat64,amount_e8s:e.Nat64,amount_transferred_e8s:e.Opt(e.Nat64),transfer_success_timestamp_seconds:e.Nat64}),H=e.Record({icp:e.Opt(x),has_created_neuron_recipes:e.Opt(e.Bool)}),g=e.Record({buyer_state:e.Opt(H)}),W=e.Record({buyers_total:e.Nat64}),ae=e.Record({wasm_binary_size:e.Opt(e.Nat),wasm_chunk_store_size:e.Opt(e.Nat),canister_history_size:e.Opt(e.Nat),stable_memory_size:e.Opt(e.Nat),snapshots_size:e.Opt(e.Nat),wasm_memory_size:e.Opt(e.Nat),global_memory_size:e.Opt(e.Nat),custom_sections_size:e.Opt(e.Nat)}),re=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),ie=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}),j=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)}),Q=e.Record({memory_metrics:e.Opt(ae),status:re,memory_size:e.Nat,cycles:e.Nat,settings:ie,query_stats:e.Opt(j),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),ce=e.Record({sns_tokens_per_icp:e.Opt(e.Float64),buyer_total_icp_e8s:e.Opt(e.Nat64),cf_participant_count:e.Opt(e.Nat64),neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),direct_participation_icp_e8s:e.Opt(e.Nat64),direct_participant_count:e.Opt(e.Nat64),cf_neuron_count:e.Opt(e.Nat64)}),_e=e.Record({init:e.Opt(a)}),pe=e.Record({decentralization_sale_open_timestamp_seconds:e.Opt(e.Nat64),lifecycle:e.Opt(e.Int32),decentralization_swap_termination_timestamp_seconds:e.Opt(e.Nat64)}),J=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(e.Vec(e.Nat8))}),te=e.Record({creation_time:e.Nat64,ticket_id:e.Nat64,account:e.Opt(J),amount_icp_e8s:e.Nat64}),Y=e.Record({ticket:e.Opt(te)}),de=e.Record({error_type:e.Opt(e.Int32)}),ue=e.Variant({Ok:Y,Err:de}),le=e.Record({result:e.Opt(ue)}),F=e.Record({min_participant_icp_e8s:e.Nat64,neuron_basket_construction_parameters:e.Opt(t),max_icp_e8s:e.Nat64,swap_due_timestamp_seconds:e.Nat64,min_participants:e.Nat32,sns_token_e8s:e.Nat64,sale_delay_seconds:e.Opt(e.Nat64),max_participant_icp_e8s:e.Nat64,min_direct_participation_icp_e8s:e.Opt(e.Nat64),min_icp_e8s:e.Nat64,max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),me=e.Record({params:e.Opt(F)}),Oe=e.Record({id:e.Vec(e.Nat8)}),Ne=e.Record({dissolve_delay_seconds:e.Nat64,memo:e.Nat64,followees:e.Vec(Oe)}),se=e.Record({principals:e.Vec(e.Principal)}),Re=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,hotkeys:e.Opt(se),nns_neuron_id:e.Nat64}),ge=e.Record({buyer_principal:e.Text}),ye=e.Variant({CommunityFund:Re,Direct:ge}),oe=e.Record({sns:e.Opt(x),claimed_status:e.Opt(e.Int32),neuron_attributes:e.Opt(Ne),investor:e.Opt(ye)}),C=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)}),fe=e.Record({has_created_neuron_recipes:e.Opt(e.Bool),hotkeys:e.Opt(se),nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),ne=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,cf_neurons:e.Vec(fe)}),he=e.Record({auto_finalize_swap_response:e.Opt(R),neuron_recipes:e.Vec(oe),next_ticket_id:e.Opt(e.Nat64),decentralization_sale_open_timestamp_seconds:e.Opt(e.Nat64),finalize_swap_in_progress:e.Opt(e.Bool),timers:e.Opt(C),cf_participants:e.Vec(ne),init:e.Opt(a),already_tried_to_auto_finalize:e.Opt(e.Bool),neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),purge_old_tickets_last_completion_timestamp_nanoseconds:e.Opt(e.Nat64),direct_participation_icp_e8s:e.Opt(e.Nat64),lifecycle:e.Int32,purge_old_tickets_next_principal:e.Opt(e.Vec(e.Nat8)),decentralization_swap_termination_timestamp_seconds:e.Opt(e.Nat64),buyers:e.Vec(e.Tuple(e.Text,H)),params:e.Opt(F),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),ve=e.Record({sns_tokens_per_icp:e.Float32,buyer_total_icp_e8s:e.Nat64,cf_participant_count:e.Opt(e.Nat64),neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),direct_participation_icp_e8s:e.Opt(e.Nat64),direct_participant_count:e.Opt(e.Nat64),cf_neuron_count:e.Opt(e.Nat64)}),w=e.Record({swap:e.Opt(he),derived:e.Opt(ve)}),Se=e.Record({timers:e.Opt(C)}),V=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat32)}),X=e.Record({cf_participants:e.Vec(ne)}),K=e.Record({offset:e.Opt(e.Nat32),limit:e.Opt(e.Nat32)}),$=e.Record({participation:e.Opt(H),participant_id:e.Opt(e.Principal)}),xe=e.Record({participants:e.Vec($)}),we=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat32)}),Ve=e.Record({sns_neuron_recipes:e.Vec(oe)}),Te=e.Record({subaccount:e.Opt(e.Vec(e.Nat8)),amount_icp_e8s:e.Nat64}),Z=e.Record({min_amount_icp_e8s_included:e.Nat64,max_amount_icp_e8s_included:e.Nat64}),I=e.Record({invalid_user_amount:e.Opt(Z),existing_ticket:e.Opt(te),error_type:e.Int32}),Pe=e.Variant({Ok:Y,Err:I}),D=e.Record({result:e.Opt(Pe)}),L=e.Record({confirmation_text:e.Opt(e.Text),buyer:e.Text}),be=e.Record({icp_accepted_participation_e8s:e.Nat64,icp_ledger_account_balance_e8s:e.Nat64});return e.Service({error_refund_icp:e.Func([c],[r],[]),finalize_swap:e.Func([e.Record({})],[R],[]),get_auto_finalization_status:e.Func([e.Record({})],[z],["query"]),get_buyer_state:e.Func([h],[g],["query"]),get_buyers_total:e.Func([e.Record({})],[W],[]),get_canister_status:e.Func([e.Record({})],[Q],[]),get_derived_state:e.Func([e.Record({})],[ce],["query"]),get_init:e.Func([e.Record({})],[_e],["query"]),get_lifecycle:e.Func([e.Record({})],[pe],["query"]),get_open_ticket:e.Func([e.Record({})],[le],["query"]),get_sale_parameters:e.Func([e.Record({})],[me],["query"]),get_state:e.Func([e.Record({})],[w],["query"]),get_timers:e.Func([e.Record({})],[Se],["query"]),list_community_fund_participants:e.Func([V],[X],["query"]),list_direct_participants:e.Func([K],[xe],["query"]),list_sns_neuron_recipes:e.Func([we],[Ve],["query"]),new_sale_ticket:e.Func([Te],[D],[]),notify_payment_failure:e.Func([e.Record({})],[Y],[]),refresh_buyer_tokens:e.Func([L],[be],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[])})};var po=({subaccount:e,amount_icp_e8s:t})=>({subaccount:e===void 0?[]:[e],amount_icp_e8s:t});var uo=require("@dfinity/utils"),lo=e=>{if(typeof e=="object"&&(0,uo.nonNullish)(e)&&"message"in e){let t=e.message;return t.includes("has no update method")||t.includes("has no query method")}return!1};var Lt=class e extends ee.Canister{static create(t){let{service:o,certifiedService:s,canisterId:n}=(0,ee.createServices)({options:t,idlFactory:_o,certifiedIdlFactory:co});return new e(n,o,s)}state=t=>this.caller(t).get_state({});notifyPaymentFailure=async()=>{let{ticket:t}=await this.caller({certified:!0}).notify_payment_failure({});return(0,ee.fromNullable)(t)};notifyParticipation=async t=>await this.caller({certified:!0}).refresh_buyer_tokens(t);getUserCommitment=async t=>{let{buyer_state:o}=await this.caller({certified:t.certified}).get_buyer_state({principal_id:t.principal_id});return(0,ee.fromNullable)(o)};getDerivedState=({certified:t})=>this.caller({certified:t}).get_derived_state({});getSaleParameters=({certified:t})=>this.caller({certified:t}).get_sale_parameters({});getOpenTicket=async t=>{var i;let{result:o}=await this.caller({certified:t.certified}).get_open_ticket({}),s=(0,ee.fromDefinedNullable)(o);if("Ok"in s)return(0,ee.fromNullable)(s.Ok.ticket);let n=(0,ee.fromDefinedNullable)((i=s==null?void 0:s.Err)==null?void 0:i.error_type);throw new os(n)};newSaleTicket=async t=>{let o=po(t),{result:s}=await this.caller({certified:!0}).new_sale_ticket(o),n=(0,ee.fromDefinedNullable)(s);if("Ok"in n)return(0,ee.fromDefinedNullable)(n.Ok.ticket);let i=n.Err;throw new ss({errorType:i.error_type,invalidUserAmount:(0,ee.fromNullable)(i.invalid_user_amount??[]),existingTicket:(0,ee.fromNullable)(i.existing_ticket??[])})};getLifecycle=t=>this.caller(t).get_lifecycle({});getFinalizationStatus=async t=>{try{return await this.caller(t).get_auto_finalization_status({})}catch(o){throw lo(o)?new ts("getFinalizationStatus"):o}}};var Go=async({agent:e,rootOptions:t,certified:o=!0})=>{let s=It.create({...t,agent:e}),{ledger:n,swap:i,governance:a,index:c}=await s.listSnsCanisters({certified:o}),u=(0,Be.fromNullable)(a),d=(0,Be.fromNullable)(n),l=(0,Be.fromNullable)(i),r=(0,Be.fromNullable)(c);return(0,Be.assertNonNullish)(u),(0,Be.assertNonNullish)(d),(0,Be.assertNonNullish)(l),(0,Be.assertNonNullish)(r),new rs({root:s,governance:Zt.create({canisterId:u,agent:e}),ledger:ls.IcrcLedgerCanister.create({canisterId:d,agent:e}),swap:Lt.create({canisterId:l,agent:e}),index:ls.IcrcIndexCanister.create({canisterId:r,agent:e}),certified:o})};0&&(module.exports={GetOpenTicketErrorType,NewSaleTicketResponseErrorType,SnsGovernanceCanister,SnsGovernanceError,SnsGovernanceTestCanister,SnsNeuronPermissionType,SnsProposalDecisionStatus,SnsProposalRewardStatus,SnsRootCanister,SnsSwapCanister,SnsSwapGetOpenTicketError,SnsSwapLifecycle,SnsSwapNewTicketError,SnsVote,SnsWrapper,UnsupportedMethodError,fromCandidAction,initSnsWrapper,neuronSubaccount});
1
+ "use strict";var Ts=Object.defineProperty;var ho=Object.getOwnPropertyDescriptor;var vo=Object.getOwnPropertyNames;var xo=Object.prototype.hasOwnProperty;var So=(e,t)=>{for(var o in t)Ts(e,o,{get:t[o],enumerable:!0})},Vo=(e,t,o,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of vo(t))!xo.call(e,n)&&n!==o&&Ts(e,n,{get:()=>t[n],enumerable:!(s=ho(t,n))||s.enumerable});return e};var wo=e=>Vo(Ts({},"__esModule",{value:!0}),e);var Qo={};So(Qo,{GetOpenTicketErrorType:()=>so,NewSaleTicketResponseErrorType:()=>oo,SnsGovernanceCanister:()=>os,SnsGovernanceError:()=>P,SnsGovernanceTestCanister:()=>ms,SnsNeuronPermissionType:()=>Is,SnsProposalDecisionStatus:()=>Ls,SnsProposalRewardStatus:()=>Ds,SnsRootCanister:()=>ns,SnsSwapCanister:()=>rs,SnsSwapGetOpenTicketError:()=>_s,SnsSwapLifecycle:()=>to,SnsSwapNewTicketError:()=>ps,SnsVote:()=>eo,SnsWrapper:()=>ls,UnsupportedMethodError:()=>cs,fromCandidAction:()=>$s,initSnsWrapper:()=>jo,neuronSubaccount:()=>Ms});module.exports=wo(Qo);var _=require("@dfinity/utils");var ss=({neuronId:{id:e},command:t})=>({subaccount:e,command:[t]}),is=({neuronId:e,operation:t})=>ss({neuronId:e,command:{Configure:{operation:[t]}}}),ks=({owner:e,subaccount:t})=>({owner:(0,_.toNullable)(e),subaccount:t===void 0?[]:(0,_.toNullable)({subaccount:t})}),As=({neuronId:e,permissions:t,principal:o})=>ss({neuronId:e,command:{AddNeuronPermissions:{permissions_to_add:[{permissions:Int32Array.from(t)}],principal_id:[o]}}}),Es=({neuronId:e,permissions:t,principal:o})=>ss({neuronId:e,command:{RemoveNeuronPermissions:{permissions_to_remove:[{permissions:Int32Array.from(t)}],principal_id:[o]}}}),Us=({neuronId:e,memo:t,amount:o})=>ss({neuronId:e,command:{Split:{memo:t,amount_e8s:o}}}),Gs=({neuronId:e,amount:t,toAccount:o})=>ss({neuronId:e,command:{Disburse:{to_account:o===void 0?[]:(0,_.toNullable)(ks(o)),amount:t===void 0?[]:[{e8s:t}]}}}),Bs=e=>is({neuronId:e,operation:{StartDissolving:{}}}),qs=e=>is({neuronId:e,operation:{StopDissolving:{}}}),zs=({neuronId:e,percentageToStake:t})=>ss({neuronId:e,command:{StakeMaturity:{percentage_to_stake:(0,_.toNullable)(t)}}}),Ws=({neuronId:e,percentageToDisburse:t,toAccount:o})=>ss({neuronId:e,command:{DisburseMaturity:{to_account:o===void 0?[]:(0,_.toNullable)(ks(o)),percentage_to_disburse:t}}}),Hs=({neuronId:e,autoStake:t})=>is({neuronId:e,operation:{ChangeAutoStakeMaturity:{requested_setting_for_auto_stake_maturity:t}}}),js=({neuronId:e,dissolveTimestampSeconds:t})=>is({neuronId:e,operation:{SetDissolveTimestamp:{dissolve_timestamp_seconds:t}}}),Qs=({neuronId:e,additionalDissolveDelaySeconds:t})=>is({neuronId:e,operation:{IncreaseDissolveDelay:{additional_dissolve_delay_seconds:t}}}),Js=({neuronId:e,functionId:t,followees:o})=>({subaccount:e.id,command:[{Follow:{function_id:t,followees:o}}]}),Ys=({neuronId:e,topicFollowing:t})=>({subaccount:e.id,command:[{SetFollowing:{topic_following:t.map(({topic:o,followees:s})=>({topic:[o],followees:s.map(({neuronId:n,alias:i})=>({neuron_id:(0,_.toNullable)(n),alias:(0,_.toNullable)(i)}))}))}}]}),Xs=({neuronId:e,proposalId:t,vote:o})=>({subaccount:e.id,command:[{RegisterVote:{vote:o,proposal:[t]}}]}),Ps=({subaccount:e,memo:t,controller:o})=>({subaccount:e,command:[{ClaimOrRefresh:{by:[t===void 0?{NeuronId:{}}:{MemoAndController:{memo:t,controller:(0,_.toNullable)(o)}}]}}]}),Ks=({excludeType:e,beforeProposal:t,includeRewardStatus:o,includeStatus:s,limit:n,includeTopics:i})=>({exclude_type:BigUint64Array.from(e??[]),before_proposal:(0,_.toNullable)(t),include_reward_status:Int32Array.from(o??[]),include_status:Int32Array.from(s??[]),limit:n??10,include_topics:(0,_.toNullable)((i==null?void 0:i.map(a=>({topic:(0,_.toNullable)(a)})))??[])}),$s=e=>{if("ManageNervousSystemParameters"in e)return{ManageNervousSystemParameters:Eo(e.ManageNervousSystemParameters)};if("AddGenericNervousSystemFunction"in e)return{AddGenericNervousSystemFunction:ko(e.AddGenericNervousSystemFunction)};if("SetTopicsForCustomProposals"in e)return{SetTopicsForCustomProposals:e.SetTopicsForCustomProposals};if("RegisterExtension"in e)return{RegisterExtension:Uo(e.RegisterExtension)};if("RemoveGenericNervousSystemFunction"in e)return{RemoveGenericNervousSystemFunction:e.RemoveGenericNervousSystemFunction};if("UpgradeSnsToNextVersion"in e)return{UpgradeSnsToNextVersion:e.UpgradeSnsToNextVersion};if("RegisterDappCanisters"in e)return{RegisterDappCanisters:e.RegisterDappCanisters};if("TransferSnsTreasuryFunds"in e)return{TransferSnsTreasuryFunds:Fo(e.TransferSnsTreasuryFunds)};if("UpgradeSnsControlledCanister"in e)return{UpgradeSnsControlledCanister:bo(e.UpgradeSnsControlledCanister)};if("DeregisterDappCanisters"in e)return{DeregisterDappCanisters:e.DeregisterDappCanisters};if("Unspecified"in e)return{Unspecified:e.Unspecified};if("ManageSnsMetadata"in e)return{ManageSnsMetadata:Po(e.ManageSnsMetadata)};if("ExecuteGenericNervousSystemFunction"in e)return{ExecuteGenericNervousSystemFunction:e.ExecuteGenericNervousSystemFunction};if("Motion"in e)return{Motion:e.Motion};throw new Error(`Unknown action type ${JSON.stringify(e)}`)},Po=e=>({url:(0,_.fromNullable)(e.url),logo:(0,_.fromNullable)(e.logo),name:(0,_.fromNullable)(e.name),description:(0,_.fromNullable)(e.description)}),Zs=e=>{if(e!==void 0)return{wasm_module_hash:e.wasm_module_hash,store_canister_id:(0,_.fromNullable)(e.store_canister_id),chunk_hashes_list:e.chunk_hashes_list}},bo=e=>({new_canister_wasm:e.new_canister_wasm,chunked_canister_wasm:Zs((0,_.fromNullable)(e.chunked_canister_wasm)),canister_id:(0,_.fromNullable)(e.canister_id),canister_upgrade_arg:(0,_.fromNullable)(e.canister_upgrade_arg),mode:(0,_.fromNullable)(e.mode)}),Fo=e=>({from_treasury:e.from_treasury,to_principal:(0,_.fromNullable)(e.to_principal),to_subaccount:(0,_.fromNullable)(e.to_subaccount),memo:(0,_.fromNullable)(e.memo),amount_e8s:e.amount_e8s}),Co=e=>({validator_canister_id:(0,_.fromNullable)(e.validator_canister_id),target_canister_id:(0,_.fromNullable)(e.target_canister_id),validator_method_name:(0,_.fromNullable)(e.validator_method_name),target_method_name:(0,_.fromNullable)(e.target_method_name),topic:(0,_.fromNullable)(e.topic)}),Mo=e=>{if(e!==void 0){if("NativeNervousSystemFunction"in e)return{NativeNervousSystemFunction:e.NativeNervousSystemFunction};if("GenericNervousSystemFunction"in e)return{GenericNervousSystemFunction:Co(e.GenericNervousSystemFunction)};throw new Error(`Unknown FunctionType ${JSON.stringify(e)}`)}},ko=e=>({id:e.id,name:e.name,description:(0,_.fromNullable)(e.description),function_type:Mo((0,_.fromNullable)(e.function_type))}),Ao=e=>e&&{final_reward_rate_basis_points:(0,_.fromNullable)(e.final_reward_rate_basis_points),initial_reward_rate_basis_points:(0,_.fromNullable)(e.initial_reward_rate_basis_points),reward_rate_transition_duration_seconds:(0,_.fromNullable)(e.reward_rate_transition_duration_seconds),round_duration_seconds:(0,_.fromNullable)(e.round_duration_seconds)},Eo=e=>({default_followees:(0,_.fromNullable)(e.default_followees),max_dissolve_delay_seconds:(0,_.fromNullable)(e.max_dissolve_delay_seconds),max_dissolve_delay_bonus_percentage:(0,_.fromNullable)(e.max_dissolve_delay_bonus_percentage),max_followees_per_function:(0,_.fromNullable)(e.max_followees_per_function),neuron_claimer_permissions:(0,_.fromNullable)(e.neuron_claimer_permissions),neuron_minimum_stake_e8s:(0,_.fromNullable)(e.neuron_minimum_stake_e8s),max_neuron_age_for_age_bonus:(0,_.fromNullable)(e.max_neuron_age_for_age_bonus),initial_voting_period_seconds:(0,_.fromNullable)(e.initial_voting_period_seconds),neuron_minimum_dissolve_delay_to_vote_seconds:(0,_.fromNullable)(e.neuron_minimum_dissolve_delay_to_vote_seconds),reject_cost_e8s:(0,_.fromNullable)(e.reject_cost_e8s),max_proposals_to_keep_per_action:(0,_.fromNullable)(e.max_proposals_to_keep_per_action),wait_for_quiet_deadline_increase_seconds:(0,_.fromNullable)(e.wait_for_quiet_deadline_increase_seconds),max_number_of_neurons:(0,_.fromNullable)(e.max_number_of_neurons),transaction_fee_e8s:(0,_.fromNullable)(e.transaction_fee_e8s),max_number_of_proposals_with_ballots:(0,_.fromNullable)(e.max_number_of_proposals_with_ballots),max_age_bonus_percentage:(0,_.fromNullable)(e.max_age_bonus_percentage),neuron_grantable_permissions:(0,_.fromNullable)(e.neuron_grantable_permissions),voting_rewards_parameters:Ao((0,_.fromNullable)(e.voting_rewards_parameters)),max_number_of_principals_per_neuron:(0,_.fromNullable)(e.max_number_of_principals_per_neuron),automatically_advance_target_version:(0,_.fromNullable)(e.automatically_advance_target_version)}),Uo=e=>({chunked_canister_wasm:Zs((0,_.fromNullable)(e.chunked_canister_wasm)),extension_init:(0,_.fromNullable)(e.extension_init)});var Is=(r=>(r[r.NEURON_PERMISSION_TYPE_UNSPECIFIED=0]="NEURON_PERMISSION_TYPE_UNSPECIFIED",r[r.NEURON_PERMISSION_TYPE_CONFIGURE_DISSOLVE_STATE=1]="NEURON_PERMISSION_TYPE_CONFIGURE_DISSOLVE_STATE",r[r.NEURON_PERMISSION_TYPE_MANAGE_PRINCIPALS=2]="NEURON_PERMISSION_TYPE_MANAGE_PRINCIPALS",r[r.NEURON_PERMISSION_TYPE_SUBMIT_PROPOSAL=3]="NEURON_PERMISSION_TYPE_SUBMIT_PROPOSAL",r[r.NEURON_PERMISSION_TYPE_VOTE=4]="NEURON_PERMISSION_TYPE_VOTE",r[r.NEURON_PERMISSION_TYPE_DISBURSE=5]="NEURON_PERMISSION_TYPE_DISBURSE",r[r.NEURON_PERMISSION_TYPE_SPLIT=6]="NEURON_PERMISSION_TYPE_SPLIT",r[r.NEURON_PERMISSION_TYPE_MERGE_MATURITY=7]="NEURON_PERMISSION_TYPE_MERGE_MATURITY",r[r.NEURON_PERMISSION_TYPE_DISBURSE_MATURITY=8]="NEURON_PERMISSION_TYPE_DISBURSE_MATURITY",r[r.NEURON_PERMISSION_TYPE_STAKE_MATURITY=9]="NEURON_PERMISSION_TYPE_STAKE_MATURITY",r[r.NEURON_PERMISSION_TYPE_MANAGE_VOTING_PERMISSION=10]="NEURON_PERMISSION_TYPE_MANAGE_VOTING_PERMISSION",r))(Is||{}),Ds=(n=>(n[n.PROPOSAL_REWARD_STATUS_UNSPECIFIED=0]="PROPOSAL_REWARD_STATUS_UNSPECIFIED",n[n.PROPOSAL_REWARD_STATUS_ACCEPT_VOTES=1]="PROPOSAL_REWARD_STATUS_ACCEPT_VOTES",n[n.PROPOSAL_REWARD_STATUS_READY_TO_SETTLE=2]="PROPOSAL_REWARD_STATUS_READY_TO_SETTLE",n[n.PROPOSAL_REWARD_STATUS_SETTLED=3]="PROPOSAL_REWARD_STATUS_SETTLED",n))(Ds||{}),Ls=(a=>(a[a.PROPOSAL_DECISION_STATUS_UNSPECIFIED=0]="PROPOSAL_DECISION_STATUS_UNSPECIFIED",a[a.PROPOSAL_DECISION_STATUS_OPEN=1]="PROPOSAL_DECISION_STATUS_OPEN",a[a.PROPOSAL_DECISION_STATUS_REJECTED=2]="PROPOSAL_DECISION_STATUS_REJECTED",a[a.PROPOSAL_DECISION_STATUS_ADOPTED=3]="PROPOSAL_DECISION_STATUS_ADOPTED",a[a.PROPOSAL_DECISION_STATUS_EXECUTED=4]="PROPOSAL_DECISION_STATUS_EXECUTED",a[a.PROPOSAL_DECISION_STATUS_FAILED=5]="PROPOSAL_DECISION_STATUS_FAILED",a))(Ls||{}),eo=(s=>(s[s.Unspecified=0]="Unspecified",s[s.Yes=1]="Yes",s[s.No=2]="No",s))(eo||{});var to=(a=>(a[a.Unspecified=0]="Unspecified",a[a.Pending=1]="Pending",a[a.Open=2]="Open",a[a.Committed=3]="Committed",a[a.Aborted=4]="Aborted",a[a.Adopted=5]="Adopted",a))(to||{}),so=(s=>(s[s.TYPE_UNSPECIFIED=0]="TYPE_UNSPECIFIED",s[s.TYPE_SALE_NOT_OPEN=1]="TYPE_SALE_NOT_OPEN",s[s.TYPE_SALE_CLOSED=2]="TYPE_SALE_CLOSED",s))(so||{}),oo=(c=>(c[c.TYPE_UNSPECIFIED=0]="TYPE_UNSPECIFIED",c[c.TYPE_SALE_NOT_OPEN=1]="TYPE_SALE_NOT_OPEN",c[c.TYPE_SALE_CLOSED=2]="TYPE_SALE_CLOSED",c[c.TYPE_TICKET_EXISTS=3]="TYPE_TICKET_EXISTS",c[c.TYPE_INVALID_USER_AMOUNT=4]="TYPE_INVALID_USER_AMOUNT",c[c.TYPE_INVALID_SUBACCOUNT=5]="TYPE_INVALID_SUBACCOUNT",c[c.TYPE_INVALID_PRINCIPAL=6]="TYPE_INVALID_PRINCIPAL",c))(oo||{});var cs=class extends Error{constructor(o){super();this.methodName=o}};var P=class extends Error{};var ps=class extends Error{errorType;invalidUserAmount;existingTicket;constructor({errorType:t,invalidUserAmount:o,existingTicket:s}){super(),this.errorType=t,this.invalidUserAmount=o,this.existingTicket=s}},_s=class extends Error{constructor(o){super();this.errorType=o}};var b=require("@dfinity/utils");var no=({IDL:e})=>{let t=e.Rec(),o=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),s=e.Record({archive_wasm_hash:e.Vec(e.Nat8),root_wasm_hash:e.Vec(e.Nat8),swap_wasm_hash:e.Vec(e.Nat8),ledger_wasm_hash:e.Vec(e.Nat8),governance_wasm_hash:e.Vec(e.Nat8),index_wasm_hash:e.Vec(e.Nat8)}),n=e.Record({versions:e.Vec(s)}),i=e.Record({upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),a=e.Variant({DappCanisterManagement:e.Null,DaoCommunitySettings:e.Null,ApplicationBusinessLogic:e.Null,CriticalDappOperations:e.Null,TreasuryAssetManagement:e.Null,Governance:e.Null,SnsFrameworkManagement:e.Null}),c=e.Record({topic:e.Opt(a),validator_canister_id:e.Opt(e.Principal),target_canister_id:e.Opt(e.Principal),validator_method_name:e.Opt(e.Text),target_method_name:e.Opt(e.Text)}),u=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:c}),d=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(u)}),l=e.Record({subaccount:e.Vec(e.Nat8)}),r=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(l)}),N=e.Record({name:e.Opt(e.Text),original_amount_e8s:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64),account:e.Opt(r),ledger_canister_id:e.Opt(e.Principal),treasury:e.Int32,timestamp_seconds:e.Opt(e.Nat64)}),y=e.Record({governance_total_potential_voting_power:e.Opt(e.Nat64),timestamp_seconds:e.Opt(e.Nat64)}),F=e.Record({treasury_metrics:e.Vec(N),not_dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),garbage_collectable_neurons_count:e.Nat64,neurons_with_invalid_stake_count:e.Nat64,not_dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),neurons_with_less_than_6_months_dissolve_delay_count:e.Nat64,dissolved_neurons_count:e.Nat64,total_staked_e8s:e.Nat64,total_supply_governance_tokens:e.Nat64,voting_power_metrics:e.Opt(y),not_dissolving_neurons_count:e.Nat64,dissolved_neurons_e8s:e.Nat64,neurons_with_less_than_6_months_dissolve_delay_e8s:e.Nat64,dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),dissolving_neurons_count:e.Nat64,dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),timestamp_seconds:e.Nat64}),f=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),M=e.Record({old_target_version:e.Opt(s),new_target_version:e.Opt(s),is_advanced_automatically:e.Opt(e.Bool)}),O=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(n)}),k=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(s)})})),human_readable:e.Opt(e.Text)}),m=e.Record({id:e.Nat64}),A=e.Record({current_version:e.Opt(s),expected_version:e.Opt(s),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:m,BehindTargetVersion:e.Record({})}))}),E=e.Record({upgrade_steps:e.Opt(n)}),U=e.Record({human_readable:e.Opt(e.Text),old_target_version:e.Opt(s),new_target_version:e.Opt(s)}),G=e.Record({event:e.Opt(e.Variant({TargetVersionSet:M,UpgradeStepsReset:O,UpgradeOutcome:k,UpgradeStarted:A,UpgradeStepsRefreshed:E,TargetVersionReset:U})),timestamp_seconds:e.Opt(e.Nat64)}),v=e.Record({entries:e.Vec(G)}),p=e.Record({id:e.Vec(e.Nat8)}),x=e.Record({followees:e.Vec(p)}),B=e.Record({followees:e.Vec(e.Tuple(e.Nat64,x))}),R=e.Record({permissions:e.Vec(e.Int32)}),q=e.Record({final_reward_rate_basis_points:e.Opt(e.Nat64),initial_reward_rate_basis_points:e.Opt(e.Nat64),reward_rate_transition_duration_seconds:e.Opt(e.Nat64),round_duration_seconds:e.Opt(e.Nat64)}),h=e.Record({default_followees:e.Opt(B),max_dissolve_delay_seconds:e.Opt(e.Nat64),max_dissolve_delay_bonus_percentage:e.Opt(e.Nat64),max_followees_per_function:e.Opt(e.Nat64),automatically_advance_target_version:e.Opt(e.Bool),neuron_claimer_permissions:e.Opt(R),neuron_minimum_stake_e8s:e.Opt(e.Nat64),max_neuron_age_for_age_bonus:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),reject_cost_e8s:e.Opt(e.Nat64),max_proposals_to_keep_per_action:e.Opt(e.Nat32),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),max_number_of_neurons:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),max_number_of_proposals_with_ballots:e.Opt(e.Nat64),max_age_bonus_percentage:e.Opt(e.Nat64),neuron_grantable_permissions:e.Opt(R),voting_rewards_parameters:e.Opt(q),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),S=e.Record({rounds_since_last_distribution:e.Opt(e.Nat64),actual_timestamp_seconds:e.Nat64,end_timestamp_seconds:e.Opt(e.Nat64),total_available_e8s_equivalent:e.Opt(e.Nat64),distributed_e8s_equivalent:e.Nat64,round:e.Nat64,settled_proposals:e.Vec(m)}),z=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Opt(e.Nat64),target_version:e.Opt(s)}),g=e.Record({error_message:e.Text,error_type:e.Int32}),W=e.Record({human_readable:e.Opt(e.Text)}),ae=e.Record({e8s:e.Opt(e.Nat64)}),re=e.Record({xdrs_per_icp:e.Opt(W),icps_per_token:e.Opt(W),tokens:e.Opt(ae)}),ie=e.Record({token:e.Opt(e.Int32),account:e.Opt(r),valuation_factors:e.Opt(re),timestamp_seconds:e.Opt(e.Nat64)}),H=e.Record({valuation:e.Opt(ie)}),j=e.Record({archive_wasm_hash:e.Opt(e.Vec(e.Nat8)),root_wasm_hash:e.Opt(e.Vec(e.Nat8)),swap_wasm_hash:e.Opt(e.Vec(e.Nat8)),ledger_wasm_hash:e.Opt(e.Vec(e.Nat8)),governance_wasm_hash:e.Opt(e.Vec(e.Nat8)),index_wasm_hash:e.Opt(e.Vec(e.Nat8))}),ce=e.Record({target_version:e.Opt(j)}),pe=e.Variant({TransferSnsTreasuryFunds:H,MintSnsTokens:H,AdvanceSnsTargetVersion:ce}),_e=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),Q=e.Record({basis_points:e.Opt(e.Nat64)}),L=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),J=e.Record({freezing_threshold:e.Opt(e.Nat64),wasm_memory_threshold:e.Opt(e.Nat64),canister_ids:e.Vec(e.Principal),reserved_cycles_limit:e.Opt(e.Nat64),log_visibility:e.Opt(e.Int32),wasm_memory_limit:e.Opt(e.Nat64),memory_allocation:e.Opt(e.Nat64),compute_allocation:e.Opt(e.Nat64)});t.fill(e.Variant({Int:e.Int64,Map:e.Vec(e.Tuple(e.Text,t)),Nat:e.Nat64,Blob:e.Vec(e.Nat8),Bool:e.Bool,Text:e.Text,Array:e.Vec(t)}));let de=e.Record({value:e.Opt(t)}),ue=e.Record({extension_canister_id:e.Opt(e.Principal),operation_name:e.Opt(e.Text),operation_arg:e.Opt(de)}),V=e.Record({wasm_module_hash:e.Vec(e.Nat8),chunk_hashes_list:e.Vec(e.Vec(e.Nat8)),store_canister_id:e.Opt(e.Principal)}),ee=e.Variant({Chunked:V,Bytes:e.Vec(e.Nat8)}),le=e.Record({value:e.Opt(t)}),me=e.Record({extension_canister_id:e.Opt(e.Principal),wasm:e.Opt(ee),canister_upgrade_arg:e.Opt(le)}),Oe=e.Record({custom_function_id_to_topic:e.Vec(e.Tuple(e.Nat64,a))}),te=e.Record({value:e.Opt(t)}),Ne=e.Record({chunked_canister_wasm:e.Opt(V),extension_init:e.Opt(te)}),Re=e.Record({canister_ids:e.Vec(e.Principal)}),ge=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),se=e.Record({new_canister_wasm:e.Vec(e.Nat8),mode:e.Opt(e.Int32),canister_id:e.Opt(e.Principal),chunked_canister_wasm:e.Opt(V),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),oe=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ye=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),ne=e.Record({new_target:e.Opt(j)}),Y=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),fe=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),he=e.Record({token_symbol:e.Opt(e.Text),transfer_fee:e.Opt(e.Nat64),token_logo:e.Opt(e.Text),token_name:e.Opt(e.Text)}),ve=e.Record({motion_text:e.Text}),xe=e.Variant({ManageNervousSystemParameters:h,AddGenericNervousSystemFunction:d,ManageDappCanisterSettings:J,ExecuteExtensionOperation:ue,UpgradeExtension:me,RemoveGenericNervousSystemFunction:e.Nat64,SetTopicsForCustomProposals:Oe,RegisterExtension:Ne,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:Re,TransferSnsTreasuryFunds:ge,UpgradeSnsControlledCanister:se,DeregisterDappCanisters:oe,MintSnsTokens:ye,AdvanceSnsTargetVersion:ne,Unspecified:e.Record({}),ManageSnsMetadata:Y,ExecuteGenericNervousSystemFunction:fe,ManageLedgerParameters:he,Motion:ve}),w=e.Record({url:e.Text,title:e.Text,action:e.Opt(xe),summary:e.Text}),Se=e.Record({current_deadline_timestamp_seconds:e.Nat64}),T=e.Record({id:e.Opt(m),payload_text_rendering:e.Opt(e.Text),topic:e.Opt(a),action:e.Nat64,failure_reason:e.Opt(g),action_auxiliary:e.Opt(pe),ballots:e.Vec(e.Tuple(e.Text,_e)),minimum_yes_proportion_of_total:e.Opt(Q),reward_event_round:e.Nat64,failed_timestamp_seconds:e.Nat64,reward_event_end_timestamp_seconds:e.Opt(e.Nat64),proposal_creation_timestamp_seconds:e.Nat64,initial_voting_period_seconds:e.Nat64,reject_cost_e8s:e.Nat64,latest_tally:e.Opt(L),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(w),proposer:e.Opt(p),wait_for_quiet_state:e.Opt(Se),minimum_yes_proportion_of_exercised:e.Opt(Q),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),X=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),K=e.Record({function_id:e.Nat64,followees:e.Vec(p)}),$=e.Record({to_account:e.Opt(r),percentage_to_disburse:e.Nat32}),Ve=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),we=e.Record({additional_dissolve_delay_seconds:e.Nat32}),Te=e.Record({dissolve_timestamp_seconds:e.Nat64}),Pe=e.Variant({ChangeAutoStakeMaturity:Ve,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:we,SetDissolveTimestamp:Te}),Z=e.Record({operation:e.Opt(Pe)}),I=e.Record({vote:e.Int32,proposal:e.Opt(m)}),be=e.Record({alias:e.Opt(e.Text),neuron_id:e.Opt(p)}),Fe=e.Record({topic:e.Opt(a),followees:e.Vec(be)}),Ce=e.Record({topic_following:e.Vec(Fe)}),Ke=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(r)}),$e=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),Ze=e.Variant({MemoAndController:$e,NeuronId:e.Record({})}),Me=e.Record({by:e.Opt(Ze)}),ke=e.Record({permissions_to_remove:e.Opt(R),principal_id:e.Opt(e.Principal)}),Ae=e.Record({permissions_to_add:e.Opt(R),principal_id:e.Opt(e.Principal)}),Ee=e.Record({percentage_to_merge:e.Nat32}),Ie=e.Record({e8s:e.Nat64}),Ue=e.Record({to_account:e.Opt(r),amount:e.Opt(Ie)}),De=e.Variant({Split:X,Follow:K,DisburseMaturity:$,Configure:Z,RegisterVote:I,SetFollowing:Ce,SyncCommand:e.Record({}),MakeProposal:w,FinalizeDisburseMaturity:Ke,ClaimOrRefreshNeuron:Me,RemoveNeuronPermissions:ke,AddNeuronPermissions:Ae,MergeMaturity:Ee,Disburse:Ue}),Le=e.Record({command:e.Opt(De),timestamp:e.Nat64}),et=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),tt=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),st=e.Record({timestamp_of_disbursement_seconds:e.Nat64,amount_e8s:e.Nat64,account_to_disburse_to:e.Opt(r),finalize_disbursement_timestamp_seconds:e.Opt(e.Nat64)}),C=e.Record({id:e.Opt(p),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),permissions:e.Vec(et),maturity_e8s_equivalent:e.Nat64,cached_neuron_stake_e8s:e.Nat64,created_timestamp_seconds:e.Nat64,topic_followees:e.Opt(e.Record({topic_id_to_followees:e.Vec(e.Tuple(e.Int32,Fe))})),source_nns_neuron_id:e.Opt(e.Nat64),auto_stake_maturity:e.Opt(e.Bool),aging_since_timestamp_seconds:e.Nat64,dissolve_state:e.Opt(tt),voting_power_percentage_multiplier:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64),disburse_maturity_in_progress:e.Vec(st),followees:e.Vec(e.Tuple(e.Nat64,x)),neuron_fees_e8s:e.Nat64}),hs=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(o),cached_upgrade_steps:e.Opt(i),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,d)),metrics:e.Opt(F),maturity_modulation:e.Opt(f),upgrade_journal:e.Opt(v),mode:e.Int32,parameters:e.Opt(h),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(s),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(S),pending_version:e.Opt(z),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,T)),in_flight_commands:e.Vec(e.Tuple(e.Text,Le)),sns_metadata:e.Opt(Y),neurons:e.Vec(e.Tuple(e.Text,C)),target_version:e.Opt(s),genesis_timestamp_seconds:e.Nat64}),ot=e.Record({principals:e.Vec(e.Principal)}),nt=e.Record({nns_neuron_hotkeys:e.Opt(ot),nns_neuron_controller:e.Opt(e.Principal),nns_neuron_id:e.Opt(e.Nat64)}),at=e.Variant({NeuronsFund:nt,Direct:e.Record({})}),rt=e.Record({neuron_ids:e.Vec(p)}),it=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),participant:e.Opt(at),stake_e8s:e.Opt(e.Nat64),followees:e.Opt(rt),neuron_id:e.Opt(p)}),ct=e.Record({neuron_recipes:e.Vec(it)}),pt=e.Record({neuron_recipes:e.Opt(ct)}),_t=e.Record({id:e.Opt(p),status:e.Int32}),dt=e.Record({swap_neurons:e.Vec(_t)}),ut=e.Variant({Ok:dt,Err:e.Int32}),lt=e.Record({claim_swap_neurons_result:e.Opt(ut)}),mt=e.Record({maturity_modulation:e.Opt(f)}),Ot=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),ze=e.Record({time_window_seconds:e.Opt(e.Nat64)}),Nt=e.Record({treasury_metrics:e.Opt(e.Vec(N)),voting_power_metrics:e.Opt(y),last_ledger_block_timestamp:e.Opt(e.Nat64),num_recently_executed_proposals:e.Opt(e.Nat64),num_recently_submitted_proposals:e.Opt(e.Nat64),genesis_timestamp_seconds:e.Opt(e.Nat64)}),Rt=e.Variant({Ok:Nt,Err:g}),We=e.Record({get_metrics_result:e.Opt(Rt)}),He=e.Record({mode:e.Opt(e.Int32)}),gt=e.Record({neuron_id:e.Opt(p)}),yt=e.Variant({Error:g,Neuron:C}),je=e.Record({result:e.Opt(yt)}),Qe=e.Record({proposal_id:e.Opt(m)}),ft=e.Variant({Error:g,Proposal:T}),ht=e.Record({result:e.Opt(ft)}),vt=e.Record({wasm_binary_size:e.Opt(e.Nat),wasm_chunk_store_size:e.Opt(e.Nat),canister_history_size:e.Opt(e.Nat),stable_memory_size:e.Opt(e.Nat),snapshots_size:e.Opt(e.Nat),wasm_memory_size:e.Opt(e.Nat),global_memory_size:e.Opt(e.Nat),custom_sections_size:e.Opt(e.Nat)}),Je=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),xt=e.Record({freezing_threshold:e.Nat,wasm_memory_threshold:e.Opt(e.Nat),controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),St=e.Record({response_payload_bytes_total:e.Opt(e.Nat),num_instructions_total:e.Opt(e.Nat),num_calls_total:e.Opt(e.Nat),request_payload_bytes_total:e.Opt(e.Nat)}),Vt=e.Record({memory_metrics:e.Opt(vt),status:Je,memory_size:e.Nat,cycles:e.Nat,settings:xt,query_stats:e.Opt(St),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),wt=e.Record({deployed_version:e.Opt(s),pending_version:e.Opt(e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Nat64,target_version:e.Opt(s)}))}),Tt=e.Record({sns_initialization_parameters:e.Text}),Pt=e.Record({timers:e.Opt(o)}),bt=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat64)}),Ft=e.Record({upgrade_journal:e.Opt(v),upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),deployed_version:e.Opt(s),target_version:e.Opt(s),upgrade_journal_entry_count:e.Opt(e.Nat64)}),Ct=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(d)}),Mt=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(p)}),kt=e.Record({neurons:e.Vec(C)}),At=e.Record({topic:e.Opt(a)}),Et=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(m),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_topics:e.Opt(e.Vec(At)),include_status:e.Vec(e.Int32)}),Ut=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(T),include_topic_filtering:e.Opt(e.Bool)}),Gt=e.Record({}),Bt=e.Variant({TreasuryManagerWithdraw:e.Null,TreasuryManagerDeposit:e.Null}),qt=e.Variant({TreasuryManager:e.Null}),zt=e.Record({topic:e.Opt(a),operation_type:e.Opt(Bt),description:e.Opt(e.Text),extension_type:e.Opt(qt)}),Wt=e.Record({spec:e.Opt(zt),canister_id:e.Opt(e.Principal)}),Ht=e.Record({extension_operations:e.Opt(e.Vec(Wt)),native_functions:e.Opt(e.Vec(d)),topic:e.Opt(a),is_critical:e.Opt(e.Bool),name:e.Opt(e.Text),description:e.Opt(e.Text),custom_functions:e.Opt(e.Vec(d))}),jt=e.Record({uncategorized_functions:e.Opt(e.Vec(d)),topics:e.Opt(e.Vec(Ht))}),Qt=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),Jt=e.Variant({Split:X,Follow:K,DisburseMaturity:$,ClaimOrRefresh:Me,Configure:Z,RegisterVote:I,SetFollowing:Ce,MakeProposal:w,StakeMaturity:Qt,RemoveNeuronPermissions:ke,AddNeuronPermissions:Ae,MergeMaturity:Ee,Disburse:Ue}),Yt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(Jt)}),Xt=e.Record({created_neuron_id:e.Opt(p)}),Kt=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),$t=e.Record({refreshed_neuron_id:e.Opt(p)}),Zt=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),It=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),Dt=e.Record({transfer_block_height:e.Nat64}),Lt=e.Variant({Error:g,Split:Xt,Follow:e.Record({}),DisburseMaturity:Kt,ClaimOrRefresh:$t,Configure:e.Record({}),RegisterVote:e.Record({}),SetFollowing:e.Record({}),MakeProposal:Qe,RemoveNeuronPermission:e.Record({}),StakeMaturity:Zt,MergeMaturity:It,Disburse:Dt,AddNeuronPermission:e.Record({})}),es=e.Record({command:e.Opt(Lt)}),ts=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([pt],[lt],[]),fail_stuck_upgrade_in_progress:e.Func([e.Record({})],[e.Record({})],[]),get_build_metadata:e.Func([],[e.Text],[]),get_latest_reward_event:e.Func([],[S],[]),get_maturity_modulation:e.Func([e.Record({})],[mt],[]),get_metadata:e.Func([e.Record({})],[Ot],[]),get_metrics:e.Func([ze],[We],[]),get_metrics_replicated:e.Func([ze],[We],[]),get_mode:e.Func([e.Record({})],[He],[]),get_nervous_system_parameters:e.Func([e.Null],[h],[]),get_neuron:e.Func([gt],[je],[]),get_proposal:e.Func([Qe],[ht],[]),get_root_canister_status:e.Func([e.Null],[Vt],[]),get_running_sns_version:e.Func([e.Record({})],[wt],[]),get_sns_initialization_parameters:e.Func([e.Record({})],[Tt],[]),get_timers:e.Func([e.Record({})],[Pt],[]),get_upgrade_journal:e.Func([bt],[Ft],[]),list_nervous_system_functions:e.Func([],[Ct],[]),list_neurons:e.Func([Mt],[kt],[]),list_proposals:e.Func([Et],[Ut],[]),list_topics:e.Func([Gt],[jt],[]),manage_neuron:e.Func([Yt],[es],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([ts],[e.Record({})],[])})};var ao=({IDL:e})=>{let t=e.Rec(),o=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),s=e.Record({archive_wasm_hash:e.Vec(e.Nat8),root_wasm_hash:e.Vec(e.Nat8),swap_wasm_hash:e.Vec(e.Nat8),ledger_wasm_hash:e.Vec(e.Nat8),governance_wasm_hash:e.Vec(e.Nat8),index_wasm_hash:e.Vec(e.Nat8)}),n=e.Record({versions:e.Vec(s)}),i=e.Record({upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),a=e.Variant({DappCanisterManagement:e.Null,DaoCommunitySettings:e.Null,ApplicationBusinessLogic:e.Null,CriticalDappOperations:e.Null,TreasuryAssetManagement:e.Null,Governance:e.Null,SnsFrameworkManagement:e.Null}),c=e.Record({topic:e.Opt(a),validator_canister_id:e.Opt(e.Principal),target_canister_id:e.Opt(e.Principal),validator_method_name:e.Opt(e.Text),target_method_name:e.Opt(e.Text)}),u=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:c}),d=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(u)}),l=e.Record({subaccount:e.Vec(e.Nat8)}),r=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(l)}),N=e.Record({name:e.Opt(e.Text),original_amount_e8s:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64),account:e.Opt(r),ledger_canister_id:e.Opt(e.Principal),treasury:e.Int32,timestamp_seconds:e.Opt(e.Nat64)}),y=e.Record({governance_total_potential_voting_power:e.Opt(e.Nat64),timestamp_seconds:e.Opt(e.Nat64)}),F=e.Record({treasury_metrics:e.Vec(N),not_dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),garbage_collectable_neurons_count:e.Nat64,neurons_with_invalid_stake_count:e.Nat64,not_dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),neurons_with_less_than_6_months_dissolve_delay_count:e.Nat64,dissolved_neurons_count:e.Nat64,total_staked_e8s:e.Nat64,total_supply_governance_tokens:e.Nat64,voting_power_metrics:e.Opt(y),not_dissolving_neurons_count:e.Nat64,dissolved_neurons_e8s:e.Nat64,neurons_with_less_than_6_months_dissolve_delay_e8s:e.Nat64,dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),dissolving_neurons_count:e.Nat64,dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),timestamp_seconds:e.Nat64}),f=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),M=e.Record({old_target_version:e.Opt(s),new_target_version:e.Opt(s),is_advanced_automatically:e.Opt(e.Bool)}),O=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(n)}),k=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(s)})})),human_readable:e.Opt(e.Text)}),m=e.Record({id:e.Nat64}),A=e.Record({current_version:e.Opt(s),expected_version:e.Opt(s),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:m,BehindTargetVersion:e.Record({})}))}),E=e.Record({upgrade_steps:e.Opt(n)}),U=e.Record({human_readable:e.Opt(e.Text),old_target_version:e.Opt(s),new_target_version:e.Opt(s)}),G=e.Record({event:e.Opt(e.Variant({TargetVersionSet:M,UpgradeStepsReset:O,UpgradeOutcome:k,UpgradeStarted:A,UpgradeStepsRefreshed:E,TargetVersionReset:U})),timestamp_seconds:e.Opt(e.Nat64)}),v=e.Record({entries:e.Vec(G)}),p=e.Record({id:e.Vec(e.Nat8)}),x=e.Record({followees:e.Vec(p)}),B=e.Record({followees:e.Vec(e.Tuple(e.Nat64,x))}),R=e.Record({permissions:e.Vec(e.Int32)}),q=e.Record({final_reward_rate_basis_points:e.Opt(e.Nat64),initial_reward_rate_basis_points:e.Opt(e.Nat64),reward_rate_transition_duration_seconds:e.Opt(e.Nat64),round_duration_seconds:e.Opt(e.Nat64)}),h=e.Record({default_followees:e.Opt(B),max_dissolve_delay_seconds:e.Opt(e.Nat64),max_dissolve_delay_bonus_percentage:e.Opt(e.Nat64),max_followees_per_function:e.Opt(e.Nat64),automatically_advance_target_version:e.Opt(e.Bool),neuron_claimer_permissions:e.Opt(R),neuron_minimum_stake_e8s:e.Opt(e.Nat64),max_neuron_age_for_age_bonus:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),reject_cost_e8s:e.Opt(e.Nat64),max_proposals_to_keep_per_action:e.Opt(e.Nat32),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),max_number_of_neurons:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),max_number_of_proposals_with_ballots:e.Opt(e.Nat64),max_age_bonus_percentage:e.Opt(e.Nat64),neuron_grantable_permissions:e.Opt(R),voting_rewards_parameters:e.Opt(q),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),S=e.Record({rounds_since_last_distribution:e.Opt(e.Nat64),actual_timestamp_seconds:e.Nat64,end_timestamp_seconds:e.Opt(e.Nat64),total_available_e8s_equivalent:e.Opt(e.Nat64),distributed_e8s_equivalent:e.Nat64,round:e.Nat64,settled_proposals:e.Vec(m)}),z=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Opt(e.Nat64),target_version:e.Opt(s)}),g=e.Record({error_message:e.Text,error_type:e.Int32}),W=e.Record({human_readable:e.Opt(e.Text)}),ae=e.Record({e8s:e.Opt(e.Nat64)}),re=e.Record({xdrs_per_icp:e.Opt(W),icps_per_token:e.Opt(W),tokens:e.Opt(ae)}),ie=e.Record({token:e.Opt(e.Int32),account:e.Opt(r),valuation_factors:e.Opt(re),timestamp_seconds:e.Opt(e.Nat64)}),H=e.Record({valuation:e.Opt(ie)}),j=e.Record({archive_wasm_hash:e.Opt(e.Vec(e.Nat8)),root_wasm_hash:e.Opt(e.Vec(e.Nat8)),swap_wasm_hash:e.Opt(e.Vec(e.Nat8)),ledger_wasm_hash:e.Opt(e.Vec(e.Nat8)),governance_wasm_hash:e.Opt(e.Vec(e.Nat8)),index_wasm_hash:e.Opt(e.Vec(e.Nat8))}),ce=e.Record({target_version:e.Opt(j)}),pe=e.Variant({TransferSnsTreasuryFunds:H,MintSnsTokens:H,AdvanceSnsTargetVersion:ce}),_e=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),Q=e.Record({basis_points:e.Opt(e.Nat64)}),L=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),J=e.Record({freezing_threshold:e.Opt(e.Nat64),wasm_memory_threshold:e.Opt(e.Nat64),canister_ids:e.Vec(e.Principal),reserved_cycles_limit:e.Opt(e.Nat64),log_visibility:e.Opt(e.Int32),wasm_memory_limit:e.Opt(e.Nat64),memory_allocation:e.Opt(e.Nat64),compute_allocation:e.Opt(e.Nat64)});t.fill(e.Variant({Int:e.Int64,Map:e.Vec(e.Tuple(e.Text,t)),Nat:e.Nat64,Blob:e.Vec(e.Nat8),Bool:e.Bool,Text:e.Text,Array:e.Vec(t)}));let de=e.Record({value:e.Opt(t)}),ue=e.Record({extension_canister_id:e.Opt(e.Principal),operation_name:e.Opt(e.Text),operation_arg:e.Opt(de)}),V=e.Record({wasm_module_hash:e.Vec(e.Nat8),chunk_hashes_list:e.Vec(e.Vec(e.Nat8)),store_canister_id:e.Opt(e.Principal)}),ee=e.Variant({Chunked:V,Bytes:e.Vec(e.Nat8)}),le=e.Record({value:e.Opt(t)}),me=e.Record({extension_canister_id:e.Opt(e.Principal),wasm:e.Opt(ee),canister_upgrade_arg:e.Opt(le)}),Oe=e.Record({custom_function_id_to_topic:e.Vec(e.Tuple(e.Nat64,a))}),te=e.Record({value:e.Opt(t)}),Ne=e.Record({chunked_canister_wasm:e.Opt(V),extension_init:e.Opt(te)}),Re=e.Record({canister_ids:e.Vec(e.Principal)}),ge=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),se=e.Record({new_canister_wasm:e.Vec(e.Nat8),mode:e.Opt(e.Int32),canister_id:e.Opt(e.Principal),chunked_canister_wasm:e.Opt(V),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),oe=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ye=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),ne=e.Record({new_target:e.Opt(j)}),Y=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),fe=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),he=e.Record({token_symbol:e.Opt(e.Text),transfer_fee:e.Opt(e.Nat64),token_logo:e.Opt(e.Text),token_name:e.Opt(e.Text)}),ve=e.Record({motion_text:e.Text}),xe=e.Variant({ManageNervousSystemParameters:h,AddGenericNervousSystemFunction:d,ManageDappCanisterSettings:J,ExecuteExtensionOperation:ue,UpgradeExtension:me,RemoveGenericNervousSystemFunction:e.Nat64,SetTopicsForCustomProposals:Oe,RegisterExtension:Ne,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:Re,TransferSnsTreasuryFunds:ge,UpgradeSnsControlledCanister:se,DeregisterDappCanisters:oe,MintSnsTokens:ye,AdvanceSnsTargetVersion:ne,Unspecified:e.Record({}),ManageSnsMetadata:Y,ExecuteGenericNervousSystemFunction:fe,ManageLedgerParameters:he,Motion:ve}),w=e.Record({url:e.Text,title:e.Text,action:e.Opt(xe),summary:e.Text}),Se=e.Record({current_deadline_timestamp_seconds:e.Nat64}),T=e.Record({id:e.Opt(m),payload_text_rendering:e.Opt(e.Text),topic:e.Opt(a),action:e.Nat64,failure_reason:e.Opt(g),action_auxiliary:e.Opt(pe),ballots:e.Vec(e.Tuple(e.Text,_e)),minimum_yes_proportion_of_total:e.Opt(Q),reward_event_round:e.Nat64,failed_timestamp_seconds:e.Nat64,reward_event_end_timestamp_seconds:e.Opt(e.Nat64),proposal_creation_timestamp_seconds:e.Nat64,initial_voting_period_seconds:e.Nat64,reject_cost_e8s:e.Nat64,latest_tally:e.Opt(L),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(w),proposer:e.Opt(p),wait_for_quiet_state:e.Opt(Se),minimum_yes_proportion_of_exercised:e.Opt(Q),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),X=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),K=e.Record({function_id:e.Nat64,followees:e.Vec(p)}),$=e.Record({to_account:e.Opt(r),percentage_to_disburse:e.Nat32}),Ve=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),we=e.Record({additional_dissolve_delay_seconds:e.Nat32}),Te=e.Record({dissolve_timestamp_seconds:e.Nat64}),Pe=e.Variant({ChangeAutoStakeMaturity:Ve,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:we,SetDissolveTimestamp:Te}),Z=e.Record({operation:e.Opt(Pe)}),I=e.Record({vote:e.Int32,proposal:e.Opt(m)}),be=e.Record({alias:e.Opt(e.Text),neuron_id:e.Opt(p)}),Fe=e.Record({topic:e.Opt(a),followees:e.Vec(be)}),Ce=e.Record({topic_following:e.Vec(Fe)}),Ke=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(r)}),$e=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),Ze=e.Variant({MemoAndController:$e,NeuronId:e.Record({})}),Me=e.Record({by:e.Opt(Ze)}),ke=e.Record({permissions_to_remove:e.Opt(R),principal_id:e.Opt(e.Principal)}),Ae=e.Record({permissions_to_add:e.Opt(R),principal_id:e.Opt(e.Principal)}),Ee=e.Record({percentage_to_merge:e.Nat32}),Ie=e.Record({e8s:e.Nat64}),Ue=e.Record({to_account:e.Opt(r),amount:e.Opt(Ie)}),De=e.Variant({Split:X,Follow:K,DisburseMaturity:$,Configure:Z,RegisterVote:I,SetFollowing:Ce,SyncCommand:e.Record({}),MakeProposal:w,FinalizeDisburseMaturity:Ke,ClaimOrRefreshNeuron:Me,RemoveNeuronPermissions:ke,AddNeuronPermissions:Ae,MergeMaturity:Ee,Disburse:Ue}),Le=e.Record({command:e.Opt(De),timestamp:e.Nat64}),et=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),tt=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),st=e.Record({timestamp_of_disbursement_seconds:e.Nat64,amount_e8s:e.Nat64,account_to_disburse_to:e.Opt(r),finalize_disbursement_timestamp_seconds:e.Opt(e.Nat64)}),C=e.Record({id:e.Opt(p),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),permissions:e.Vec(et),maturity_e8s_equivalent:e.Nat64,cached_neuron_stake_e8s:e.Nat64,created_timestamp_seconds:e.Nat64,topic_followees:e.Opt(e.Record({topic_id_to_followees:e.Vec(e.Tuple(e.Int32,Fe))})),source_nns_neuron_id:e.Opt(e.Nat64),auto_stake_maturity:e.Opt(e.Bool),aging_since_timestamp_seconds:e.Nat64,dissolve_state:e.Opt(tt),voting_power_percentage_multiplier:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64),disburse_maturity_in_progress:e.Vec(st),followees:e.Vec(e.Tuple(e.Nat64,x)),neuron_fees_e8s:e.Nat64}),hs=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(o),cached_upgrade_steps:e.Opt(i),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,d)),metrics:e.Opt(F),maturity_modulation:e.Opt(f),upgrade_journal:e.Opt(v),mode:e.Int32,parameters:e.Opt(h),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(s),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(S),pending_version:e.Opt(z),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,T)),in_flight_commands:e.Vec(e.Tuple(e.Text,Le)),sns_metadata:e.Opt(Y),neurons:e.Vec(e.Tuple(e.Text,C)),target_version:e.Opt(s),genesis_timestamp_seconds:e.Nat64}),ot=e.Record({principals:e.Vec(e.Principal)}),nt=e.Record({nns_neuron_hotkeys:e.Opt(ot),nns_neuron_controller:e.Opt(e.Principal),nns_neuron_id:e.Opt(e.Nat64)}),at=e.Variant({NeuronsFund:nt,Direct:e.Record({})}),rt=e.Record({neuron_ids:e.Vec(p)}),it=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),participant:e.Opt(at),stake_e8s:e.Opt(e.Nat64),followees:e.Opt(rt),neuron_id:e.Opt(p)}),ct=e.Record({neuron_recipes:e.Vec(it)}),pt=e.Record({neuron_recipes:e.Opt(ct)}),_t=e.Record({id:e.Opt(p),status:e.Int32}),dt=e.Record({swap_neurons:e.Vec(_t)}),ut=e.Variant({Ok:dt,Err:e.Int32}),lt=e.Record({claim_swap_neurons_result:e.Opt(ut)}),mt=e.Record({maturity_modulation:e.Opt(f)}),Ot=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),ze=e.Record({time_window_seconds:e.Opt(e.Nat64)}),Nt=e.Record({treasury_metrics:e.Opt(e.Vec(N)),voting_power_metrics:e.Opt(y),last_ledger_block_timestamp:e.Opt(e.Nat64),num_recently_executed_proposals:e.Opt(e.Nat64),num_recently_submitted_proposals:e.Opt(e.Nat64),genesis_timestamp_seconds:e.Opt(e.Nat64)}),Rt=e.Variant({Ok:Nt,Err:g}),We=e.Record({get_metrics_result:e.Opt(Rt)}),He=e.Record({mode:e.Opt(e.Int32)}),gt=e.Record({neuron_id:e.Opt(p)}),yt=e.Variant({Error:g,Neuron:C}),je=e.Record({result:e.Opt(yt)}),Qe=e.Record({proposal_id:e.Opt(m)}),ft=e.Variant({Error:g,Proposal:T}),ht=e.Record({result:e.Opt(ft)}),vt=e.Record({wasm_binary_size:e.Opt(e.Nat),wasm_chunk_store_size:e.Opt(e.Nat),canister_history_size:e.Opt(e.Nat),stable_memory_size:e.Opt(e.Nat),snapshots_size:e.Opt(e.Nat),wasm_memory_size:e.Opt(e.Nat),global_memory_size:e.Opt(e.Nat),custom_sections_size:e.Opt(e.Nat)}),Je=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),xt=e.Record({freezing_threshold:e.Nat,wasm_memory_threshold:e.Opt(e.Nat),controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),St=e.Record({response_payload_bytes_total:e.Opt(e.Nat),num_instructions_total:e.Opt(e.Nat),num_calls_total:e.Opt(e.Nat),request_payload_bytes_total:e.Opt(e.Nat)}),Vt=e.Record({memory_metrics:e.Opt(vt),status:Je,memory_size:e.Nat,cycles:e.Nat,settings:xt,query_stats:e.Opt(St),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),wt=e.Record({deployed_version:e.Opt(s),pending_version:e.Opt(e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Nat64,target_version:e.Opt(s)}))}),Tt=e.Record({sns_initialization_parameters:e.Text}),Pt=e.Record({timers:e.Opt(o)}),bt=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat64)}),Ft=e.Record({upgrade_journal:e.Opt(v),upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),deployed_version:e.Opt(s),target_version:e.Opt(s),upgrade_journal_entry_count:e.Opt(e.Nat64)}),Ct=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(d)}),Mt=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(p)}),kt=e.Record({neurons:e.Vec(C)}),At=e.Record({topic:e.Opt(a)}),Et=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(m),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_topics:e.Opt(e.Vec(At)),include_status:e.Vec(e.Int32)}),Ut=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(T),include_topic_filtering:e.Opt(e.Bool)}),Gt=e.Record({}),Bt=e.Variant({TreasuryManagerWithdraw:e.Null,TreasuryManagerDeposit:e.Null}),qt=e.Variant({TreasuryManager:e.Null}),zt=e.Record({topic:e.Opt(a),operation_type:e.Opt(Bt),description:e.Opt(e.Text),extension_type:e.Opt(qt)}),Wt=e.Record({spec:e.Opt(zt),canister_id:e.Opt(e.Principal)}),Ht=e.Record({extension_operations:e.Opt(e.Vec(Wt)),native_functions:e.Opt(e.Vec(d)),topic:e.Opt(a),is_critical:e.Opt(e.Bool),name:e.Opt(e.Text),description:e.Opt(e.Text),custom_functions:e.Opt(e.Vec(d))}),jt=e.Record({uncategorized_functions:e.Opt(e.Vec(d)),topics:e.Opt(e.Vec(Ht))}),Qt=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),Jt=e.Variant({Split:X,Follow:K,DisburseMaturity:$,ClaimOrRefresh:Me,Configure:Z,RegisterVote:I,SetFollowing:Ce,MakeProposal:w,StakeMaturity:Qt,RemoveNeuronPermissions:ke,AddNeuronPermissions:Ae,MergeMaturity:Ee,Disburse:Ue}),Yt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(Jt)}),Xt=e.Record({created_neuron_id:e.Opt(p)}),Kt=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),$t=e.Record({refreshed_neuron_id:e.Opt(p)}),Zt=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),It=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),Dt=e.Record({transfer_block_height:e.Nat64}),Lt=e.Variant({Error:g,Split:Xt,Follow:e.Record({}),DisburseMaturity:Kt,ClaimOrRefresh:$t,Configure:e.Record({}),RegisterVote:e.Record({}),SetFollowing:e.Record({}),MakeProposal:Qe,RemoveNeuronPermission:e.Record({}),StakeMaturity:Zt,MergeMaturity:It,Disburse:Dt,AddNeuronPermission:e.Record({})}),es=e.Record({command:e.Opt(Lt)}),ts=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([pt],[lt],[]),fail_stuck_upgrade_in_progress:e.Func([e.Record({})],[e.Record({})],[]),get_build_metadata:e.Func([],[e.Text],["query"]),get_latest_reward_event:e.Func([],[S],["query"]),get_maturity_modulation:e.Func([e.Record({})],[mt],[]),get_metadata:e.Func([e.Record({})],[Ot],["query"]),get_metrics:e.Func([ze],[We],["composite_query"]),get_metrics_replicated:e.Func([ze],[We],[]),get_mode:e.Func([e.Record({})],[He],["query"]),get_nervous_system_parameters:e.Func([e.Null],[h],["query"]),get_neuron:e.Func([gt],[je],["query"]),get_proposal:e.Func([Qe],[ht],["query"]),get_root_canister_status:e.Func([e.Null],[Vt],[]),get_running_sns_version:e.Func([e.Record({})],[wt],["query"]),get_sns_initialization_parameters:e.Func([e.Record({})],[Tt],["query"]),get_timers:e.Func([e.Record({})],[Pt],["query"]),get_upgrade_journal:e.Func([bt],[Ft],["query"]),list_nervous_system_functions:e.Func([],[Ct],["query"]),list_neurons:e.Func([Mt],[kt],["query"]),list_proposals:e.Func([Et],[Ut],["query"]),list_topics:e.Func([Gt],[jt],["query"]),manage_neuron:e.Func([Yt],[es],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([ts],[e.Record({})],[])})};var os=class e extends b.Canister{static create(t){let{service:o,certifiedService:s,canisterId:n}=(0,b.createServices)({options:t,idlFactory:ao,certifiedIdlFactory:no});return new e(n,o,s)}listNeurons=async t=>{let{principal:o,limit:s,beforeNeuronId:n}=t,{neurons:i}=await this.caller(t).list_neurons({of_principal:(0,b.toNullable)(o),limit:s??100,start_page_at:(0,b.toNullable)(n)});return i};listProposals=async t=>{let{certified:o}=t;return await this.caller({certified:o}).list_proposals(Ks(t))};listTopics=async t=>{let{certified:o}=t;return await this.caller({certified:o}).list_topics({})};getProposal=async t=>{let{proposalId:o}=t,{result:s}=await this.caller(t).get_proposal({proposal_id:(0,b.toNullable)(o)}),n=(0,b.fromNullable)(s);if(n===void 0||"Error"in n)throw new P((n==null?void 0:n.Error.error_message)??"Response type not supported");return n.Proposal};listNervousSystemFunctions=t=>this.caller(t).list_nervous_system_functions();metadata=t=>this.caller(t).get_metadata({});nervousSystemParameters=t=>this.caller(t).get_nervous_system_parameters(null);getNeuron=async t=>{let{neuronId:o}=t,{result:s}=await this.caller(t).get_neuron({neuron_id:(0,b.toNullable)(o)}),n=(0,b.fromNullable)(s);if(n===void 0||"Error"in n)throw new P((n==null?void 0:n.Error.error_message)??"Response type not supported");return n.Neuron};queryNeuron=async t=>{try{return await this.getNeuron(t)}catch(o){if(o instanceof Error&&o.message.includes("No neuron for given NeuronId"))return;throw o}};manageNeuron=async t=>{let o=await this.caller({certified:!0}).manage_neuron(t);return this.assertManageNeuronError(o),o};addNeuronPermissions=async t=>{let o=As(t);await this.manageNeuron(o)};removeNeuronPermissions=async t=>{let o=Es(t);await this.manageNeuron(o)};splitNeuron=async t=>{let o=Us(t),{command:s}=await this.manageNeuron(o),n=(0,b.fromNullable)(s),i=a=>`Split neuron failed (${a})`;if(n===void 0)throw new P(i("no response"));if("Split"in n){let a=n.Split,c=(0,b.fromNullable)(a.created_neuron_id);if(c!==void 0)return c;throw new P(i("no id"))}throw new P(i("unknown"))};disburse=async t=>{let o=Gs(t);await this.manageNeuron(o)};startDissolving=async t=>{let o=Bs(t);await this.manageNeuron(o)};stopDissolving=async t=>{let o=qs(t);await this.manageNeuron(o)};stakeMaturity=async({neuronId:t,percentageToStake:o})=>{(0,b.assertPercentageNumber)(o??100);let s=zs({neuronId:t,percentageToStake:o});await this.manageNeuron(s)};disburseMaturity=async t=>{(0,b.assertPercentageNumber)(t.percentageToDisburse);let o=Ws(t);await this.manageNeuron(o)};autoStakeMaturity=async t=>{let o=Hs(t);await this.manageNeuron(o)};setDissolveTimestamp=async t=>{let o=js(t);await this.manageNeuron(o)};increaseDissolveDelay=async t=>{let o=Qs(t);await this.manageNeuron(o)};setTopicFollowees=async t=>{let o=Js(t);await this.manageNeuron(o)};setFollowing=async t=>{let o=Ys(t);await this.manageNeuron(o)};registerVote=async t=>{let o=Xs(t);await this.manageNeuron(o)};refreshNeuron=async t=>{let o=Ps({subaccount:t.id});await this.manageNeuron(o)};claimNeuron=async({memo:t,controller:o,subaccount:s})=>{let n=Ps({subaccount:s,memo:t,controller:o}),{command:i}=await this.manageNeuron(n),a=(0,b.fromNullable)(i);if(a===void 0)throw new P("Claim neuron failed");if("ClaimOrRefresh"in a){let c=(0,b.fromNullable)(a.ClaimOrRefresh.refreshed_neuron_id);if(c===void 0)throw new P("Claim neuron failed");return c}throw new P("Claim neuron failed")};assertManageNeuronError=({command:t})=>{let[o]=t;if(o!==void 0&&"Error"in o)throw new P(o.Error.error_message)}};var Ge=require("@dfinity/utils");var ro=({IDL:e})=>{let t=e.Rec(),o=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),s=e.Record({archive_wasm_hash:e.Vec(e.Nat8),root_wasm_hash:e.Vec(e.Nat8),swap_wasm_hash:e.Vec(e.Nat8),ledger_wasm_hash:e.Vec(e.Nat8),governance_wasm_hash:e.Vec(e.Nat8),index_wasm_hash:e.Vec(e.Nat8)}),n=e.Record({versions:e.Vec(s)}),i=e.Record({upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),a=e.Variant({DappCanisterManagement:e.Null,DaoCommunitySettings:e.Null,ApplicationBusinessLogic:e.Null,CriticalDappOperations:e.Null,TreasuryAssetManagement:e.Null,Governance:e.Null,SnsFrameworkManagement:e.Null}),c=e.Record({topic:e.Opt(a),validator_canister_id:e.Opt(e.Principal),target_canister_id:e.Opt(e.Principal),validator_method_name:e.Opt(e.Text),target_method_name:e.Opt(e.Text)}),u=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:c}),d=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(u)}),l=e.Record({subaccount:e.Vec(e.Nat8)}),r=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(l)}),N=e.Record({name:e.Opt(e.Text),original_amount_e8s:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64),account:e.Opt(r),ledger_canister_id:e.Opt(e.Principal),treasury:e.Int32,timestamp_seconds:e.Opt(e.Nat64)}),y=e.Record({governance_total_potential_voting_power:e.Opt(e.Nat64),timestamp_seconds:e.Opt(e.Nat64)}),F=e.Record({treasury_metrics:e.Vec(N),not_dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),garbage_collectable_neurons_count:e.Nat64,neurons_with_invalid_stake_count:e.Nat64,not_dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),neurons_with_less_than_6_months_dissolve_delay_count:e.Nat64,dissolved_neurons_count:e.Nat64,total_staked_e8s:e.Nat64,total_supply_governance_tokens:e.Nat64,voting_power_metrics:e.Opt(y),not_dissolving_neurons_count:e.Nat64,dissolved_neurons_e8s:e.Nat64,neurons_with_less_than_6_months_dissolve_delay_e8s:e.Nat64,dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),dissolving_neurons_count:e.Nat64,dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),timestamp_seconds:e.Nat64}),f=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),M=e.Record({old_target_version:e.Opt(s),new_target_version:e.Opt(s),is_advanced_automatically:e.Opt(e.Bool)}),O=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(n)}),k=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(s)})})),human_readable:e.Opt(e.Text)}),m=e.Record({id:e.Nat64}),A=e.Record({current_version:e.Opt(s),expected_version:e.Opt(s),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:m,BehindTargetVersion:e.Record({})}))}),E=e.Record({upgrade_steps:e.Opt(n)}),U=e.Record({human_readable:e.Opt(e.Text),old_target_version:e.Opt(s),new_target_version:e.Opt(s)}),G=e.Record({event:e.Opt(e.Variant({TargetVersionSet:M,UpgradeStepsReset:O,UpgradeOutcome:k,UpgradeStarted:A,UpgradeStepsRefreshed:E,TargetVersionReset:U})),timestamp_seconds:e.Opt(e.Nat64)}),v=e.Record({entries:e.Vec(G)}),p=e.Record({id:e.Vec(e.Nat8)}),x=e.Record({followees:e.Vec(p)}),B=e.Record({followees:e.Vec(e.Tuple(e.Nat64,x))}),R=e.Record({permissions:e.Vec(e.Int32)}),q=e.Record({final_reward_rate_basis_points:e.Opt(e.Nat64),initial_reward_rate_basis_points:e.Opt(e.Nat64),reward_rate_transition_duration_seconds:e.Opt(e.Nat64),round_duration_seconds:e.Opt(e.Nat64)}),h=e.Record({default_followees:e.Opt(B),max_dissolve_delay_seconds:e.Opt(e.Nat64),max_dissolve_delay_bonus_percentage:e.Opt(e.Nat64),max_followees_per_function:e.Opt(e.Nat64),automatically_advance_target_version:e.Opt(e.Bool),neuron_claimer_permissions:e.Opt(R),neuron_minimum_stake_e8s:e.Opt(e.Nat64),max_neuron_age_for_age_bonus:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),reject_cost_e8s:e.Opt(e.Nat64),max_proposals_to_keep_per_action:e.Opt(e.Nat32),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),max_number_of_neurons:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),max_number_of_proposals_with_ballots:e.Opt(e.Nat64),max_age_bonus_percentage:e.Opt(e.Nat64),neuron_grantable_permissions:e.Opt(R),voting_rewards_parameters:e.Opt(q),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),S=e.Record({rounds_since_last_distribution:e.Opt(e.Nat64),actual_timestamp_seconds:e.Nat64,end_timestamp_seconds:e.Opt(e.Nat64),total_available_e8s_equivalent:e.Opt(e.Nat64),distributed_e8s_equivalent:e.Nat64,round:e.Nat64,settled_proposals:e.Vec(m)}),z=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Opt(e.Nat64),target_version:e.Opt(s)}),g=e.Record({error_message:e.Text,error_type:e.Int32}),W=e.Record({human_readable:e.Opt(e.Text)}),ae=e.Record({e8s:e.Opt(e.Nat64)}),re=e.Record({xdrs_per_icp:e.Opt(W),icps_per_token:e.Opt(W),tokens:e.Opt(ae)}),ie=e.Record({token:e.Opt(e.Int32),account:e.Opt(r),valuation_factors:e.Opt(re),timestamp_seconds:e.Opt(e.Nat64)}),H=e.Record({valuation:e.Opt(ie)}),j=e.Record({archive_wasm_hash:e.Opt(e.Vec(e.Nat8)),root_wasm_hash:e.Opt(e.Vec(e.Nat8)),swap_wasm_hash:e.Opt(e.Vec(e.Nat8)),ledger_wasm_hash:e.Opt(e.Vec(e.Nat8)),governance_wasm_hash:e.Opt(e.Vec(e.Nat8)),index_wasm_hash:e.Opt(e.Vec(e.Nat8))}),ce=e.Record({target_version:e.Opt(j)}),pe=e.Variant({TransferSnsTreasuryFunds:H,MintSnsTokens:H,AdvanceSnsTargetVersion:ce}),_e=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),Q=e.Record({basis_points:e.Opt(e.Nat64)}),L=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),J=e.Record({freezing_threshold:e.Opt(e.Nat64),wasm_memory_threshold:e.Opt(e.Nat64),canister_ids:e.Vec(e.Principal),reserved_cycles_limit:e.Opt(e.Nat64),log_visibility:e.Opt(e.Int32),wasm_memory_limit:e.Opt(e.Nat64),memory_allocation:e.Opt(e.Nat64),compute_allocation:e.Opt(e.Nat64)});t.fill(e.Variant({Int:e.Int64,Map:e.Vec(e.Tuple(e.Text,t)),Nat:e.Nat64,Blob:e.Vec(e.Nat8),Bool:e.Bool,Text:e.Text,Array:e.Vec(t)}));let de=e.Record({value:e.Opt(t)}),ue=e.Record({extension_canister_id:e.Opt(e.Principal),operation_name:e.Opt(e.Text),operation_arg:e.Opt(de)}),V=e.Record({wasm_module_hash:e.Vec(e.Nat8),chunk_hashes_list:e.Vec(e.Vec(e.Nat8)),store_canister_id:e.Opt(e.Principal)}),ee=e.Variant({Chunked:V,Bytes:e.Vec(e.Nat8)}),le=e.Record({value:e.Opt(t)}),me=e.Record({extension_canister_id:e.Opt(e.Principal),wasm:e.Opt(ee),canister_upgrade_arg:e.Opt(le)}),Oe=e.Record({custom_function_id_to_topic:e.Vec(e.Tuple(e.Nat64,a))}),te=e.Record({value:e.Opt(t)}),Ne=e.Record({chunked_canister_wasm:e.Opt(V),extension_init:e.Opt(te)}),Re=e.Record({canister_ids:e.Vec(e.Principal)}),ge=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),se=e.Record({new_canister_wasm:e.Vec(e.Nat8),mode:e.Opt(e.Int32),canister_id:e.Opt(e.Principal),chunked_canister_wasm:e.Opt(V),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),oe=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ye=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),ne=e.Record({new_target:e.Opt(j)}),Y=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),fe=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),he=e.Record({token_symbol:e.Opt(e.Text),transfer_fee:e.Opt(e.Nat64),token_logo:e.Opt(e.Text),token_name:e.Opt(e.Text)}),ve=e.Record({motion_text:e.Text}),xe=e.Variant({ManageNervousSystemParameters:h,AddGenericNervousSystemFunction:d,ManageDappCanisterSettings:J,ExecuteExtensionOperation:ue,UpgradeExtension:me,RemoveGenericNervousSystemFunction:e.Nat64,SetTopicsForCustomProposals:Oe,RegisterExtension:Ne,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:Re,TransferSnsTreasuryFunds:ge,UpgradeSnsControlledCanister:se,DeregisterDappCanisters:oe,MintSnsTokens:ye,AdvanceSnsTargetVersion:ne,Unspecified:e.Record({}),ManageSnsMetadata:Y,ExecuteGenericNervousSystemFunction:fe,ManageLedgerParameters:he,Motion:ve}),w=e.Record({url:e.Text,title:e.Text,action:e.Opt(xe),summary:e.Text}),Se=e.Record({current_deadline_timestamp_seconds:e.Nat64}),T=e.Record({id:e.Opt(m),payload_text_rendering:e.Opt(e.Text),topic:e.Opt(a),action:e.Nat64,failure_reason:e.Opt(g),action_auxiliary:e.Opt(pe),ballots:e.Vec(e.Tuple(e.Text,_e)),minimum_yes_proportion_of_total:e.Opt(Q),reward_event_round:e.Nat64,failed_timestamp_seconds:e.Nat64,reward_event_end_timestamp_seconds:e.Opt(e.Nat64),proposal_creation_timestamp_seconds:e.Nat64,initial_voting_period_seconds:e.Nat64,reject_cost_e8s:e.Nat64,latest_tally:e.Opt(L),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(w),proposer:e.Opt(p),wait_for_quiet_state:e.Opt(Se),minimum_yes_proportion_of_exercised:e.Opt(Q),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),X=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),K=e.Record({function_id:e.Nat64,followees:e.Vec(p)}),$=e.Record({to_account:e.Opt(r),percentage_to_disburse:e.Nat32}),Ve=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),we=e.Record({additional_dissolve_delay_seconds:e.Nat32}),Te=e.Record({dissolve_timestamp_seconds:e.Nat64}),Pe=e.Variant({ChangeAutoStakeMaturity:Ve,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:we,SetDissolveTimestamp:Te}),Z=e.Record({operation:e.Opt(Pe)}),I=e.Record({vote:e.Int32,proposal:e.Opt(m)}),be=e.Record({alias:e.Opt(e.Text),neuron_id:e.Opt(p)}),Fe=e.Record({topic:e.Opt(a),followees:e.Vec(be)}),Ce=e.Record({topic_following:e.Vec(Fe)}),Ke=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(r)}),$e=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),Ze=e.Variant({MemoAndController:$e,NeuronId:e.Record({})}),Me=e.Record({by:e.Opt(Ze)}),ke=e.Record({permissions_to_remove:e.Opt(R),principal_id:e.Opt(e.Principal)}),Ae=e.Record({permissions_to_add:e.Opt(R),principal_id:e.Opt(e.Principal)}),Ee=e.Record({percentage_to_merge:e.Nat32}),Ie=e.Record({e8s:e.Nat64}),Ue=e.Record({to_account:e.Opt(r),amount:e.Opt(Ie)}),De=e.Variant({Split:X,Follow:K,DisburseMaturity:$,Configure:Z,RegisterVote:I,SetFollowing:Ce,SyncCommand:e.Record({}),MakeProposal:w,FinalizeDisburseMaturity:Ke,ClaimOrRefreshNeuron:Me,RemoveNeuronPermissions:ke,AddNeuronPermissions:Ae,MergeMaturity:Ee,Disburse:Ue}),Le=e.Record({command:e.Opt(De),timestamp:e.Nat64}),et=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),tt=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),st=e.Record({timestamp_of_disbursement_seconds:e.Nat64,amount_e8s:e.Nat64,account_to_disburse_to:e.Opt(r),finalize_disbursement_timestamp_seconds:e.Opt(e.Nat64)}),C=e.Record({id:e.Opt(p),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),permissions:e.Vec(et),maturity_e8s_equivalent:e.Nat64,cached_neuron_stake_e8s:e.Nat64,created_timestamp_seconds:e.Nat64,topic_followees:e.Opt(e.Record({topic_id_to_followees:e.Vec(e.Tuple(e.Int32,Fe))})),source_nns_neuron_id:e.Opt(e.Nat64),auto_stake_maturity:e.Opt(e.Bool),aging_since_timestamp_seconds:e.Nat64,dissolve_state:e.Opt(tt),voting_power_percentage_multiplier:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64),disburse_maturity_in_progress:e.Vec(st),followees:e.Vec(e.Tuple(e.Nat64,x)),neuron_fees_e8s:e.Nat64}),hs=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(o),cached_upgrade_steps:e.Opt(i),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,d)),metrics:e.Opt(F),maturity_modulation:e.Opt(f),upgrade_journal:e.Opt(v),mode:e.Int32,parameters:e.Opt(h),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(s),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(S),pending_version:e.Opt(z),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,T)),in_flight_commands:e.Vec(e.Tuple(e.Text,Le)),sns_metadata:e.Opt(Y),neurons:e.Vec(e.Tuple(e.Text,C)),target_version:e.Opt(s),genesis_timestamp_seconds:e.Nat64}),ot=e.Record({id:e.Opt(p),amount_e8s:e.Opt(e.Nat64)}),nt=e.Record({new_maturity_e8s:e.Opt(e.Nat64)}),at=e.Record({target_version:e.Opt(s)}),rt=e.Record({}),it=e.Record({principals:e.Vec(e.Principal)}),ct=e.Record({nns_neuron_hotkeys:e.Opt(it),nns_neuron_controller:e.Opt(e.Principal),nns_neuron_id:e.Opt(e.Nat64)}),pt=e.Variant({NeuronsFund:ct,Direct:e.Record({})}),_t=e.Record({neuron_ids:e.Vec(p)}),dt=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),participant:e.Opt(pt),stake_e8s:e.Opt(e.Nat64),followees:e.Opt(_t),neuron_id:e.Opt(p)}),ut=e.Record({neuron_recipes:e.Vec(dt)}),lt=e.Record({neuron_recipes:e.Opt(ut)}),mt=e.Record({id:e.Opt(p),status:e.Int32}),Ot=e.Record({swap_neurons:e.Vec(mt)}),ze=e.Variant({Ok:Ot,Err:e.Int32}),Nt=e.Record({claim_swap_neurons_result:e.Opt(ze)}),Rt=e.Record({maturity_modulation:e.Opt(f)}),We=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),He=e.Record({time_window_seconds:e.Opt(e.Nat64)}),gt=e.Record({treasury_metrics:e.Opt(e.Vec(N)),voting_power_metrics:e.Opt(y),last_ledger_block_timestamp:e.Opt(e.Nat64),num_recently_executed_proposals:e.Opt(e.Nat64),num_recently_submitted_proposals:e.Opt(e.Nat64),genesis_timestamp_seconds:e.Opt(e.Nat64)}),yt=e.Variant({Ok:gt,Err:g}),je=e.Record({get_metrics_result:e.Opt(yt)}),Qe=e.Record({mode:e.Opt(e.Int32)}),ft=e.Record({neuron_id:e.Opt(p)}),ht=e.Variant({Error:g,Neuron:C}),vt=e.Record({result:e.Opt(ht)}),Je=e.Record({proposal_id:e.Opt(m)}),xt=e.Variant({Error:g,Proposal:T}),St=e.Record({result:e.Opt(xt)}),Vt=e.Record({wasm_binary_size:e.Opt(e.Nat),wasm_chunk_store_size:e.Opt(e.Nat),canister_history_size:e.Opt(e.Nat),stable_memory_size:e.Opt(e.Nat),snapshots_size:e.Opt(e.Nat),wasm_memory_size:e.Opt(e.Nat),global_memory_size:e.Opt(e.Nat),custom_sections_size:e.Opt(e.Nat)}),wt=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),Tt=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}),Pt=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)}),bt=e.Record({memory_metrics:e.Opt(Vt),status:wt,memory_size:e.Nat,cycles:e.Nat,settings:Tt,query_stats:e.Opt(Pt),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)}))}),Ct=e.Record({sns_initialization_parameters:e.Text}),Mt=e.Record({timers:e.Opt(o)}),kt=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat64)}),At=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)}),Et=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(d)}),Ut=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(p)}),Gt=e.Record({neurons:e.Vec(C)}),Bt=e.Record({topic:e.Opt(a)}),qt=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(m),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_topics:e.Opt(e.Vec(Bt)),include_status:e.Vec(e.Int32)}),zt=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(T),include_topic_filtering:e.Opt(e.Bool)}),Wt=e.Record({}),Ht=e.Variant({TreasuryManagerWithdraw:e.Null,TreasuryManagerDeposit:e.Null}),jt=e.Variant({TreasuryManager:e.Null}),Qt=e.Record({topic:e.Opt(a),operation_type:e.Opt(Ht),description:e.Opt(e.Text),extension_type:e.Opt(jt)}),Jt=e.Record({spec:e.Opt(Qt),canister_id:e.Opt(e.Principal)}),Yt=e.Record({extension_operations:e.Opt(e.Vec(Jt)),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))}),Xt=e.Record({uncategorized_functions:e.Opt(e.Vec(d)),topics:e.Opt(e.Vec(Yt))}),Kt=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),$t=e.Variant({Split:X,Follow:K,DisburseMaturity:$,ClaimOrRefresh:Me,Configure:Z,RegisterVote:I,SetFollowing:Ce,MakeProposal:w,StakeMaturity:Kt,RemoveNeuronPermissions:ke,AddNeuronPermissions:Ae,MergeMaturity:Ee,Disburse:Ue}),Zt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt($t)}),It=e.Record({created_neuron_id:e.Opt(p)}),Dt=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),Lt=e.Record({refreshed_neuron_id:e.Opt(p)}),es=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),ts=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),vs=e.Record({transfer_block_height:e.Nat64}),xs=e.Variant({Error:g,Split:It,Follow:e.Record({}),DisburseMaturity:Dt,ClaimOrRefresh:Lt,Configure:e.Record({}),RegisterVote:e.Record({}),SetFollowing:e.Record({}),MakeProposal:Je,RemoveNeuronPermission:e.Record({}),StakeMaturity:es,MergeMaturity:ts,Disburse:vs,AddNeuronPermission:e.Record({})}),Ss=e.Record({command:e.Opt(xs)}),Vs=e.Record({recipient:e.Opt(r),amount_e8s:e.Opt(e.Nat64)}),ws=e.Record({mode:e.Int32});return e.Service({add_maturity:e.Func([ot],[nt],[]),advance_target_version:e.Func([at],[rt],[]),claim_swap_neurons:e.Func([lt],[Nt],[]),fail_stuck_upgrade_in_progress:e.Func([e.Record({})],[e.Record({})],[]),get_build_metadata:e.Func([],[e.Text],[]),get_latest_reward_event:e.Func([],[S],[]),get_maturity_modulation:e.Func([e.Record({})],[Rt],[]),get_metadata:e.Func([e.Record({})],[We],[]),get_metrics:e.Func([He],[je],[]),get_metrics_replicated:e.Func([He],[je],[]),get_mode:e.Func([e.Record({})],[Qe],[]),get_nervous_system_parameters:e.Func([e.Null],[h],[]),get_neuron:e.Func([ft],[vt],[]),get_proposal:e.Func([Je],[St],[]),get_root_canister_status:e.Func([e.Null],[bt],[]),get_running_sns_version:e.Func([e.Record({})],[Ft],[]),get_sns_initialization_parameters:e.Func([e.Record({})],[Ct],[]),get_timers:e.Func([e.Record({})],[Mt],[]),get_upgrade_journal:e.Func([kt],[At],[]),list_nervous_system_functions:e.Func([],[Et],[]),list_neurons:e.Func([Ut],[Gt],[]),list_proposals:e.Func([qt],[zt],[]),list_topics:e.Func([Wt],[Xt],[]),manage_neuron:e.Func([Zt],[Ss],[]),mint_tokens:e.Func([Vs],[e.Record({})],[]),refresh_cached_upgrade_steps:e.Func([e.Record({})],[e.Record({})],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([ws],[e.Record({})],[]),update_neuron:e.Func([C],[e.Opt(g)],[])})};var io=({IDL:e})=>{let t=e.Rec(),o=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),s=e.Record({archive_wasm_hash:e.Vec(e.Nat8),root_wasm_hash:e.Vec(e.Nat8),swap_wasm_hash:e.Vec(e.Nat8),ledger_wasm_hash:e.Vec(e.Nat8),governance_wasm_hash:e.Vec(e.Nat8),index_wasm_hash:e.Vec(e.Nat8)}),n=e.Record({versions:e.Vec(s)}),i=e.Record({upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),a=e.Variant({DappCanisterManagement:e.Null,DaoCommunitySettings:e.Null,ApplicationBusinessLogic:e.Null,CriticalDappOperations:e.Null,TreasuryAssetManagement:e.Null,Governance:e.Null,SnsFrameworkManagement:e.Null}),c=e.Record({topic:e.Opt(a),validator_canister_id:e.Opt(e.Principal),target_canister_id:e.Opt(e.Principal),validator_method_name:e.Opt(e.Text),target_method_name:e.Opt(e.Text)}),u=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:c}),d=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(u)}),l=e.Record({subaccount:e.Vec(e.Nat8)}),r=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(l)}),N=e.Record({name:e.Opt(e.Text),original_amount_e8s:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64),account:e.Opt(r),ledger_canister_id:e.Opt(e.Principal),treasury:e.Int32,timestamp_seconds:e.Opt(e.Nat64)}),y=e.Record({governance_total_potential_voting_power:e.Opt(e.Nat64),timestamp_seconds:e.Opt(e.Nat64)}),F=e.Record({treasury_metrics:e.Vec(N),not_dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),garbage_collectable_neurons_count:e.Nat64,neurons_with_invalid_stake_count:e.Nat64,not_dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),neurons_with_less_than_6_months_dissolve_delay_count:e.Nat64,dissolved_neurons_count:e.Nat64,total_staked_e8s:e.Nat64,total_supply_governance_tokens:e.Nat64,voting_power_metrics:e.Opt(y),not_dissolving_neurons_count:e.Nat64,dissolved_neurons_e8s:e.Nat64,neurons_with_less_than_6_months_dissolve_delay_e8s:e.Nat64,dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),dissolving_neurons_count:e.Nat64,dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),timestamp_seconds:e.Nat64}),f=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),M=e.Record({old_target_version:e.Opt(s),new_target_version:e.Opt(s),is_advanced_automatically:e.Opt(e.Bool)}),O=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(n)}),k=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(s)})})),human_readable:e.Opt(e.Text)}),m=e.Record({id:e.Nat64}),A=e.Record({current_version:e.Opt(s),expected_version:e.Opt(s),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:m,BehindTargetVersion:e.Record({})}))}),E=e.Record({upgrade_steps:e.Opt(n)}),U=e.Record({human_readable:e.Opt(e.Text),old_target_version:e.Opt(s),new_target_version:e.Opt(s)}),G=e.Record({event:e.Opt(e.Variant({TargetVersionSet:M,UpgradeStepsReset:O,UpgradeOutcome:k,UpgradeStarted:A,UpgradeStepsRefreshed:E,TargetVersionReset:U})),timestamp_seconds:e.Opt(e.Nat64)}),v=e.Record({entries:e.Vec(G)}),p=e.Record({id:e.Vec(e.Nat8)}),x=e.Record({followees:e.Vec(p)}),B=e.Record({followees:e.Vec(e.Tuple(e.Nat64,x))}),R=e.Record({permissions:e.Vec(e.Int32)}),q=e.Record({final_reward_rate_basis_points:e.Opt(e.Nat64),initial_reward_rate_basis_points:e.Opt(e.Nat64),reward_rate_transition_duration_seconds:e.Opt(e.Nat64),round_duration_seconds:e.Opt(e.Nat64)}),h=e.Record({default_followees:e.Opt(B),max_dissolve_delay_seconds:e.Opt(e.Nat64),max_dissolve_delay_bonus_percentage:e.Opt(e.Nat64),max_followees_per_function:e.Opt(e.Nat64),automatically_advance_target_version:e.Opt(e.Bool),neuron_claimer_permissions:e.Opt(R),neuron_minimum_stake_e8s:e.Opt(e.Nat64),max_neuron_age_for_age_bonus:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),reject_cost_e8s:e.Opt(e.Nat64),max_proposals_to_keep_per_action:e.Opt(e.Nat32),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),max_number_of_neurons:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),max_number_of_proposals_with_ballots:e.Opt(e.Nat64),max_age_bonus_percentage:e.Opt(e.Nat64),neuron_grantable_permissions:e.Opt(R),voting_rewards_parameters:e.Opt(q),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),S=e.Record({rounds_since_last_distribution:e.Opt(e.Nat64),actual_timestamp_seconds:e.Nat64,end_timestamp_seconds:e.Opt(e.Nat64),total_available_e8s_equivalent:e.Opt(e.Nat64),distributed_e8s_equivalent:e.Nat64,round:e.Nat64,settled_proposals:e.Vec(m)}),z=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Opt(e.Nat64),target_version:e.Opt(s)}),g=e.Record({error_message:e.Text,error_type:e.Int32}),W=e.Record({human_readable:e.Opt(e.Text)}),ae=e.Record({e8s:e.Opt(e.Nat64)}),re=e.Record({xdrs_per_icp:e.Opt(W),icps_per_token:e.Opt(W),tokens:e.Opt(ae)}),ie=e.Record({token:e.Opt(e.Int32),account:e.Opt(r),valuation_factors:e.Opt(re),timestamp_seconds:e.Opt(e.Nat64)}),H=e.Record({valuation:e.Opt(ie)}),j=e.Record({archive_wasm_hash:e.Opt(e.Vec(e.Nat8)),root_wasm_hash:e.Opt(e.Vec(e.Nat8)),swap_wasm_hash:e.Opt(e.Vec(e.Nat8)),ledger_wasm_hash:e.Opt(e.Vec(e.Nat8)),governance_wasm_hash:e.Opt(e.Vec(e.Nat8)),index_wasm_hash:e.Opt(e.Vec(e.Nat8))}),ce=e.Record({target_version:e.Opt(j)}),pe=e.Variant({TransferSnsTreasuryFunds:H,MintSnsTokens:H,AdvanceSnsTargetVersion:ce}),_e=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),Q=e.Record({basis_points:e.Opt(e.Nat64)}),L=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),J=e.Record({freezing_threshold:e.Opt(e.Nat64),wasm_memory_threshold:e.Opt(e.Nat64),canister_ids:e.Vec(e.Principal),reserved_cycles_limit:e.Opt(e.Nat64),log_visibility:e.Opt(e.Int32),wasm_memory_limit:e.Opt(e.Nat64),memory_allocation:e.Opt(e.Nat64),compute_allocation:e.Opt(e.Nat64)});t.fill(e.Variant({Int:e.Int64,Map:e.Vec(e.Tuple(e.Text,t)),Nat:e.Nat64,Blob:e.Vec(e.Nat8),Bool:e.Bool,Text:e.Text,Array:e.Vec(t)}));let de=e.Record({value:e.Opt(t)}),ue=e.Record({extension_canister_id:e.Opt(e.Principal),operation_name:e.Opt(e.Text),operation_arg:e.Opt(de)}),V=e.Record({wasm_module_hash:e.Vec(e.Nat8),chunk_hashes_list:e.Vec(e.Vec(e.Nat8)),store_canister_id:e.Opt(e.Principal)}),ee=e.Variant({Chunked:V,Bytes:e.Vec(e.Nat8)}),le=e.Record({value:e.Opt(t)}),me=e.Record({extension_canister_id:e.Opt(e.Principal),wasm:e.Opt(ee),canister_upgrade_arg:e.Opt(le)}),Oe=e.Record({custom_function_id_to_topic:e.Vec(e.Tuple(e.Nat64,a))}),te=e.Record({value:e.Opt(t)}),Ne=e.Record({chunked_canister_wasm:e.Opt(V),extension_init:e.Opt(te)}),Re=e.Record({canister_ids:e.Vec(e.Principal)}),ge=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),se=e.Record({new_canister_wasm:e.Vec(e.Nat8),mode:e.Opt(e.Int32),canister_id:e.Opt(e.Principal),chunked_canister_wasm:e.Opt(V),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),oe=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ye=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),ne=e.Record({new_target:e.Opt(j)}),Y=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),fe=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),he=e.Record({token_symbol:e.Opt(e.Text),transfer_fee:e.Opt(e.Nat64),token_logo:e.Opt(e.Text),token_name:e.Opt(e.Text)}),ve=e.Record({motion_text:e.Text}),xe=e.Variant({ManageNervousSystemParameters:h,AddGenericNervousSystemFunction:d,ManageDappCanisterSettings:J,ExecuteExtensionOperation:ue,UpgradeExtension:me,RemoveGenericNervousSystemFunction:e.Nat64,SetTopicsForCustomProposals:Oe,RegisterExtension:Ne,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:Re,TransferSnsTreasuryFunds:ge,UpgradeSnsControlledCanister:se,DeregisterDappCanisters:oe,MintSnsTokens:ye,AdvanceSnsTargetVersion:ne,Unspecified:e.Record({}),ManageSnsMetadata:Y,ExecuteGenericNervousSystemFunction:fe,ManageLedgerParameters:he,Motion:ve}),w=e.Record({url:e.Text,title:e.Text,action:e.Opt(xe),summary:e.Text}),Se=e.Record({current_deadline_timestamp_seconds:e.Nat64}),T=e.Record({id:e.Opt(m),payload_text_rendering:e.Opt(e.Text),topic:e.Opt(a),action:e.Nat64,failure_reason:e.Opt(g),action_auxiliary:e.Opt(pe),ballots:e.Vec(e.Tuple(e.Text,_e)),minimum_yes_proportion_of_total:e.Opt(Q),reward_event_round:e.Nat64,failed_timestamp_seconds:e.Nat64,reward_event_end_timestamp_seconds:e.Opt(e.Nat64),proposal_creation_timestamp_seconds:e.Nat64,initial_voting_period_seconds:e.Nat64,reject_cost_e8s:e.Nat64,latest_tally:e.Opt(L),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(w),proposer:e.Opt(p),wait_for_quiet_state:e.Opt(Se),minimum_yes_proportion_of_exercised:e.Opt(Q),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),X=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),K=e.Record({function_id:e.Nat64,followees:e.Vec(p)}),$=e.Record({to_account:e.Opt(r),percentage_to_disburse:e.Nat32}),Ve=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),we=e.Record({additional_dissolve_delay_seconds:e.Nat32}),Te=e.Record({dissolve_timestamp_seconds:e.Nat64}),Pe=e.Variant({ChangeAutoStakeMaturity:Ve,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:we,SetDissolveTimestamp:Te}),Z=e.Record({operation:e.Opt(Pe)}),I=e.Record({vote:e.Int32,proposal:e.Opt(m)}),be=e.Record({alias:e.Opt(e.Text),neuron_id:e.Opt(p)}),Fe=e.Record({topic:e.Opt(a),followees:e.Vec(be)}),Ce=e.Record({topic_following:e.Vec(Fe)}),Ke=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(r)}),$e=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),Ze=e.Variant({MemoAndController:$e,NeuronId:e.Record({})}),Me=e.Record({by:e.Opt(Ze)}),ke=e.Record({permissions_to_remove:e.Opt(R),principal_id:e.Opt(e.Principal)}),Ae=e.Record({permissions_to_add:e.Opt(R),principal_id:e.Opt(e.Principal)}),Ee=e.Record({percentage_to_merge:e.Nat32}),Ie=e.Record({e8s:e.Nat64}),Ue=e.Record({to_account:e.Opt(r),amount:e.Opt(Ie)}),De=e.Variant({Split:X,Follow:K,DisburseMaturity:$,Configure:Z,RegisterVote:I,SetFollowing:Ce,SyncCommand:e.Record({}),MakeProposal:w,FinalizeDisburseMaturity:Ke,ClaimOrRefreshNeuron:Me,RemoveNeuronPermissions:ke,AddNeuronPermissions:Ae,MergeMaturity:Ee,Disburse:Ue}),Le=e.Record({command:e.Opt(De),timestamp:e.Nat64}),et=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),tt=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),st=e.Record({timestamp_of_disbursement_seconds:e.Nat64,amount_e8s:e.Nat64,account_to_disburse_to:e.Opt(r),finalize_disbursement_timestamp_seconds:e.Opt(e.Nat64)}),C=e.Record({id:e.Opt(p),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),permissions:e.Vec(et),maturity_e8s_equivalent:e.Nat64,cached_neuron_stake_e8s:e.Nat64,created_timestamp_seconds:e.Nat64,topic_followees:e.Opt(e.Record({topic_id_to_followees:e.Vec(e.Tuple(e.Int32,Fe))})),source_nns_neuron_id:e.Opt(e.Nat64),auto_stake_maturity:e.Opt(e.Bool),aging_since_timestamp_seconds:e.Nat64,dissolve_state:e.Opt(tt),voting_power_percentage_multiplier:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64),disburse_maturity_in_progress:e.Vec(st),followees:e.Vec(e.Tuple(e.Nat64,x)),neuron_fees_e8s:e.Nat64}),hs=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(o),cached_upgrade_steps:e.Opt(i),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,d)),metrics:e.Opt(F),maturity_modulation:e.Opt(f),upgrade_journal:e.Opt(v),mode:e.Int32,parameters:e.Opt(h),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(s),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(S),pending_version:e.Opt(z),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,T)),in_flight_commands:e.Vec(e.Tuple(e.Text,Le)),sns_metadata:e.Opt(Y),neurons:e.Vec(e.Tuple(e.Text,C)),target_version:e.Opt(s),genesis_timestamp_seconds:e.Nat64}),ot=e.Record({id:e.Opt(p),amount_e8s:e.Opt(e.Nat64)}),nt=e.Record({new_maturity_e8s:e.Opt(e.Nat64)}),at=e.Record({target_version:e.Opt(s)}),rt=e.Record({}),it=e.Record({principals:e.Vec(e.Principal)}),ct=e.Record({nns_neuron_hotkeys:e.Opt(it),nns_neuron_controller:e.Opt(e.Principal),nns_neuron_id:e.Opt(e.Nat64)}),pt=e.Variant({NeuronsFund:ct,Direct:e.Record({})}),_t=e.Record({neuron_ids:e.Vec(p)}),dt=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),participant:e.Opt(pt),stake_e8s:e.Opt(e.Nat64),followees:e.Opt(_t),neuron_id:e.Opt(p)}),ut=e.Record({neuron_recipes:e.Vec(dt)}),lt=e.Record({neuron_recipes:e.Opt(ut)}),mt=e.Record({id:e.Opt(p),status:e.Int32}),Ot=e.Record({swap_neurons:e.Vec(mt)}),ze=e.Variant({Ok:Ot,Err:e.Int32}),Nt=e.Record({claim_swap_neurons_result:e.Opt(ze)}),Rt=e.Record({maturity_modulation:e.Opt(f)}),We=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),He=e.Record({time_window_seconds:e.Opt(e.Nat64)}),gt=e.Record({treasury_metrics:e.Opt(e.Vec(N)),voting_power_metrics:e.Opt(y),last_ledger_block_timestamp:e.Opt(e.Nat64),num_recently_executed_proposals:e.Opt(e.Nat64),num_recently_submitted_proposals:e.Opt(e.Nat64),genesis_timestamp_seconds:e.Opt(e.Nat64)}),yt=e.Variant({Ok:gt,Err:g}),je=e.Record({get_metrics_result:e.Opt(yt)}),Qe=e.Record({mode:e.Opt(e.Int32)}),ft=e.Record({neuron_id:e.Opt(p)}),ht=e.Variant({Error:g,Neuron:C}),vt=e.Record({result:e.Opt(ht)}),Je=e.Record({proposal_id:e.Opt(m)}),xt=e.Variant({Error:g,Proposal:T}),St=e.Record({result:e.Opt(xt)}),Vt=e.Record({wasm_binary_size:e.Opt(e.Nat),wasm_chunk_store_size:e.Opt(e.Nat),canister_history_size:e.Opt(e.Nat),stable_memory_size:e.Opt(e.Nat),snapshots_size:e.Opt(e.Nat),wasm_memory_size:e.Opt(e.Nat),global_memory_size:e.Opt(e.Nat),custom_sections_size:e.Opt(e.Nat)}),wt=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),Tt=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}),Pt=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)}),bt=e.Record({memory_metrics:e.Opt(Vt),status:wt,memory_size:e.Nat,cycles:e.Nat,settings:Tt,query_stats:e.Opt(Pt),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)}))}),Ct=e.Record({sns_initialization_parameters:e.Text}),Mt=e.Record({timers:e.Opt(o)}),kt=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat64)}),At=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)}),Et=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(d)}),Ut=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(p)}),Gt=e.Record({neurons:e.Vec(C)}),Bt=e.Record({topic:e.Opt(a)}),qt=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(m),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_topics:e.Opt(e.Vec(Bt)),include_status:e.Vec(e.Int32)}),zt=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(T),include_topic_filtering:e.Opt(e.Bool)}),Wt=e.Record({}),Ht=e.Variant({TreasuryManagerWithdraw:e.Null,TreasuryManagerDeposit:e.Null}),jt=e.Variant({TreasuryManager:e.Null}),Qt=e.Record({topic:e.Opt(a),operation_type:e.Opt(Ht),description:e.Opt(e.Text),extension_type:e.Opt(jt)}),Jt=e.Record({spec:e.Opt(Qt),canister_id:e.Opt(e.Principal)}),Yt=e.Record({extension_operations:e.Opt(e.Vec(Jt)),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))}),Xt=e.Record({uncategorized_functions:e.Opt(e.Vec(d)),topics:e.Opt(e.Vec(Yt))}),Kt=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),$t=e.Variant({Split:X,Follow:K,DisburseMaturity:$,ClaimOrRefresh:Me,Configure:Z,RegisterVote:I,SetFollowing:Ce,MakeProposal:w,StakeMaturity:Kt,RemoveNeuronPermissions:ke,AddNeuronPermissions:Ae,MergeMaturity:Ee,Disburse:Ue}),Zt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt($t)}),It=e.Record({created_neuron_id:e.Opt(p)}),Dt=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),Lt=e.Record({refreshed_neuron_id:e.Opt(p)}),es=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),ts=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),vs=e.Record({transfer_block_height:e.Nat64}),xs=e.Variant({Error:g,Split:It,Follow:e.Record({}),DisburseMaturity:Dt,ClaimOrRefresh:Lt,Configure:e.Record({}),RegisterVote:e.Record({}),SetFollowing:e.Record({}),MakeProposal:Je,RemoveNeuronPermission:e.Record({}),StakeMaturity:es,MergeMaturity:ts,Disburse:vs,AddNeuronPermission:e.Record({})}),Ss=e.Record({command:e.Opt(xs)}),Vs=e.Record({recipient:e.Opt(r),amount_e8s:e.Opt(e.Nat64)}),ws=e.Record({mode:e.Int32});return e.Service({add_maturity:e.Func([ot],[nt],[]),advance_target_version:e.Func([at],[rt],[]),claim_swap_neurons:e.Func([lt],[Nt],[]),fail_stuck_upgrade_in_progress:e.Func([e.Record({})],[e.Record({})],[]),get_build_metadata:e.Func([],[e.Text],["query"]),get_latest_reward_event:e.Func([],[S],["query"]),get_maturity_modulation:e.Func([e.Record({})],[Rt],[]),get_metadata:e.Func([e.Record({})],[We],["query"]),get_metrics:e.Func([He],[je],["composite_query"]),get_metrics_replicated:e.Func([He],[je],[]),get_mode:e.Func([e.Record({})],[Qe],["query"]),get_nervous_system_parameters:e.Func([e.Null],[h],["query"]),get_neuron:e.Func([ft],[vt],["query"]),get_proposal:e.Func([Je],[St],["query"]),get_root_canister_status:e.Func([e.Null],[bt],[]),get_running_sns_version:e.Func([e.Record({})],[Ft],["query"]),get_sns_initialization_parameters:e.Func([e.Record({})],[Ct],["query"]),get_timers:e.Func([e.Record({})],[Mt],["query"]),get_upgrade_journal:e.Func([kt],[At],["query"]),list_nervous_system_functions:e.Func([],[Et],["query"]),list_neurons:e.Func([Ut],[Gt],["query"]),list_proposals:e.Func([qt],[zt],["query"]),list_topics:e.Func([Wt],[Xt],["query"]),manage_neuron:e.Func([Zt],[Ss],[]),mint_tokens:e.Func([Vs],[e.Record({})],[]),refresh_cached_upgrade_steps:e.Func([e.Record({})],[e.Record({})],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([ws],[e.Record({})],[]),update_neuron:e.Func([C],[e.Opt(g)],[])})};var ms=class e extends Ge.Canister{static create(t){let{service:o,certifiedService:s,canisterId:n}=(0,Ge.createServices)({options:t,idlFactory:io,certifiedIdlFactory:ro});return new e(n,o,s)}addMaturity=async t=>{let{id:o,amountE8s:s}=t,{new_maturity_e8s:n}=await this.caller(t).add_maturity({id:(0,Ge.toNullable)(o),amount_e8s:(0,Ge.toNullable)(s)}),i=(0,Ge.fromNullable)(n);if((0,Ge.isNullish)(i)||i<s)throw new P("No maturity added")}};var Os=require("@dfinity/utils");var co=({IDL:e})=>{let t=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)}),o=e.Record({extension_canister_ids:e.Vec(e.Principal)}),s=e.Record({dapp_canister_ids:e.Vec(e.Principal),timers:e.Opt(t),testflight:e.Bool,extensions:e.Opt(o),archive_canister_ids:e.Vec(e.Principal),governance_canister_id:e.Opt(e.Principal),index_canister_id:e.Opt(e.Principal),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal)}),n=e.Record({canister_id:e.Principal}),i=e.Record({wasm_binary_size:e.Opt(e.Nat),wasm_chunk_store_size:e.Opt(e.Nat),canister_history_size:e.Opt(e.Nat),stable_memory_size:e.Opt(e.Nat),snapshots_size:e.Opt(e.Nat),wasm_memory_size:e.Opt(e.Nat),global_memory_size:e.Opt(e.Nat),custom_sections_size:e.Opt(e.Nat)}),a=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),c=e.Variant({controllers:e.Null,public:e.Null,allowed_viewers:e.Vec(e.Principal)}),u=e.Record({freezing_threshold:e.Opt(e.Nat),wasm_memory_threshold:e.Opt(e.Nat),controllers:e.Vec(e.Principal),reserved_cycles_limit:e.Opt(e.Nat),log_visibility:e.Opt(c),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Opt(e.Nat),compute_allocation:e.Opt(e.Nat)}),d=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)}),l=e.Record({memory_metrics:e.Opt(i),status:a,memory_size:e.Nat,cycles:e.Nat,settings:u,query_stats:e.Opt(d),idle_cycles_burned_per_day:e.Opt(e.Nat),module_hash:e.Opt(e.Vec(e.Nat8)),reserved_cycles:e.Opt(e.Nat)}),r=e.Variant({reinstall:e.Null,upgrade:e.Null,install:e.Null}),N=e.Record({wasm_module_hash:e.Vec(e.Nat8),chunk_hashes_list:e.Vec(e.Vec(e.Nat8)),store_canister_id:e.Principal}),y=e.Record({arg:e.Vec(e.Nat8),wasm_module:e.Vec(e.Nat8),stop_before_installing:e.Bool,mode:r,canister_id:e.Principal,chunked_canister_wasm:e.Opt(N)}),F=e.Record({update_canister_list:e.Opt(e.Bool)}),f=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}),M=e.Record({memory_metrics:e.Opt(i),status:a,memory_size:e.Nat,cycles:e.Nat,settings:f,query_stats:e.Opt(d),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),O=e.Record({status:e.Opt(M),canister_id:e.Opt(e.Principal)}),k=e.Record({root:e.Opt(O),swap:e.Opt(O),ledger:e.Opt(O),index:e.Opt(O),governance:e.Opt(O),dapps:e.Vec(O),archives:e.Vec(O)}),m=e.Record({timers:e.Opt(t)}),A=e.Record({root:e.Opt(e.Principal),swap:e.Opt(e.Principal),extensions:e.Opt(o),ledger:e.Opt(e.Principal),index:e.Opt(e.Principal),governance:e.Opt(e.Principal),dapps:e.Vec(e.Principal),archives:e.Vec(e.Principal)}),E=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)}),U=e.Record({failure_reason:e.Opt(e.Text)}),G=e.Record({canister_id:e.Opt(e.Principal)}),v=e.Record({canister_ids:e.Vec(e.Principal)}),p=e.Record({canister_id:e.Opt(e.Principal)}),x=e.Record({code:e.Opt(e.Int32),description:e.Text}),B=e.Variant({Ok:e.Record({}),Err:x}),R=e.Record({result:e.Opt(B)}),q=e.Record({canister_ids:e.Opt(v),controller_principal_ids:e.Vec(e.Principal)}),h=e.Record({err:e.Opt(x),dapp_canister_id:e.Opt(e.Principal)}),S=e.Record({failed_updates:e.Vec(h)});return e.Service({canister_status:e.Func([n],[l],[]),change_canister:e.Func([y],[],[]),get_build_metadata:e.Func([],[e.Text],[]),get_sns_canisters_summary:e.Func([F],[k],[]),get_timers:e.Func([e.Record({})],[m],[]),list_sns_canisters:e.Func([e.Record({})],[A],[]),manage_dapp_canister_settings:e.Func([E],[U],[]),register_dapp_canister:e.Func([G],[e.Record({})],[]),register_dapp_canisters:e.Func([v],[e.Record({})],[]),register_extension:e.Func([p],[R],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_dapp_controllers:e.Func([q],[S],[])})};var po=({IDL:e})=>{let t=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)}),o=e.Record({extension_canister_ids:e.Vec(e.Principal)}),s=e.Record({dapp_canister_ids:e.Vec(e.Principal),timers:e.Opt(t),testflight:e.Bool,extensions:e.Opt(o),archive_canister_ids:e.Vec(e.Principal),governance_canister_id:e.Opt(e.Principal),index_canister_id:e.Opt(e.Principal),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal)}),n=e.Record({canister_id:e.Principal}),i=e.Record({wasm_binary_size:e.Opt(e.Nat),wasm_chunk_store_size:e.Opt(e.Nat),canister_history_size:e.Opt(e.Nat),stable_memory_size:e.Opt(e.Nat),snapshots_size:e.Opt(e.Nat),wasm_memory_size:e.Opt(e.Nat),global_memory_size:e.Opt(e.Nat),custom_sections_size:e.Opt(e.Nat)}),a=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),c=e.Variant({controllers:e.Null,public:e.Null,allowed_viewers:e.Vec(e.Principal)}),u=e.Record({freezing_threshold:e.Opt(e.Nat),wasm_memory_threshold:e.Opt(e.Nat),controllers:e.Vec(e.Principal),reserved_cycles_limit:e.Opt(e.Nat),log_visibility:e.Opt(c),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Opt(e.Nat),compute_allocation:e.Opt(e.Nat)}),d=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)}),l=e.Record({memory_metrics:e.Opt(i),status:a,memory_size:e.Nat,cycles:e.Nat,settings:u,query_stats:e.Opt(d),idle_cycles_burned_per_day:e.Opt(e.Nat),module_hash:e.Opt(e.Vec(e.Nat8)),reserved_cycles:e.Opt(e.Nat)}),r=e.Variant({reinstall:e.Null,upgrade:e.Null,install:e.Null}),N=e.Record({wasm_module_hash:e.Vec(e.Nat8),chunk_hashes_list:e.Vec(e.Vec(e.Nat8)),store_canister_id:e.Principal}),y=e.Record({arg:e.Vec(e.Nat8),wasm_module:e.Vec(e.Nat8),stop_before_installing:e.Bool,mode:r,canister_id:e.Principal,chunked_canister_wasm:e.Opt(N)}),F=e.Record({update_canister_list:e.Opt(e.Bool)}),f=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}),M=e.Record({memory_metrics:e.Opt(i),status:a,memory_size:e.Nat,cycles:e.Nat,settings:f,query_stats:e.Opt(d),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),O=e.Record({status:e.Opt(M),canister_id:e.Opt(e.Principal)}),k=e.Record({root:e.Opt(O),swap:e.Opt(O),ledger:e.Opt(O),index:e.Opt(O),governance:e.Opt(O),dapps:e.Vec(O),archives:e.Vec(O)}),m=e.Record({timers:e.Opt(t)}),A=e.Record({root:e.Opt(e.Principal),swap:e.Opt(e.Principal),extensions:e.Opt(o),ledger:e.Opt(e.Principal),index:e.Opt(e.Principal),governance:e.Opt(e.Principal),dapps:e.Vec(e.Principal),archives:e.Vec(e.Principal)}),E=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)}),U=e.Record({failure_reason:e.Opt(e.Text)}),G=e.Record({canister_id:e.Opt(e.Principal)}),v=e.Record({canister_ids:e.Vec(e.Principal)}),p=e.Record({canister_id:e.Opt(e.Principal)}),x=e.Record({code:e.Opt(e.Int32),description:e.Text}),B=e.Variant({Ok:e.Record({}),Err:x}),R=e.Record({result:e.Opt(B)}),q=e.Record({canister_ids:e.Opt(v),controller_principal_ids:e.Vec(e.Principal)}),h=e.Record({err:e.Opt(x),dapp_canister_id:e.Opt(e.Principal)}),S=e.Record({failed_updates:e.Vec(h)});return e.Service({canister_status:e.Func([n],[l],[]),change_canister:e.Func([y],[],[]),get_build_metadata:e.Func([],[e.Text],["query"]),get_sns_canisters_summary:e.Func([F],[k],[]),get_timers:e.Func([e.Record({})],[m],["query"]),list_sns_canisters:e.Func([e.Record({})],[A],["query"]),manage_dapp_canister_settings:e.Func([E],[U],[]),register_dapp_canister:e.Func([G],[e.Record({})],[]),register_dapp_canisters:e.Func([v],[e.Record({})],[]),register_extension:e.Func([p],[R],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_dapp_controllers:e.Func([q],[S],[])})};var ns=class e extends Os.Canister{static create(t){let{service:o,certifiedService:s,canisterId:n}=(0,Os.createServices)({options:t,idlFactory:po,certifiedIdlFactory:co});return new e(n,o,s)}listSnsCanisters=({certified:t=!0})=>this.caller({certified:t}).list_sns_canisters({})};var fs=require("@dfinity/ledger-icrc"),qe=require("@dfinity/utils");var us=require("@dfinity/utils");var as=require("@dfinity/utils");function Bo(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Rs(e,...t){if(!Bo(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function bs(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function _o(e,t){Rs(e);let o=t.outputLen;if(e.length<o)throw new Error("digestInto() expects output buffer of length at least "+o)}function ds(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function gs(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Be(e,t){return e<<32-t|e>>>t}function qo(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Fs(e){return typeof e=="string"&&(e=qo(e)),Rs(e),e}var Ns=class{};function uo(e){let t=s=>e().update(Fs(s)).digest(),o=e();return t.outputLen=o.outputLen,t.blockLen=o.blockLen,t.create=()=>e(),t}function zo(e,t,o,s){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,o,s);let n=BigInt(32),i=BigInt(4294967295),a=Number(o>>n&i),c=Number(o&i),u=s?4:0,d=s?0:4;e.setUint32(t+u,a,s),e.setUint32(t+d,c,s)}function lo(e,t,o){return e&t^~e&o}function mo(e,t,o){return e&t^e&o^t&o}var ys=class extends Ns{constructor(t,o,s,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=o,this.padOffset=s,this.isLE=n,this.buffer=new Uint8Array(t),this.view=gs(this.buffer)}update(t){bs(this),t=Fs(t),Rs(t);let{view:o,buffer:s,blockLen:n}=this,i=t.length;for(let a=0;a<i;){let c=Math.min(n-this.pos,i-a);if(c===n){let u=gs(t);for(;n<=i-a;a+=n)this.process(u,a);continue}s.set(t.subarray(a,a+c),this.pos),this.pos+=c,a+=c,this.pos===n&&(this.process(o,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){bs(this),_o(t,this),this.finished=!0;let{buffer:o,view:s,blockLen:n,isLE:i}=this,{pos:a}=this;o[a++]=128,ds(this.buffer.subarray(a)),this.padOffset>n-a&&(this.process(s,0),a=0);for(let r=a;r<n;r++)o[r]=0;zo(s,n-8,BigInt(this.length*8),i),this.process(s,0);let c=gs(t),u=this.outputLen;if(u%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let d=u/4,l=this.get();if(d>l.length)throw new Error("_sha2: outputLen bigger than state");for(let r=0;r<d;r++)c.setUint32(4*r,l[r],i)}digest(){let{buffer:t,outputLen:o}=this;this.digestInto(t);let s=t.slice(0,o);return this.destroy(),s}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:o,buffer:s,length:n,finished:i,destroyed:a,pos:c}=this;return t.destroyed=a,t.finished=i,t.length=n,t.pos=c,n%o&&t.buffer.set(s),t}clone(){return this._cloneInto()}},Ye=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var Wo=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Xe=new Uint32Array(64),Cs=class extends ys{constructor(t=32){super(64,t,8,!1),this.A=Ye[0]|0,this.B=Ye[1]|0,this.C=Ye[2]|0,this.D=Ye[3]|0,this.E=Ye[4]|0,this.F=Ye[5]|0,this.G=Ye[6]|0,this.H=Ye[7]|0}get(){let{A:t,B:o,C:s,D:n,E:i,F:a,G:c,H:u}=this;return[t,o,s,n,i,a,c,u]}set(t,o,s,n,i,a,c,u){this.A=t|0,this.B=o|0,this.C=s|0,this.D=n|0,this.E=i|0,this.F=a|0,this.G=c|0,this.H=u|0}process(t,o){for(let r=0;r<16;r++,o+=4)Xe[r]=t.getUint32(o,!1);for(let r=16;r<64;r++){let N=Xe[r-15],y=Xe[r-2],F=Be(N,7)^Be(N,18)^N>>>3,f=Be(y,17)^Be(y,19)^y>>>10;Xe[r]=f+Xe[r-7]+F+Xe[r-16]|0}let{A:s,B:n,C:i,D:a,E:c,F:u,G:d,H:l}=this;for(let r=0;r<64;r++){let N=Be(c,6)^Be(c,11)^Be(c,25),y=l+N+lo(c,u,d)+Wo[r]+Xe[r]|0,f=(Be(s,2)^Be(s,13)^Be(s,22))+mo(s,n,i)|0;l=d,d=u,u=c,c=a+y|0,a=i,i=n,n=s,s=y+f|0}s=s+this.A|0,n=n+this.B|0,i=i+this.C|0,a=a+this.D|0,c=c+this.E|0,u=u+this.F|0,d=d+this.G|0,l=l+this.H|0,this.set(s,n,i,a,c,u,d,l)}roundClean(){ds(Xe)}destroy(){this.set(0,0,0,0,0,0,0,0),ds(this.buffer)}};var Oo=uo(()=>new Cs);var Ms=({index:e,controller:t})=>{let s=[12,...(0,as.asciiStringToByteArray)("neuron-stake"),...t.toUint8Array(),...(0,as.numberToUint8Array)(e)],n=Oo.create();return n.update((0,as.arrayOfNumberToUint8Array)(s)),n.digest()};var ls=class{root;governance;ledger;swap;index;certified;constructor({root:t,governance:o,ledger:s,swap:n,index:i,certified:a}){this.root=t,this.governance=o,this.ledger=s,this.swap=n,this.index=i,this.certified=a}get canisterIds(){return{rootCanisterId:this.root.canisterId,ledgerCanisterId:this.ledger.canisterId,governanceCanisterId:this.governance.canisterId,swapCanisterId:this.swap.canisterId,indexCanisterId:this.index.canisterId}}listNeurons=t=>this.governance.listNeurons(this.mergeParams(t));listProposals=t=>this.governance.listProposals(this.mergeParams(t));getProposal=t=>this.governance.getProposal(this.mergeParams(t));listNervousSystemFunctions=t=>this.governance.listNervousSystemFunctions(this.mergeParams(t));metadata=t=>Promise.all([this.governance.metadata(this.mergeParams(t)),this.ledger.metadata(this.mergeParams(t))]);nervousSystemParameters=t=>this.governance.nervousSystemParameters(this.mergeParams(t));ledgerMetadata=t=>this.ledger.metadata(this.mergeParams(t));transactionFee=t=>this.ledger.transactionFee(this.mergeParams(t));totalTokensSupply=t=>this.ledger.totalTokensSupply(this.mergeParams(t));balance=t=>this.ledger.balance(this.mergeParams(t));transfer=t=>this.ledger.transfer(t);getNeuron=t=>this.governance.getNeuron(this.mergeParams(t));queryNeuron=t=>this.governance.queryNeuron(this.mergeParams(t));nextNeuronAccount=async t=>{for(let o=0;o<65536;o++){let s=Ms({index:o,controller:t}),n={id:s},i=await this.governance.queryNeuron({neuronId:n,certified:!1});if(i===void 0&&(i=await this.governance.queryNeuron({neuronId:n,certified:!0}),i===void 0))return{account:{...this.owner,subaccount:s},index:BigInt(o)}}throw new P("No more neuron accounts available")};stakeNeuron=async({stakeE8s:t,source:o,controller:s,createdAt:n,fee:i})=>{this.assertCertified("stakeNeuron");let{account:a,index:c}=await this.nextNeuronAccount(s);if(a.subaccount===void 0)throw new P("There was an error creating the neuron subaccount");return await this.ledger.transfer({amount:t,to:{owner:a.owner,subaccount:(0,us.toNullable)(a.subaccount)},from_subaccount:o.subaccount,memo:(0,us.bigIntToUint8Array)(c),created_at_time:n,fee:i}),this.governance.claimNeuron({memo:BigInt(c),controller:s,subaccount:a.subaccount})};increaseStakeNeuron=async({stakeE8s:t,source:o,neuronId:s})=>(this.assertCertified("stakeNeuron"),await this.ledger.transfer({amount:t,to:{...this.owner,subaccount:(0,us.toNullable)(Uint8Array.from(s.id))},from_subaccount:o.subaccount}),this.governance.refreshNeuron(s));getNeuronBalance=t=>{let o={...this.owner,subaccount:Uint8Array.from(t.id)};return this.ledger.balance({...o,certified:this.certified})};addNeuronPermissions=t=>this.governance.addNeuronPermissions(t);refreshNeuron=t=>this.governance.refreshNeuron(t);claimNeuron=t=>this.governance.claimNeuron(t);removeNeuronPermissions=t=>this.governance.removeNeuronPermissions(t);splitNeuron=t=>this.governance.splitNeuron(t);disburse=t=>this.governance.disburse(t);startDissolving=t=>this.governance.startDissolving(t);stopDissolving=t=>this.governance.stopDissolving(t);setDissolveTimestamp=t=>this.governance.setDissolveTimestamp(t);increaseDissolveDelay=t=>this.governance.increaseDissolveDelay(t);setTopicFollowees=t=>this.governance.setTopicFollowees(t);setFollowing=t=>this.governance.setFollowing(t);registerVote=t=>this.governance.registerVote(t);swapState=t=>this.swap.state(this.mergeParams(t));notifyPaymentFailure=()=>this.swap.notifyPaymentFailure();notifyParticipation=t=>this.swap.notifyParticipation(t);getUserCommitment=t=>this.swap.getUserCommitment(this.mergeParams(t));getOpenTicket=t=>this.swap.getOpenTicket(this.mergeParams(t));newSaleTicket=t=>this.swap.newSaleTicket(t);getLifecycle=t=>this.swap.getLifecycle(this.mergeParams(t));getFinalizationStatus=t=>this.swap.getFinalizationStatus(this.mergeParams(t));getSaleParameters=t=>this.swap.getSaleParameters(this.mergeParams(t));getDerivedState=t=>this.swap.getDerivedState(this.mergeParams(t));getTransactions=t=>this.index.getTransactions(t);stakeMaturity=t=>this.governance.stakeMaturity(t);disburseMaturity=t=>this.governance.disburseMaturity(t);autoStakeMaturity=t=>this.governance.autoStakeMaturity(t);mergeParams(t){return{...t,certified:this.certified}}assertCertified=t=>{if(!this.certified)throw new P(`Call to ${t} needs to be certified`)};get owner(){return{owner:this.canisterIds.governanceCanisterId}}};var D=require("@dfinity/utils");var No=({IDL:e})=>{let t=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),o=e.Record({slope_numerator:e.Opt(e.Nat64),intercept_icp_e8s:e.Opt(e.Nat64),from_direct_participation_icp_e8s:e.Opt(e.Nat64),slope_denominator:e.Opt(e.Nat64),to_direct_participation_icp_e8s:e.Opt(e.Nat64)}),s=e.Record({serialized_representation:e.Opt(e.Text)}),n=e.Record({coefficient_intervals:e.Vec(o),max_neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),min_direct_participation_threshold_icp_e8s:e.Opt(e.Nat64),ideal_matched_participation_function:e.Opt(s)}),i=e.Record({iso_codes:e.Vec(e.Text)}),a=e.Record({nns_proposal_id:e.Opt(e.Nat64),sns_root_canister_id:e.Text,neurons_fund_participation:e.Opt(e.Bool),min_participant_icp_e8s:e.Opt(e.Nat64),neuron_basket_construction_parameters:e.Opt(t),fallback_controller_principal_ids:e.Vec(e.Text),max_icp_e8s:e.Opt(e.Nat64),neuron_minimum_stake_e8s:e.Opt(e.Nat64),confirmation_text:e.Opt(e.Text),swap_start_timestamp_seconds:e.Opt(e.Nat64),swap_due_timestamp_seconds:e.Opt(e.Nat64),min_participants:e.Opt(e.Nat32),sns_token_e8s:e.Opt(e.Nat64),nns_governance_canister_id:e.Text,transaction_fee_e8s:e.Opt(e.Nat64),icp_ledger_canister_id:e.Text,sns_ledger_canister_id:e.Text,neurons_fund_participation_constraints:e.Opt(n),should_auto_finalize:e.Opt(e.Bool),max_participant_icp_e8s:e.Opt(e.Nat64),sns_governance_canister_id:e.Text,min_direct_participation_icp_e8s:e.Opt(e.Nat64),restricted_countries:e.Opt(i),min_icp_e8s:e.Opt(e.Nat64),max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),c=e.Record({source_principal_id:e.Opt(e.Principal)}),u=e.Record({block_height:e.Opt(e.Nat64)}),d=e.Record({description:e.Opt(e.Text),error_type:e.Opt(e.Int32)}),l=e.Variant({Ok:u,Err:d}),r=e.Record({result:e.Opt(l)}),N=e.Record({code:e.Opt(e.Int32),description:e.Text}),y=e.Record({err:e.Opt(N),dapp_canister_id:e.Opt(e.Principal)}),F=e.Record({failed_updates:e.Vec(y)}),f=e.Variant({Ok:F,Err:N}),M=e.Record({possibility:e.Opt(f)}),O=e.Record({failure:e.Nat32,skipped:e.Nat32,invalid:e.Nat32,success:e.Nat32,global_failures:e.Nat32}),k=e.Record({error_message:e.Text,error_type:e.Int32}),m=e.Record({governance_error:e.Opt(k)}),A=e.Variant({Ok:m,Err:N}),E=e.Record({possibility:e.Opt(A)}),U=e.Record({neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),neurons_fund_neurons_count:e.Opt(e.Nat64)}),G=e.Record({message:e.Opt(e.Text)}),v=e.Variant({Ok:U,Err:G}),p=e.Record({possibility:e.Opt(v)}),x=e.Variant({Ok:e.Record({}),Err:N}),B=e.Record({possibility:e.Opt(x)}),R=e.Record({set_dapp_controllers_call_result:e.Opt(M),create_sns_neuron_recipes_result:e.Opt(O),settle_community_fund_participation_result:e.Opt(E),error_message:e.Opt(e.Text),settle_neurons_fund_participation_result:e.Opt(p),set_mode_call_result:e.Opt(B),sweep_icp_result:e.Opt(O),claim_neuron_result:e.Opt(O),sweep_sns_result:e.Opt(O)}),q=e.Record({auto_finalize_swap_response:e.Opt(R),has_auto_finalize_been_attempted:e.Opt(e.Bool),is_auto_finalize_enabled:e.Opt(e.Bool)}),h=e.Record({principal_id:e.Opt(e.Principal)}),S=e.Record({transfer_fee_paid_e8s:e.Opt(e.Nat64),transfer_start_timestamp_seconds:e.Nat64,amount_e8s:e.Nat64,amount_transferred_e8s:e.Opt(e.Nat64),transfer_success_timestamp_seconds:e.Nat64}),z=e.Record({icp:e.Opt(S),has_created_neuron_recipes:e.Opt(e.Bool)}),g=e.Record({buyer_state:e.Opt(z)}),W=e.Record({buyers_total:e.Nat64}),ae=e.Record({wasm_binary_size:e.Opt(e.Nat),wasm_chunk_store_size:e.Opt(e.Nat),canister_history_size:e.Opt(e.Nat),stable_memory_size:e.Opt(e.Nat),snapshots_size:e.Opt(e.Nat),wasm_memory_size:e.Opt(e.Nat),global_memory_size:e.Opt(e.Nat),custom_sections_size:e.Opt(e.Nat)}),re=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),ie=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}),H=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)}),j=e.Record({memory_metrics:e.Opt(ae),status:re,memory_size:e.Nat,cycles:e.Nat,settings:ie,query_stats:e.Opt(H),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),ce=e.Record({sns_tokens_per_icp:e.Opt(e.Float64),buyer_total_icp_e8s:e.Opt(e.Nat64),cf_participant_count:e.Opt(e.Nat64),neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),direct_participation_icp_e8s:e.Opt(e.Nat64),direct_participant_count:e.Opt(e.Nat64),cf_neuron_count:e.Opt(e.Nat64)}),pe=e.Record({init:e.Opt(a)}),_e=e.Record({decentralization_sale_open_timestamp_seconds:e.Opt(e.Nat64),lifecycle:e.Opt(e.Int32),decentralization_swap_termination_timestamp_seconds:e.Opt(e.Nat64)}),Q=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(e.Vec(e.Nat8))}),L=e.Record({creation_time:e.Nat64,ticket_id:e.Nat64,account:e.Opt(Q),amount_icp_e8s:e.Nat64}),J=e.Record({ticket:e.Opt(L)}),de=e.Record({error_type:e.Opt(e.Int32)}),ue=e.Variant({Ok:J,Err:de}),V=e.Record({result:e.Opt(ue)}),ee=e.Record({min_participant_icp_e8s:e.Nat64,neuron_basket_construction_parameters:e.Opt(t),max_icp_e8s:e.Nat64,swap_due_timestamp_seconds:e.Nat64,min_participants:e.Nat32,sns_token_e8s:e.Nat64,sale_delay_seconds:e.Opt(e.Nat64),max_participant_icp_e8s:e.Nat64,min_direct_participation_icp_e8s:e.Opt(e.Nat64),min_icp_e8s:e.Nat64,max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),le=e.Record({params:e.Opt(ee)}),me=e.Record({id:e.Vec(e.Nat8)}),Oe=e.Record({dissolve_delay_seconds:e.Nat64,memo:e.Nat64,followees:e.Vec(me)}),te=e.Record({principals:e.Vec(e.Principal)}),Ne=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,hotkeys:e.Opt(te),nns_neuron_id:e.Nat64}),Re=e.Record({buyer_principal:e.Text}),ge=e.Variant({CommunityFund:Ne,Direct:Re}),se=e.Record({sns:e.Opt(S),claimed_status:e.Opt(e.Int32),neuron_attributes:e.Opt(Oe),investor:e.Opt(ge)}),oe=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)}),ye=e.Record({has_created_neuron_recipes:e.Opt(e.Bool),hotkeys:e.Opt(te),nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),ne=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,cf_neurons:e.Vec(ye)}),Y=e.Record({auto_finalize_swap_response:e.Opt(R),neuron_recipes:e.Vec(se),next_ticket_id:e.Opt(e.Nat64),decentralization_sale_open_timestamp_seconds:e.Opt(e.Nat64),finalize_swap_in_progress:e.Opt(e.Bool),timers:e.Opt(oe),cf_participants:e.Vec(ne),init:e.Opt(a),already_tried_to_auto_finalize:e.Opt(e.Bool),neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),purge_old_tickets_last_completion_timestamp_nanoseconds:e.Opt(e.Nat64),direct_participation_icp_e8s:e.Opt(e.Nat64),lifecycle:e.Int32,purge_old_tickets_next_principal:e.Opt(e.Vec(e.Nat8)),decentralization_swap_termination_timestamp_seconds:e.Opt(e.Nat64),buyers:e.Vec(e.Tuple(e.Text,z)),params:e.Opt(ee),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),fe=e.Record({sns_tokens_per_icp:e.Float32,buyer_total_icp_e8s:e.Nat64,cf_participant_count:e.Opt(e.Nat64),neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),direct_participation_icp_e8s:e.Opt(e.Nat64),direct_participant_count:e.Opt(e.Nat64),cf_neuron_count:e.Opt(e.Nat64)}),he=e.Record({swap:e.Opt(Y),derived:e.Opt(fe)}),ve=e.Record({timers:e.Opt(oe)}),xe=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat32)}),w=e.Record({cf_participants:e.Vec(ne)}),Se=e.Record({offset:e.Opt(e.Nat32),limit:e.Opt(e.Nat32)}),T=e.Record({participation:e.Opt(z),participant_id:e.Opt(e.Principal)}),X=e.Record({participants:e.Vec(T)}),K=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat32)}),$=e.Record({sns_neuron_recipes:e.Vec(se)}),Ve=e.Record({subaccount:e.Opt(e.Vec(e.Nat8)),amount_icp_e8s:e.Nat64}),we=e.Record({min_amount_icp_e8s_included:e.Nat64,max_amount_icp_e8s_included:e.Nat64}),Te=e.Record({invalid_user_amount:e.Opt(we),existing_ticket:e.Opt(L),error_type:e.Int32}),Pe=e.Variant({Ok:J,Err:Te}),Z=e.Record({result:e.Opt(Pe)}),I=e.Record({confirmation_text:e.Opt(e.Text),buyer:e.Text}),be=e.Record({icp_accepted_participation_e8s:e.Nat64,icp_ledger_account_balance_e8s:e.Nat64});return e.Service({error_refund_icp:e.Func([c],[r],[]),finalize_swap:e.Func([e.Record({})],[R],[]),get_auto_finalization_status:e.Func([e.Record({})],[q],[]),get_buyer_state:e.Func([h],[g],[]),get_buyers_total:e.Func([e.Record({})],[W],[]),get_canister_status:e.Func([e.Record({})],[j],[]),get_derived_state:e.Func([e.Record({})],[ce],[]),get_init:e.Func([e.Record({})],[pe],[]),get_lifecycle:e.Func([e.Record({})],[_e],[]),get_open_ticket:e.Func([e.Record({})],[V],[]),get_sale_parameters:e.Func([e.Record({})],[le],[]),get_state:e.Func([e.Record({})],[he],[]),get_timers:e.Func([e.Record({})],[ve],[]),list_community_fund_participants:e.Func([xe],[w],[]),list_direct_participants:e.Func([Se],[X],[]),list_sns_neuron_recipes:e.Func([K],[$],[]),new_sale_ticket:e.Func([Ve],[Z],[]),notify_payment_failure:e.Func([e.Record({})],[J],[]),refresh_buyer_tokens:e.Func([I],[be],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[])})};var Ro=({IDL:e})=>{let t=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),o=e.Record({slope_numerator:e.Opt(e.Nat64),intercept_icp_e8s:e.Opt(e.Nat64),from_direct_participation_icp_e8s:e.Opt(e.Nat64),slope_denominator:e.Opt(e.Nat64),to_direct_participation_icp_e8s:e.Opt(e.Nat64)}),s=e.Record({serialized_representation:e.Opt(e.Text)}),n=e.Record({coefficient_intervals:e.Vec(o),max_neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),min_direct_participation_threshold_icp_e8s:e.Opt(e.Nat64),ideal_matched_participation_function:e.Opt(s)}),i=e.Record({iso_codes:e.Vec(e.Text)}),a=e.Record({nns_proposal_id:e.Opt(e.Nat64),sns_root_canister_id:e.Text,neurons_fund_participation:e.Opt(e.Bool),min_participant_icp_e8s:e.Opt(e.Nat64),neuron_basket_construction_parameters:e.Opt(t),fallback_controller_principal_ids:e.Vec(e.Text),max_icp_e8s:e.Opt(e.Nat64),neuron_minimum_stake_e8s:e.Opt(e.Nat64),confirmation_text:e.Opt(e.Text),swap_start_timestamp_seconds:e.Opt(e.Nat64),swap_due_timestamp_seconds:e.Opt(e.Nat64),min_participants:e.Opt(e.Nat32),sns_token_e8s:e.Opt(e.Nat64),nns_governance_canister_id:e.Text,transaction_fee_e8s:e.Opt(e.Nat64),icp_ledger_canister_id:e.Text,sns_ledger_canister_id:e.Text,neurons_fund_participation_constraints:e.Opt(n),should_auto_finalize:e.Opt(e.Bool),max_participant_icp_e8s:e.Opt(e.Nat64),sns_governance_canister_id:e.Text,min_direct_participation_icp_e8s:e.Opt(e.Nat64),restricted_countries:e.Opt(i),min_icp_e8s:e.Opt(e.Nat64),max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),c=e.Record({source_principal_id:e.Opt(e.Principal)}),u=e.Record({block_height:e.Opt(e.Nat64)}),d=e.Record({description:e.Opt(e.Text),error_type:e.Opt(e.Int32)}),l=e.Variant({Ok:u,Err:d}),r=e.Record({result:e.Opt(l)}),N=e.Record({code:e.Opt(e.Int32),description:e.Text}),y=e.Record({err:e.Opt(N),dapp_canister_id:e.Opt(e.Principal)}),F=e.Record({failed_updates:e.Vec(y)}),f=e.Variant({Ok:F,Err:N}),M=e.Record({possibility:e.Opt(f)}),O=e.Record({failure:e.Nat32,skipped:e.Nat32,invalid:e.Nat32,success:e.Nat32,global_failures:e.Nat32}),k=e.Record({error_message:e.Text,error_type:e.Int32}),m=e.Record({governance_error:e.Opt(k)}),A=e.Variant({Ok:m,Err:N}),E=e.Record({possibility:e.Opt(A)}),U=e.Record({neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),neurons_fund_neurons_count:e.Opt(e.Nat64)}),G=e.Record({message:e.Opt(e.Text)}),v=e.Variant({Ok:U,Err:G}),p=e.Record({possibility:e.Opt(v)}),x=e.Variant({Ok:e.Record({}),Err:N}),B=e.Record({possibility:e.Opt(x)}),R=e.Record({set_dapp_controllers_call_result:e.Opt(M),create_sns_neuron_recipes_result:e.Opt(O),settle_community_fund_participation_result:e.Opt(E),error_message:e.Opt(e.Text),settle_neurons_fund_participation_result:e.Opt(p),set_mode_call_result:e.Opt(B),sweep_icp_result:e.Opt(O),claim_neuron_result:e.Opt(O),sweep_sns_result:e.Opt(O)}),q=e.Record({auto_finalize_swap_response:e.Opt(R),has_auto_finalize_been_attempted:e.Opt(e.Bool),is_auto_finalize_enabled:e.Opt(e.Bool)}),h=e.Record({principal_id:e.Opt(e.Principal)}),S=e.Record({transfer_fee_paid_e8s:e.Opt(e.Nat64),transfer_start_timestamp_seconds:e.Nat64,amount_e8s:e.Nat64,amount_transferred_e8s:e.Opt(e.Nat64),transfer_success_timestamp_seconds:e.Nat64}),z=e.Record({icp:e.Opt(S),has_created_neuron_recipes:e.Opt(e.Bool)}),g=e.Record({buyer_state:e.Opt(z)}),W=e.Record({buyers_total:e.Nat64}),ae=e.Record({wasm_binary_size:e.Opt(e.Nat),wasm_chunk_store_size:e.Opt(e.Nat),canister_history_size:e.Opt(e.Nat),stable_memory_size:e.Opt(e.Nat),snapshots_size:e.Opt(e.Nat),wasm_memory_size:e.Opt(e.Nat),global_memory_size:e.Opt(e.Nat),custom_sections_size:e.Opt(e.Nat)}),re=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),ie=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}),H=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)}),j=e.Record({memory_metrics:e.Opt(ae),status:re,memory_size:e.Nat,cycles:e.Nat,settings:ie,query_stats:e.Opt(H),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),ce=e.Record({sns_tokens_per_icp:e.Opt(e.Float64),buyer_total_icp_e8s:e.Opt(e.Nat64),cf_participant_count:e.Opt(e.Nat64),neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),direct_participation_icp_e8s:e.Opt(e.Nat64),direct_participant_count:e.Opt(e.Nat64),cf_neuron_count:e.Opt(e.Nat64)}),pe=e.Record({init:e.Opt(a)}),_e=e.Record({decentralization_sale_open_timestamp_seconds:e.Opt(e.Nat64),lifecycle:e.Opt(e.Int32),decentralization_swap_termination_timestamp_seconds:e.Opt(e.Nat64)}),Q=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(e.Vec(e.Nat8))}),L=e.Record({creation_time:e.Nat64,ticket_id:e.Nat64,account:e.Opt(Q),amount_icp_e8s:e.Nat64}),J=e.Record({ticket:e.Opt(L)}),de=e.Record({error_type:e.Opt(e.Int32)}),ue=e.Variant({Ok:J,Err:de}),V=e.Record({result:e.Opt(ue)}),ee=e.Record({min_participant_icp_e8s:e.Nat64,neuron_basket_construction_parameters:e.Opt(t),max_icp_e8s:e.Nat64,swap_due_timestamp_seconds:e.Nat64,min_participants:e.Nat32,sns_token_e8s:e.Nat64,sale_delay_seconds:e.Opt(e.Nat64),max_participant_icp_e8s:e.Nat64,min_direct_participation_icp_e8s:e.Opt(e.Nat64),min_icp_e8s:e.Nat64,max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),le=e.Record({params:e.Opt(ee)}),me=e.Record({id:e.Vec(e.Nat8)}),Oe=e.Record({dissolve_delay_seconds:e.Nat64,memo:e.Nat64,followees:e.Vec(me)}),te=e.Record({principals:e.Vec(e.Principal)}),Ne=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,hotkeys:e.Opt(te),nns_neuron_id:e.Nat64}),Re=e.Record({buyer_principal:e.Text}),ge=e.Variant({CommunityFund:Ne,Direct:Re}),se=e.Record({sns:e.Opt(S),claimed_status:e.Opt(e.Int32),neuron_attributes:e.Opt(Oe),investor:e.Opt(ge)}),oe=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)}),ye=e.Record({has_created_neuron_recipes:e.Opt(e.Bool),hotkeys:e.Opt(te),nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),ne=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,cf_neurons:e.Vec(ye)}),Y=e.Record({auto_finalize_swap_response:e.Opt(R),neuron_recipes:e.Vec(se),next_ticket_id:e.Opt(e.Nat64),decentralization_sale_open_timestamp_seconds:e.Opt(e.Nat64),finalize_swap_in_progress:e.Opt(e.Bool),timers:e.Opt(oe),cf_participants:e.Vec(ne),init:e.Opt(a),already_tried_to_auto_finalize:e.Opt(e.Bool),neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),purge_old_tickets_last_completion_timestamp_nanoseconds:e.Opt(e.Nat64),direct_participation_icp_e8s:e.Opt(e.Nat64),lifecycle:e.Int32,purge_old_tickets_next_principal:e.Opt(e.Vec(e.Nat8)),decentralization_swap_termination_timestamp_seconds:e.Opt(e.Nat64),buyers:e.Vec(e.Tuple(e.Text,z)),params:e.Opt(ee),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),fe=e.Record({sns_tokens_per_icp:e.Float32,buyer_total_icp_e8s:e.Nat64,cf_participant_count:e.Opt(e.Nat64),neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),direct_participation_icp_e8s:e.Opt(e.Nat64),direct_participant_count:e.Opt(e.Nat64),cf_neuron_count:e.Opt(e.Nat64)}),he=e.Record({swap:e.Opt(Y),derived:e.Opt(fe)}),ve=e.Record({timers:e.Opt(oe)}),xe=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat32)}),w=e.Record({cf_participants:e.Vec(ne)}),Se=e.Record({offset:e.Opt(e.Nat32),limit:e.Opt(e.Nat32)}),T=e.Record({participation:e.Opt(z),participant_id:e.Opt(e.Principal)}),X=e.Record({participants:e.Vec(T)}),K=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat32)}),$=e.Record({sns_neuron_recipes:e.Vec(se)}),Ve=e.Record({subaccount:e.Opt(e.Vec(e.Nat8)),amount_icp_e8s:e.Nat64}),we=e.Record({min_amount_icp_e8s_included:e.Nat64,max_amount_icp_e8s_included:e.Nat64}),Te=e.Record({invalid_user_amount:e.Opt(we),existing_ticket:e.Opt(L),error_type:e.Int32}),Pe=e.Variant({Ok:J,Err:Te}),Z=e.Record({result:e.Opt(Pe)}),I=e.Record({confirmation_text:e.Opt(e.Text),buyer:e.Text}),be=e.Record({icp_accepted_participation_e8s:e.Nat64,icp_ledger_account_balance_e8s:e.Nat64});return e.Service({error_refund_icp:e.Func([c],[r],[]),finalize_swap:e.Func([e.Record({})],[R],[]),get_auto_finalization_status:e.Func([e.Record({})],[q],["query"]),get_buyer_state:e.Func([h],[g],["query"]),get_buyers_total:e.Func([e.Record({})],[W],[]),get_canister_status:e.Func([e.Record({})],[j],[]),get_derived_state:e.Func([e.Record({})],[ce],["query"]),get_init:e.Func([e.Record({})],[pe],["query"]),get_lifecycle:e.Func([e.Record({})],[_e],["query"]),get_open_ticket:e.Func([e.Record({})],[V],["query"]),get_sale_parameters:e.Func([e.Record({})],[le],["query"]),get_state:e.Func([e.Record({})],[he],["query"]),get_timers:e.Func([e.Record({})],[ve],["query"]),list_community_fund_participants:e.Func([xe],[w],["query"]),list_direct_participants:e.Func([Se],[X],["query"]),list_sns_neuron_recipes:e.Func([K],[$],["query"]),new_sale_ticket:e.Func([Ve],[Z],[]),notify_payment_failure:e.Func([e.Record({})],[J],[]),refresh_buyer_tokens:e.Func([I],[be],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[])})};var go=({subaccount:e,amount_icp_e8s:t})=>({subaccount:e===void 0?[]:[e],amount_icp_e8s:t});var yo=require("@dfinity/utils"),fo=e=>{if(typeof e=="object"&&(0,yo.nonNullish)(e)&&"message"in e){let t=e.message;return t.includes("has no update method")||t.includes("has no query method")}return!1};var rs=class e extends D.Canister{static create(t){let{service:o,certifiedService:s,canisterId:n}=(0,D.createServices)({options:t,idlFactory:Ro,certifiedIdlFactory:No});return new e(n,o,s)}state=t=>this.caller(t).get_state({});notifyPaymentFailure=async()=>{let{ticket:t}=await this.caller({certified:!0}).notify_payment_failure({});return(0,D.fromNullable)(t)};notifyParticipation=async t=>await this.caller({certified:!0}).refresh_buyer_tokens(t);getUserCommitment=async t=>{let{buyer_state:o}=await this.caller({certified:t.certified}).get_buyer_state({principal_id:t.principal_id});return(0,D.fromNullable)(o)};getDerivedState=({certified:t})=>this.caller({certified:t}).get_derived_state({});getSaleParameters=({certified:t})=>this.caller({certified:t}).get_sale_parameters({});getOpenTicket=async t=>{var i;let{result:o}=await this.caller({certified:t.certified}).get_open_ticket({}),s=(0,D.fromDefinedNullable)(o);if("Ok"in s)return(0,D.fromNullable)(s.Ok.ticket);let n=(0,D.fromDefinedNullable)((i=s==null?void 0:s.Err)==null?void 0:i.error_type);throw new _s(n)};newSaleTicket=async t=>{let o=go(t),{result:s}=await this.caller({certified:!0}).new_sale_ticket(o),n=(0,D.fromDefinedNullable)(s);if("Ok"in n)return(0,D.fromDefinedNullable)(n.Ok.ticket);let i=n.Err;throw new ps({errorType:i.error_type,invalidUserAmount:(0,D.fromNullable)(i.invalid_user_amount??[]),existingTicket:(0,D.fromNullable)(i.existing_ticket??[])})};getLifecycle=t=>this.caller(t).get_lifecycle({});getFinalizationStatus=async t=>{try{return await this.caller(t).get_auto_finalization_status({})}catch(o){throw fo(o)?new cs("getFinalizationStatus"):o}}};var jo=async({agent:e,rootOptions:t,certified:o=!0})=>{let s=ns.create({...t,agent:e}),{ledger:n,swap:i,governance:a,index:c}=await s.listSnsCanisters({certified:o}),u=(0,qe.fromNullable)(a),d=(0,qe.fromNullable)(n),l=(0,qe.fromNullable)(i),r=(0,qe.fromNullable)(c);return(0,qe.assertNonNullish)(u),(0,qe.assertNonNullish)(d),(0,qe.assertNonNullish)(l),(0,qe.assertNonNullish)(r),new ls({root:s,governance:os.create({canisterId:u,agent:e}),ledger:fs.IcrcLedgerCanister.create({canisterId:d,agent:e}),swap:rs.create({canisterId:l,agent:e}),index:fs.IcrcIndexCanister.create({canisterId:r,agent:e}),certified:o})};0&&(module.exports={GetOpenTicketErrorType,NewSaleTicketResponseErrorType,SnsGovernanceCanister,SnsGovernanceError,SnsGovernanceTestCanister,SnsNeuronPermissionType,SnsProposalDecisionStatus,SnsProposalRewardStatus,SnsRootCanister,SnsSwapCanister,SnsSwapGetOpenTicketError,SnsSwapLifecycle,SnsSwapNewTicketError,SnsVote,SnsWrapper,UnsupportedMethodError,fromCandidAction,initSnsWrapper,neuronSubaccount});
2
2
  /*! Bundled license information:
3
3
 
4
4
  @noble/hashes/esm/utils.js: