@dfinity/sns 6.0.1-next-2025-11-26 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import{assertNever as is,fromNullable as i,jsonReplacer as ks,toNullable as Ee}from"@dfinity/utils";var Lt=({neuronId:{id:e},command:t})=>({subaccount:e,command:[t]}),ts=({neuronId:e,operation:t})=>Lt({neuronId:e,command:{Configure:{operation:[t]}}}),As=({owner:e,subaccount:t})=>({owner:Ee(e),subaccount:t===void 0?[]:Ee({subaccount:t})}),Es=({neuronId:e,permissions:t,principal:s})=>Lt({neuronId:e,command:{AddNeuronPermissions:{permissions_to_add:[{permissions:Int32Array.from(t)}],principal_id:[s]}}}),Us=({neuronId:e,permissions:t,principal:s})=>Lt({neuronId:e,command:{RemoveNeuronPermissions:{permissions_to_remove:[{permissions:Int32Array.from(t)}],principal_id:[s]}}}),Bs=({neuronId:e,memo:t,amount:s})=>Lt({neuronId:e,command:{Split:{memo:t,amount_e8s:s}}}),Gs=({neuronId:e,amount:t,toAccount:s})=>Lt({neuronId:e,command:{Disburse:{to_account:s===void 0?[]:Ee(As(s)),amount:t===void 0?[]:[{e8s:t}]}}}),qs=e=>ts({neuronId:e,operation:{StartDissolving:{}}}),zs=e=>ts({neuronId:e,operation:{StopDissolving:{}}}),Ws=({neuronId:e,percentageToStake:t})=>Lt({neuronId:e,command:{StakeMaturity:{percentage_to_stake:Ee(t)}}}),Hs=({neuronId:e,percentageToDisburse:t,toAccount:s})=>Lt({neuronId:e,command:{DisburseMaturity:{to_account:s===void 0?[]:Ee(As(s)),percentage_to_disburse:t}}}),js=({neuronId:e,autoStake:t})=>ts({neuronId:e,operation:{ChangeAutoStakeMaturity:{requested_setting_for_auto_stake_maturity:t}}}),Qs=({neuronId:e,dissolveTimestampSeconds:t})=>ts({neuronId:e,operation:{SetDissolveTimestamp:{dissolve_timestamp_seconds:t}}}),Js=({neuronId:e,additionalDissolveDelaySeconds:t})=>ts({neuronId:e,operation:{IncreaseDissolveDelay:{additional_dissolve_delay_seconds:t}}}),Ys=({neuronId:e,functionId:t,followees:s})=>({subaccount:e.id,command:[{Follow:{function_id:t,followees:s}}]}),Xs=({neuronId:e,topicFollowing:t})=>({subaccount:e.id,command:[{SetFollowing:{topic_following:t.map(({topic:s,followees:n})=>({topic:[s],followees:n.map(({neuronId:a,alias:c})=>({neuron_id:Ee(a),alias:Ee(c)}))}))}}]}),Ks=({neuronId:e,proposalId:t,vote:s})=>({subaccount:e.id,command:[{RegisterVote:{vote:s,proposal:[t]}}]}),Ts=({subaccount:e,memo:t,controller:s})=>({subaccount:e,command:[{ClaimOrRefresh:{by:[t===void 0?{NeuronId:{}}:{MemoAndController:{memo:t,controller:Ee(s)}}]}}]}),$s=({excludeType:e,beforeProposal:t,includeRewardStatus:s,includeStatus:n,limit:a,includeTopics:c})=>({exclude_type:BigUint64Array.from(e??[]),before_proposal:Ee(t),include_reward_status:Int32Array.from(s??[]),include_status:Int32Array.from(n??[]),limit:a??10,include_topics:Ee(c?.map(o=>({topic:Ee(o)}))??[])}),Rn=e=>{if("ManageNervousSystemParameters"in e)return{ManageNervousSystemParameters:Un(e.ManageNervousSystemParameters)};if("AdvanceSnsTargetVersion"in e)return{AdvanceSnsTargetVersion:hn(e.AdvanceSnsTargetVersion)};if("AddGenericNervousSystemFunction"in e)return{AddGenericNervousSystemFunction:An(e.AddGenericNervousSystemFunction)};if("ManageDappCanisterSettings"in e)return{ManageDappCanisterSettings:vn(e.ManageDappCanisterSettings)};if("ManageLedgerParameters"in e)return{ManageLedgerParameters:fn(e.ManageLedgerParameters)};if("ExecuteExtensionOperation"in e)return{ExecuteExtensionOperation:xn(e.ExecuteExtensionOperation)};if("UpgradeExtension"in e)return{UpgradeExtension:Sn(e.UpgradeExtension)};if("SetTopicsForCustomProposals"in e)return{SetTopicsForCustomProposals:e.SetTopicsForCustomProposals};if("RegisterExtension"in e)return{RegisterExtension:Bn(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:bn(e.TransferSnsTreasuryFunds)};if("UpgradeSnsControlledCanister"in e)return{UpgradeSnsControlledCanister:Pn(e.UpgradeSnsControlledCanister)};if("DeregisterDappCanisters"in e)return{DeregisterDappCanisters:e.DeregisterDappCanisters};if("MintSnsTokens"in e)return{MintSnsTokens:Cn(e.MintSnsTokens)};if("Unspecified"in e)return{Unspecified:e.Unspecified};if("ManageSnsMetadata"in e)return{ManageSnsMetadata:yn(e.ManageSnsMetadata)};if("ExecuteGenericNervousSystemFunction"in e)return{ExecuteGenericNervousSystemFunction:e.ExecuteGenericNervousSystemFunction};if("Motion"in e)return{Motion:e.Motion};is(e,`Unknown action type ${JSON.stringify(e)}`)},yn=e=>({url:i(e.url),logo:i(e.logo),name:i(e.name),description:i(e.description)}),fn=e=>({token_symbol:i(e.token_symbol),transfer_fee:i(e.transfer_fee),token_logo:i(e.token_logo),token_name:i(e.token_name)}),hn=e=>({new_target:Fn(i(e.new_target))}),vn=e=>({freezing_threshold:i(e.freezing_threshold),wasm_memory_threshold:i(e.wasm_memory_threshold),canister_ids:e.canister_ids,reserved_cycles_limit:i(e.reserved_cycles_limit),log_visibility:i(e.log_visibility),wasm_memory_limit:i(e.wasm_memory_limit),memory_allocation:i(e.memory_allocation),compute_allocation:i(e.compute_allocation)}),xn=e=>({extension_canister_id:i(e.extension_canister_id),operation_name:i(e.operation_name),operation_arg:Vn(i(e.operation_arg))}),Sn=e=>({extension_canister_id:i(e.extension_canister_id),wasm:Tn(i(e.wasm)),canister_upgrade_arg:wn(i(e.canister_upgrade_arg))}),Ps=e=>({wasm_module_hash:e.wasm_module_hash,store_canister_id:i(e.store_canister_id),chunk_hashes_list:e.chunk_hashes_list}),Vn=e=>Zs(e),wn=e=>Zs(e),Zs=e=>{if(e===void 0)return;let t=i(e.value);return{value:t===void 0?void 0:ws(t)}},ws=e=>{if("Int"in e)return{Int:e.Int};if("Nat"in e)return{Nat:e.Nat};if("Blob"in e)return{Blob:e.Blob};if("Bool"in e)return{Bool:e.Bool};if("Text"in e)return{Text:e.Text};if("Array"in e)return{Array:e.Array.map(ws)};if("Map"in e)return{Map:e.Map.map(([t,s])=>[t,ws(s)])};is(e,`Unknown PreciseValue ${JSON.stringify(e,ks)}`)},Tn=e=>{if(e!==void 0){if("Chunked"in e)return{Chunked:Ps(e.Chunked)};if("Bytes"in e)return{Bytes:e.Bytes};is(e,`Unknown Wasm type ${JSON.stringify(e,ks)}`)}},Pn=e=>({new_canister_wasm:e.new_canister_wasm,chunked_canister_wasm:e.chunked_canister_wasm?.[0]!==void 0?Ps(e.chunked_canister_wasm[0]):void 0,canister_id:i(e.canister_id),canister_upgrade_arg:i(e.canister_upgrade_arg),mode:i(e.mode)}),bn=e=>({from_treasury:e.from_treasury,to_principal:i(e.to_principal),to_subaccount:i(e.to_subaccount),memo:i(e.memo),amount_e8s:e.amount_e8s}),Cn=e=>({to_principal:i(e.to_principal),to_subaccount:i(e.to_subaccount),memo:i(e.memo),amount_e8s:i(e.amount_e8s)}),Fn=e=>{if(e!==void 0)return{archive_wasm_hash:i(e.archive_wasm_hash),root_wasm_hash:i(e.root_wasm_hash),swap_wasm_hash:i(e.swap_wasm_hash),ledger_wasm_hash:i(e.ledger_wasm_hash),governance_wasm_hash:i(e.governance_wasm_hash),index_wasm_hash:i(e.index_wasm_hash)}},Mn=e=>({validator_canister_id:i(e.validator_canister_id),target_canister_id:i(e.target_canister_id),validator_method_name:i(e.validator_method_name),target_method_name:i(e.target_method_name),topic:i(e.topic)}),kn=e=>{if(e!==void 0){if("NativeNervousSystemFunction"in e)return{NativeNervousSystemFunction:e.NativeNervousSystemFunction};if("GenericNervousSystemFunction"in e)return{GenericNervousSystemFunction:Mn(e.GenericNervousSystemFunction)};is(e,`Unknown FunctionType ${JSON.stringify(e)}`)}},An=e=>({id:e.id,name:e.name,description:i(e.description),function_type:kn(i(e.function_type))}),En=e=>e&&{final_reward_rate_basis_points:i(e.final_reward_rate_basis_points),initial_reward_rate_basis_points:i(e.initial_reward_rate_basis_points),reward_rate_transition_duration_seconds:i(e.reward_rate_transition_duration_seconds),round_duration_seconds:i(e.round_duration_seconds)},Un=e=>({default_followees:i(e.default_followees),max_dissolve_delay_seconds:i(e.max_dissolve_delay_seconds),max_dissolve_delay_bonus_percentage:i(e.max_dissolve_delay_bonus_percentage),max_followees_per_function:i(e.max_followees_per_function),neuron_claimer_permissions:i(e.neuron_claimer_permissions),neuron_minimum_stake_e8s:i(e.neuron_minimum_stake_e8s),max_neuron_age_for_age_bonus:i(e.max_neuron_age_for_age_bonus),initial_voting_period_seconds:i(e.initial_voting_period_seconds),neuron_minimum_dissolve_delay_to_vote_seconds:i(e.neuron_minimum_dissolve_delay_to_vote_seconds),reject_cost_e8s:i(e.reject_cost_e8s),max_proposals_to_keep_per_action:i(e.max_proposals_to_keep_per_action),wait_for_quiet_deadline_increase_seconds:i(e.wait_for_quiet_deadline_increase_seconds),max_number_of_neurons:i(e.max_number_of_neurons),transaction_fee_e8s:i(e.transaction_fee_e8s),max_number_of_proposals_with_ballots:i(e.max_number_of_proposals_with_ballots),max_age_bonus_percentage:i(e.max_age_bonus_percentage),neuron_grantable_permissions:i(e.neuron_grantable_permissions),voting_rewards_parameters:En(i(e.voting_rewards_parameters)),max_number_of_principals_per_neuron:i(e.max_number_of_principals_per_neuron),automatically_advance_target_version:i(e.automatically_advance_target_version)}),Bn=e=>({chunked_canister_wasm:e.chunked_canister_wasm?.[0]!==void 0?Ps(e.chunked_canister_wasm[0]):void 0,extension_init:i(e.extension_init)});var Gn=(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))(Gn||{}),qn=(a=>(a[a.PROPOSAL_REWARD_STATUS_UNSPECIFIED=0]="PROPOSAL_REWARD_STATUS_UNSPECIFIED",a[a.PROPOSAL_REWARD_STATUS_ACCEPT_VOTES=1]="PROPOSAL_REWARD_STATUS_ACCEPT_VOTES",a[a.PROPOSAL_REWARD_STATUS_READY_TO_SETTLE=2]="PROPOSAL_REWARD_STATUS_READY_TO_SETTLE",a[a.PROPOSAL_REWARD_STATUS_SETTLED=3]="PROPOSAL_REWARD_STATUS_SETTLED",a))(qn||{}),zn=(o=>(o[o.PROPOSAL_DECISION_STATUS_UNSPECIFIED=0]="PROPOSAL_DECISION_STATUS_UNSPECIFIED",o[o.PROPOSAL_DECISION_STATUS_OPEN=1]="PROPOSAL_DECISION_STATUS_OPEN",o[o.PROPOSAL_DECISION_STATUS_REJECTED=2]="PROPOSAL_DECISION_STATUS_REJECTED",o[o.PROPOSAL_DECISION_STATUS_ADOPTED=3]="PROPOSAL_DECISION_STATUS_ADOPTED",o[o.PROPOSAL_DECISION_STATUS_EXECUTED=4]="PROPOSAL_DECISION_STATUS_EXECUTED",o[o.PROPOSAL_DECISION_STATUS_FAILED=5]="PROPOSAL_DECISION_STATUS_FAILED",o))(zn||{}),Wn=(n=>(n[n.Unspecified=0]="Unspecified",n[n.Yes=1]="Yes",n[n.No=2]="No",n))(Wn||{});var Hn=(o=>(o[o.Unspecified=0]="Unspecified",o[o.Pending=1]="Pending",o[o.Open=2]="Open",o[o.Committed=3]="Committed",o[o.Aborted=4]="Aborted",o[o.Adopted=5]="Adopted",o))(Hn||{}),jn=(n=>(n[n.TYPE_UNSPECIFIED=0]="TYPE_UNSPECIFIED",n[n.TYPE_SALE_NOT_OPEN=1]="TYPE_SALE_NOT_OPEN",n[n.TYPE_SALE_CLOSED=2]="TYPE_SALE_CLOSED",n))(jn||{}),Qn=(p=>(p[p.TYPE_UNSPECIFIED=0]="TYPE_UNSPECIFIED",p[p.TYPE_SALE_NOT_OPEN=1]="TYPE_SALE_NOT_OPEN",p[p.TYPE_SALE_CLOSED=2]="TYPE_SALE_CLOSED",p[p.TYPE_TICKET_EXISTS=3]="TYPE_TICKET_EXISTS",p[p.TYPE_INVALID_USER_AMOUNT=4]="TYPE_INVALID_USER_AMOUNT",p[p.TYPE_INVALID_SUBACCOUNT=5]="TYPE_INVALID_SUBACCOUNT",p[p.TYPE_INVALID_PRINCIPAL=6]="TYPE_INVALID_PRINCIPAL",p))(Qn||{});var cs=class extends Error{constructor(s){super();this.methodName=s}};var M=class extends Error{};var ps=class extends Error{errorType;invalidUserAmount;existingTicket;constructor({errorType:t,invalidUserAmount:s,existingTicket:n}){super(),this.errorType=t,this.invalidUserAmount=s,this.existingTicket=n}},_s=class extends Error{constructor(s){super();this.errorType=s}};import{Canister as Yn,assertPercentageNumber as Ls,createServices as Xn,fromNullable as es,toNullable as ds}from"@dfinity/utils";var Is=({IDL:e})=>{let t=e.Rec(),s=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),n=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)}),a=e.Record({versions:e.Vec(n)}),c=e.Record({upgrade_steps:e.Opt(a),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),o=e.Variant({DappCanisterManagement:e.Null,DaoCommunitySettings:e.Null,ApplicationBusinessLogic:e.Null,CriticalDappOperations:e.Null,TreasuryAssetManagement:e.Null,Governance:e.Null,SnsFrameworkManagement:e.Null}),p=e.Record({topic:e.Opt(o),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:p}),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)}),g=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)}),f=e.Record({governance_total_potential_voting_power:e.Opt(e.Nat64),timestamp_seconds:e.Opt(e.Nat64)}),F=e.Record({treasury_metrics:e.Vec(g),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(f),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}),R=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),A=e.Record({old_target_version:e.Opt(n),new_target_version:e.Opt(n),is_advanced_automatically:e.Opt(e.Bool)}),v=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(a)}),E=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(n)})})),human_readable:e.Opt(e.Text)}),m=e.Record({id:e.Nat64}),U=e.Record({current_version:e.Opt(n),expected_version:e.Opt(n),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:m,BehindTargetVersion:e.Record({})}))}),y=e.Record({upgrade_steps:e.Opt(a)}),B=e.Record({human_readable:e.Opt(e.Text),old_target_version:e.Opt(n),new_target_version:e.Opt(n)}),G=e.Record({event:e.Opt(e.Variant({TargetVersionSet:A,UpgradeStepsReset:v,UpgradeOutcome:E,UpgradeStarted:U,UpgradeStepsRefreshed:y,TargetVersionReset:B})),timestamp_seconds:e.Opt(e.Nat64)}),S=e.Record({entries:e.Vec(G)}),_=e.Record({id:e.Vec(e.Nat8)}),V=e.Record({followees:e.Vec(_)}),q=e.Record({followees:e.Vec(e.Tuple(e.Nat64,V))}),O=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(q),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(O),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(O),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)}),w=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Opt(e.Nat64),target_version:e.Opt(n)}),N=e.Record({error_message:e.Text,error_type:e.Int32}),T=e.Record({human_readable:e.Opt(e.Text)}),ne=e.Record({e8s:e.Opt(e.Nat64)}),oe=e.Record({xdrs_per_icp:e.Opt(T),icps_per_token:e.Opt(T),tokens:e.Opt(ne)}),ae=e.Record({token:e.Opt(e.Int32),account:e.Opt(r),valuation_factors:e.Opt(oe),timestamp_seconds:e.Opt(e.Nat64)}),W=e.Record({valuation:e.Opt(ae)}),H=e.Record({archive_wasm_hash:e.Opt(e.Vec(e.Nat8)),root_wasm_hash:e.Opt(e.Vec(e.Nat8)),swap_wasm_hash:e.Opt(e.Vec(e.Nat8)),ledger_wasm_hash:e.Opt(e.Vec(e.Nat8)),governance_wasm_hash:e.Opt(e.Vec(e.Nat8)),index_wasm_hash:e.Opt(e.Vec(e.Nat8))}),re=e.Record({target_version:e.Opt(H)}),ie=e.Variant({TransferSnsTreasuryFunds:W,MintSnsTokens:W,AdvanceSnsTargetVersion:re}),ce=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),j=e.Record({basis_points:e.Opt(e.Nat64)}),I=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),Q=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 pe=e.Record({value:e.Opt(t)}),_e=e.Record({extension_canister_id:e.Opt(e.Principal),operation_name:e.Opt(e.Text),operation_arg:e.Opt(pe)}),P=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)}),D=e.Variant({Chunked:P,Bytes:e.Vec(e.Nat8)}),de=e.Record({value:e.Opt(t)}),ue=e.Record({extension_canister_id:e.Opt(e.Principal),wasm:e.Opt(D),canister_upgrade_arg:e.Opt(de)}),le=e.Record({custom_function_id_to_topic:e.Vec(e.Tuple(e.Nat64,o))}),L=e.Record({value:e.Opt(t)}),me=e.Record({chunked_canister_wasm:e.Opt(P),extension_init:e.Opt(L)}),Oe=e.Record({canister_ids:e.Vec(e.Principal)}),Ne=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),ee=e.Record({new_canister_wasm:e.Vec(e.Nat8),mode:e.Opt(e.Int32),canister_id:e.Opt(e.Principal),chunked_canister_wasm:e.Opt(P),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),te=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ge=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),se=e.Record({new_target:e.Opt(H)}),J=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),Re=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),ye=e.Record({token_symbol:e.Opt(e.Text),transfer_fee:e.Opt(e.Nat64),token_logo:e.Opt(e.Text),token_name:e.Opt(e.Text)}),fe=e.Record({motion_text:e.Text}),he=e.Variant({ManageNervousSystemParameters:h,AddGenericNervousSystemFunction:d,ManageDappCanisterSettings:Q,ExecuteExtensionOperation:_e,UpgradeExtension:ue,RemoveGenericNervousSystemFunction:e.Nat64,SetTopicsForCustomProposals:le,RegisterExtension:me,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:Oe,TransferSnsTreasuryFunds:Ne,UpgradeSnsControlledCanister:ee,DeregisterDappCanisters:te,MintSnsTokens:ge,AdvanceSnsTargetVersion:se,Unspecified:e.Record({}),ManageSnsMetadata:J,ExecuteGenericNervousSystemFunction:Re,ManageLedgerParameters:ye,Motion:fe}),b=e.Record({url:e.Text,title:e.Text,action:e.Opt(he),summary:e.Text}),ve=e.Record({current_deadline_timestamp_seconds:e.Nat64}),C=e.Record({id:e.Opt(m),payload_text_rendering:e.Opt(e.Text),topic:e.Opt(o),action:e.Nat64,failure_reason:e.Opt(N),action_auxiliary:e.Opt(ie),ballots:e.Vec(e.Tuple(e.Text,ce)),minimum_yes_proportion_of_total:e.Opt(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(I),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(b),proposer:e.Opt(_),wait_for_quiet_state:e.Opt(ve),minimum_yes_proportion_of_exercised:e.Opt(j),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),Y=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),X=e.Record({function_id:e.Nat64,followees:e.Vec(_)}),K=e.Record({to_account:e.Opt(r),percentage_to_disburse:e.Nat32}),xe=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),Se=e.Record({additional_dissolve_delay_seconds:e.Nat32}),Ve=e.Record({dissolve_timestamp_seconds:e.Nat64}),we=e.Variant({ChangeAutoStakeMaturity:xe,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:Se,SetDissolveTimestamp:Ve}),$=e.Record({operation:e.Opt(we)}),Z=e.Record({vote:e.Int32,proposal:e.Opt(m)}),Te=e.Record({alias:e.Opt(e.Text),neuron_id:e.Opt(_)}),Pe=e.Record({topic:e.Opt(o),followees:e.Vec(Te)}),be=e.Record({topic_following:e.Vec(Pe)}),Je=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({})}),Ce=e.Record({by:e.Opt(Xe)}),Fe=e.Record({permissions_to_remove:e.Opt(O),principal_id:e.Opt(e.Principal)}),Me=e.Record({permissions_to_add:e.Opt(O),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:Y,Follow:X,DisburseMaturity:K,Configure:$,RegisterVote:Z,SetFollowing:be,SyncCommand:e.Record({}),MakeProposal:b,FinalizeDisburseMaturity:Je,ClaimOrRefreshNeuron:Ce,RemoveNeuronPermissions:Fe,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)}),k=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,Pe))})),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,V)),neuron_fees_e8s:e.Nat64}),fs=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(s),cached_upgrade_steps:e.Opt(c),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,d)),metrics:e.Opt(F),maturity_modulation:e.Opt(R),upgrade_journal:e.Opt(S),mode:e.Int32,parameters:e.Opt(h),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(n),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(x),pending_version:e.Opt(w),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,C)),in_flight_commands:e.Vec(e.Tuple(e.Text,Ze)),sns_metadata:e.Opt(J),neurons:e.Vec(e.Tuple(e.Text,k)),target_version:e.Opt(n),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({})}),nt=e.Record({neuron_ids:e.Vec(_)}),ot=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(nt),neuron_id:e.Opt(_)}),at=e.Record({neuron_recipes:e.Vec(ot)}),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)}),pt=e.Variant({Ok:ct,Err:e.Int32}),_t=e.Record({claim_swap_neurons_result:e.Opt(pt)}),dt=e.Record({maturity_modulation:e.Opt(R)}),ut=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),Be=e.Record({time_window_seconds:e.Opt(e.Nat64)}),lt=e.Record({treasury_metrics:e.Opt(e.Vec(g)),voting_power_metrics:e.Opt(f),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:N}),Ge=e.Record({get_metrics_result:e.Opt(mt)}),qe=e.Record({mode:e.Opt(e.Int32)}),Ot=e.Record({neuron_id:e.Opt(_)}),Nt=e.Variant({Error:N,Neuron:k}),ze=e.Record({result:e.Opt(Nt)}),We=e.Record({proposal_id:e.Opt(m)}),gt=e.Variant({Error:N,Proposal:C}),Rt=e.Record({result:e.Opt(gt)}),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)}),He=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:He,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))}),xt=e.Record({deployed_version:e.Opt(n),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(n)}))}),St=e.Record({sns_initialization_parameters:e.Text}),Vt=e.Record({timers:e.Opt(s)}),wt=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat64)}),Tt=e.Record({upgrade_journal:e.Opt(S),upgrade_steps:e.Opt(a),response_timestamp_seconds:e.Opt(e.Nat64),deployed_version:e.Opt(n),target_version:e.Opt(n),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(_)}),Ct=e.Record({neurons:e.Vec(k)}),Ft=e.Record({topic:e.Opt(o)}),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(Ft)),include_status:e.Vec(e.Int32)}),kt=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(C),include_topic_filtering:e.Opt(e.Bool)}),At=e.Record({}),Et=e.Variant({TreasuryManagerWithdraw:e.Null,TreasuryManagerDeposit:e.Null}),Ut=e.Variant({TreasuryManager:e.Null}),Bt=e.Record({topic:e.Opt(o),operation_type:e.Opt(Et),description:e.Opt(e.Text),extension_type:e.Opt(Ut)}),Gt=e.Record({spec:e.Opt(Bt),canister_id:e.Opt(e.Principal)}),qt=e.Record({extension_operations:e.Opt(e.Vec(Gt)),native_functions:e.Opt(e.Vec(d)),topic:e.Opt(o),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(qt))}),Wt=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),Ht=e.Variant({Split:Y,Follow:X,DisburseMaturity:K,ClaimOrRefresh:Ce,Configure:$,RegisterVote:Z,SetFollowing:be,MakeProposal:b,StakeMaturity:Wt,RemoveNeuronPermissions:Fe,AddNeuronPermissions:Me,MergeMaturity:ke,Disburse:Ae}),jt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(Ht)}),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}),$t=e.Record({transfer_block_height:e.Nat64}),Zt=e.Variant({Error:N,Split:Qt,Follow:e.Record({}),DisburseMaturity:Jt,ClaimOrRefresh:Yt,Configure:e.Record({}),RegisterVote:e.Record({}),SetFollowing:e.Record({}),MakeProposal:We,RemoveNeuronPermission:e.Record({}),StakeMaturity:Xt,MergeMaturity:Kt,Disburse:$t,AddNeuronPermission:e.Record({})}),It=e.Record({command:e.Opt(Zt)}),Dt=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([rt],[_t],[]),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([Be],[Ge],[]),get_metrics_replicated:e.Func([Be],[Ge],[]),get_mode:e.Func([e.Record({})],[qe],[]),get_nervous_system_parameters:e.Func([e.Null],[h],[]),get_neuron:e.Func([Ot],[ze],[]),get_proposal:e.Func([We],[Rt],[]),get_root_canister_status:e.Func([e.Null],[vt],[]),get_running_sns_version:e.Func([e.Record({})],[xt],[]),get_sns_initialization_parameters:e.Func([e.Record({})],[St],[]),get_timers:e.Func([e.Record({})],[Vt],[]),get_upgrade_journal:e.Func([wt],[Tt],[]),list_nervous_system_functions:e.Func([],[Pt],[]),list_neurons:e.Func([bt],[Ct],[]),list_proposals:e.Func([Mt],[kt],[]),list_topics:e.Func([At],[zt],[]),manage_neuron:e.Func([jt],[It],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([Dt],[e.Record({})],[])})};var Ds=({IDL:e})=>{let t=e.Rec(),s=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),n=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)}),a=e.Record({versions:e.Vec(n)}),c=e.Record({upgrade_steps:e.Opt(a),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),o=e.Variant({DappCanisterManagement:e.Null,DaoCommunitySettings:e.Null,ApplicationBusinessLogic:e.Null,CriticalDappOperations:e.Null,TreasuryAssetManagement:e.Null,Governance:e.Null,SnsFrameworkManagement:e.Null}),p=e.Record({topic:e.Opt(o),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:p}),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)}),g=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)}),f=e.Record({governance_total_potential_voting_power:e.Opt(e.Nat64),timestamp_seconds:e.Opt(e.Nat64)}),F=e.Record({treasury_metrics:e.Vec(g),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(f),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}),R=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),A=e.Record({old_target_version:e.Opt(n),new_target_version:e.Opt(n),is_advanced_automatically:e.Opt(e.Bool)}),v=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(a)}),E=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(n)})})),human_readable:e.Opt(e.Text)}),m=e.Record({id:e.Nat64}),U=e.Record({current_version:e.Opt(n),expected_version:e.Opt(n),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:m,BehindTargetVersion:e.Record({})}))}),y=e.Record({upgrade_steps:e.Opt(a)}),B=e.Record({human_readable:e.Opt(e.Text),old_target_version:e.Opt(n),new_target_version:e.Opt(n)}),G=e.Record({event:e.Opt(e.Variant({TargetVersionSet:A,UpgradeStepsReset:v,UpgradeOutcome:E,UpgradeStarted:U,UpgradeStepsRefreshed:y,TargetVersionReset:B})),timestamp_seconds:e.Opt(e.Nat64)}),S=e.Record({entries:e.Vec(G)}),_=e.Record({id:e.Vec(e.Nat8)}),V=e.Record({followees:e.Vec(_)}),q=e.Record({followees:e.Vec(e.Tuple(e.Nat64,V))}),O=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(q),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(O),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(O),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)}),w=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Opt(e.Nat64),target_version:e.Opt(n)}),N=e.Record({error_message:e.Text,error_type:e.Int32}),T=e.Record({human_readable:e.Opt(e.Text)}),ne=e.Record({e8s:e.Opt(e.Nat64)}),oe=e.Record({xdrs_per_icp:e.Opt(T),icps_per_token:e.Opt(T),tokens:e.Opt(ne)}),ae=e.Record({token:e.Opt(e.Int32),account:e.Opt(r),valuation_factors:e.Opt(oe),timestamp_seconds:e.Opt(e.Nat64)}),W=e.Record({valuation:e.Opt(ae)}),H=e.Record({archive_wasm_hash:e.Opt(e.Vec(e.Nat8)),root_wasm_hash:e.Opt(e.Vec(e.Nat8)),swap_wasm_hash:e.Opt(e.Vec(e.Nat8)),ledger_wasm_hash:e.Opt(e.Vec(e.Nat8)),governance_wasm_hash:e.Opt(e.Vec(e.Nat8)),index_wasm_hash:e.Opt(e.Vec(e.Nat8))}),re=e.Record({target_version:e.Opt(H)}),ie=e.Variant({TransferSnsTreasuryFunds:W,MintSnsTokens:W,AdvanceSnsTargetVersion:re}),ce=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),j=e.Record({basis_points:e.Opt(e.Nat64)}),I=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),Q=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 pe=e.Record({value:e.Opt(t)}),_e=e.Record({extension_canister_id:e.Opt(e.Principal),operation_name:e.Opt(e.Text),operation_arg:e.Opt(pe)}),P=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)}),D=e.Variant({Chunked:P,Bytes:e.Vec(e.Nat8)}),de=e.Record({value:e.Opt(t)}),ue=e.Record({extension_canister_id:e.Opt(e.Principal),wasm:e.Opt(D),canister_upgrade_arg:e.Opt(de)}),le=e.Record({custom_function_id_to_topic:e.Vec(e.Tuple(e.Nat64,o))}),L=e.Record({value:e.Opt(t)}),me=e.Record({chunked_canister_wasm:e.Opt(P),extension_init:e.Opt(L)}),Oe=e.Record({canister_ids:e.Vec(e.Principal)}),Ne=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),ee=e.Record({new_canister_wasm:e.Vec(e.Nat8),mode:e.Opt(e.Int32),canister_id:e.Opt(e.Principal),chunked_canister_wasm:e.Opt(P),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),te=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ge=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),se=e.Record({new_target:e.Opt(H)}),J=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),Re=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),ye=e.Record({token_symbol:e.Opt(e.Text),transfer_fee:e.Opt(e.Nat64),token_logo:e.Opt(e.Text),token_name:e.Opt(e.Text)}),fe=e.Record({motion_text:e.Text}),he=e.Variant({ManageNervousSystemParameters:h,AddGenericNervousSystemFunction:d,ManageDappCanisterSettings:Q,ExecuteExtensionOperation:_e,UpgradeExtension:ue,RemoveGenericNervousSystemFunction:e.Nat64,SetTopicsForCustomProposals:le,RegisterExtension:me,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:Oe,TransferSnsTreasuryFunds:Ne,UpgradeSnsControlledCanister:ee,DeregisterDappCanisters:te,MintSnsTokens:ge,AdvanceSnsTargetVersion:se,Unspecified:e.Record({}),ManageSnsMetadata:J,ExecuteGenericNervousSystemFunction:Re,ManageLedgerParameters:ye,Motion:fe}),b=e.Record({url:e.Text,title:e.Text,action:e.Opt(he),summary:e.Text}),ve=e.Record({current_deadline_timestamp_seconds:e.Nat64}),C=e.Record({id:e.Opt(m),payload_text_rendering:e.Opt(e.Text),topic:e.Opt(o),action:e.Nat64,failure_reason:e.Opt(N),action_auxiliary:e.Opt(ie),ballots:e.Vec(e.Tuple(e.Text,ce)),minimum_yes_proportion_of_total:e.Opt(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(I),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(b),proposer:e.Opt(_),wait_for_quiet_state:e.Opt(ve),minimum_yes_proportion_of_exercised:e.Opt(j),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),Y=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),X=e.Record({function_id:e.Nat64,followees:e.Vec(_)}),K=e.Record({to_account:e.Opt(r),percentage_to_disburse:e.Nat32}),xe=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),Se=e.Record({additional_dissolve_delay_seconds:e.Nat32}),Ve=e.Record({dissolve_timestamp_seconds:e.Nat64}),we=e.Variant({ChangeAutoStakeMaturity:xe,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:Se,SetDissolveTimestamp:Ve}),$=e.Record({operation:e.Opt(we)}),Z=e.Record({vote:e.Int32,proposal:e.Opt(m)}),Te=e.Record({alias:e.Opt(e.Text),neuron_id:e.Opt(_)}),Pe=e.Record({topic:e.Opt(o),followees:e.Vec(Te)}),be=e.Record({topic_following:e.Vec(Pe)}),Je=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({})}),Ce=e.Record({by:e.Opt(Xe)}),Fe=e.Record({permissions_to_remove:e.Opt(O),principal_id:e.Opt(e.Principal)}),Me=e.Record({permissions_to_add:e.Opt(O),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:Y,Follow:X,DisburseMaturity:K,Configure:$,RegisterVote:Z,SetFollowing:be,SyncCommand:e.Record({}),MakeProposal:b,FinalizeDisburseMaturity:Je,ClaimOrRefreshNeuron:Ce,RemoveNeuronPermissions:Fe,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)}),k=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,Pe))})),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,V)),neuron_fees_e8s:e.Nat64}),fs=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(s),cached_upgrade_steps:e.Opt(c),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,d)),metrics:e.Opt(F),maturity_modulation:e.Opt(R),upgrade_journal:e.Opt(S),mode:e.Int32,parameters:e.Opt(h),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(n),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(x),pending_version:e.Opt(w),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,C)),in_flight_commands:e.Vec(e.Tuple(e.Text,Ze)),sns_metadata:e.Opt(J),neurons:e.Vec(e.Tuple(e.Text,k)),target_version:e.Opt(n),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({})}),nt=e.Record({neuron_ids:e.Vec(_)}),ot=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(nt),neuron_id:e.Opt(_)}),at=e.Record({neuron_recipes:e.Vec(ot)}),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)}),pt=e.Variant({Ok:ct,Err:e.Int32}),_t=e.Record({claim_swap_neurons_result:e.Opt(pt)}),dt=e.Record({maturity_modulation:e.Opt(R)}),ut=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),Be=e.Record({time_window_seconds:e.Opt(e.Nat64)}),lt=e.Record({treasury_metrics:e.Opt(e.Vec(g)),voting_power_metrics:e.Opt(f),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:N}),Ge=e.Record({get_metrics_result:e.Opt(mt)}),qe=e.Record({mode:e.Opt(e.Int32)}),Ot=e.Record({neuron_id:e.Opt(_)}),Nt=e.Variant({Error:N,Neuron:k}),ze=e.Record({result:e.Opt(Nt)}),We=e.Record({proposal_id:e.Opt(m)}),gt=e.Variant({Error:N,Proposal:C}),Rt=e.Record({result:e.Opt(gt)}),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)}),He=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:He,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))}),xt=e.Record({deployed_version:e.Opt(n),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(n)}))}),St=e.Record({sns_initialization_parameters:e.Text}),Vt=e.Record({timers:e.Opt(s)}),wt=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat64)}),Tt=e.Record({upgrade_journal:e.Opt(S),upgrade_steps:e.Opt(a),response_timestamp_seconds:e.Opt(e.Nat64),deployed_version:e.Opt(n),target_version:e.Opt(n),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(_)}),Ct=e.Record({neurons:e.Vec(k)}),Ft=e.Record({topic:e.Opt(o)}),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(Ft)),include_status:e.Vec(e.Int32)}),kt=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(C),include_topic_filtering:e.Opt(e.Bool)}),At=e.Record({}),Et=e.Variant({TreasuryManagerWithdraw:e.Null,TreasuryManagerDeposit:e.Null}),Ut=e.Variant({TreasuryManager:e.Null}),Bt=e.Record({topic:e.Opt(o),operation_type:e.Opt(Et),description:e.Opt(e.Text),extension_type:e.Opt(Ut)}),Gt=e.Record({spec:e.Opt(Bt),canister_id:e.Opt(e.Principal)}),qt=e.Record({extension_operations:e.Opt(e.Vec(Gt)),native_functions:e.Opt(e.Vec(d)),topic:e.Opt(o),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(qt))}),Wt=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),Ht=e.Variant({Split:Y,Follow:X,DisburseMaturity:K,ClaimOrRefresh:Ce,Configure:$,RegisterVote:Z,SetFollowing:be,MakeProposal:b,StakeMaturity:Wt,RemoveNeuronPermissions:Fe,AddNeuronPermissions:Me,MergeMaturity:ke,Disburse:Ae}),jt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(Ht)}),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}),$t=e.Record({transfer_block_height:e.Nat64}),Zt=e.Variant({Error:N,Split:Qt,Follow:e.Record({}),DisburseMaturity:Jt,ClaimOrRefresh:Yt,Configure:e.Record({}),RegisterVote:e.Record({}),SetFollowing:e.Record({}),MakeProposal:We,RemoveNeuronPermission:e.Record({}),StakeMaturity:Xt,MergeMaturity:Kt,Disburse:$t,AddNeuronPermission:e.Record({})}),It=e.Record({command:e.Opt(Zt)}),Dt=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([rt],[_t],[]),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([Be],[Ge],["composite_query"]),get_metrics_replicated:e.Func([Be],[Ge],[]),get_mode:e.Func([e.Record({})],[qe],["query"]),get_nervous_system_parameters:e.Func([e.Null],[h],["query"]),get_neuron:e.Func([Ot],[ze],["query"]),get_proposal:e.Func([We],[Rt],["query"]),get_root_canister_status:e.Func([e.Null],[vt],[]),get_running_sns_version:e.Func([e.Record({})],[xt],["query"]),get_sns_initialization_parameters:e.Func([e.Record({})],[St],["query"]),get_timers:e.Func([e.Record({})],[Vt],["query"]),get_upgrade_journal:e.Func([wt],[Tt],["query"]),list_nervous_system_functions:e.Func([],[Pt],["query"]),list_neurons:e.Func([bt],[Ct],["query"]),list_proposals:e.Func([Mt],[kt],["query"]),list_topics:e.Func([At],[zt],["query"]),manage_neuron:e.Func([jt],[It],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([Dt],[e.Record({})],[])})};var ss=class e extends Yn{static create(t){let{service:s,certifiedService:n,canisterId:a}=Xn({options:t,idlFactory:Ds,certifiedIdlFactory:Is});return new e(a,s,n)}listNeurons=async t=>{let{principal:s,limit:n,beforeNeuronId:a}=t,{neurons:c}=await this.caller(t).list_neurons({of_principal:ds(s),limit:n??100,start_page_at:ds(a)});return c};listProposals=async t=>{let{certified:s}=t;return await this.caller({certified:s}).list_proposals($s(t))};listTopics=async t=>{let{certified:s}=t;return await this.caller({certified:s}).list_topics({})};getProposal=async t=>{let{proposalId:s}=t,{result:n}=await this.caller(t).get_proposal({proposal_id:ds(s)}),a=es(n);if(a===void 0||"Error"in a)throw new M(a?.Error.error_message??"Response type not supported");return a.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:s}=t,{result:n}=await this.caller(t).get_neuron({neuron_id:ds(s)}),a=es(n);if(a===void 0||"Error"in a)throw new M(a?.Error.error_message??"Response type not supported");return a.Neuron};queryNeuron=async t=>{try{return await this.getNeuron(t)}catch(s){if(s instanceof Error&&s.message.includes("No neuron for given NeuronId"))return;throw s}};manageNeuron=async t=>{let s=await this.caller({certified:!0}).manage_neuron(t);return this.assertManageNeuronError(s),s};addNeuronPermissions=async t=>{let s=Es(t);await this.manageNeuron(s)};removeNeuronPermissions=async t=>{let s=Us(t);await this.manageNeuron(s)};splitNeuron=async t=>{let s=Bs(t),{command:n}=await this.manageNeuron(s),a=es(n),c=o=>`Split neuron failed (${o})`;if(a===void 0)throw new M(c("no response"));if("Split"in a){let o=a.Split,p=es(o.created_neuron_id);if(p!==void 0)return p;throw new M(c("no id"))}throw new M(c("unknown"))};disburse=async t=>{let s=Gs(t);await this.manageNeuron(s)};startDissolving=async t=>{let s=qs(t);await this.manageNeuron(s)};stopDissolving=async t=>{let s=zs(t);await this.manageNeuron(s)};stakeMaturity=async({neuronId:t,percentageToStake:s})=>{Ls(s??100);let n=Ws({neuronId:t,percentageToStake:s});await this.manageNeuron(n)};disburseMaturity=async t=>{Ls(t.percentageToDisburse);let s=Hs(t);await this.manageNeuron(s)};autoStakeMaturity=async t=>{let s=js(t);await this.manageNeuron(s)};setDissolveTimestamp=async t=>{let s=Qs(t);await this.manageNeuron(s)};increaseDissolveDelay=async t=>{let s=Js(t);await this.manageNeuron(s)};setTopicFollowees=async t=>{let s=Ys(t);await this.manageNeuron(s)};setFollowing=async t=>{let s=Xs(t);await this.manageNeuron(s)};registerVote=async t=>{let s=Ks(t);await this.manageNeuron(s)};refreshNeuron=async t=>{let s=Ts({subaccount:t.id});await this.manageNeuron(s)};claimNeuron=async({memo:t,controller:s,subaccount:n})=>{let a=Ts({subaccount:n,memo:t,controller:s}),{command:c}=await this.manageNeuron(a),o=es(c);if(o===void 0)throw new M("Claim neuron failed");if("ClaimOrRefresh"in o){let p=es(o.ClaimOrRefresh.refreshed_neuron_id);if(p===void 0)throw new M("Claim neuron failed");return p}throw new M("Claim neuron failed")};assertManageNeuronError=({command:t})=>{let[s]=t;if(s!==void 0&&"Error"in s)throw new M(s.Error.error_message)}};import{Canister as Kn,createServices as $n,fromNullable as Zn,isNullish as In,toNullable as sn}from"@dfinity/utils";var en=({IDL:e})=>{let t=e.Rec(),s=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),n=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)}),a=e.Record({versions:e.Vec(n)}),c=e.Record({upgrade_steps:e.Opt(a),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),o=e.Variant({DappCanisterManagement:e.Null,DaoCommunitySettings:e.Null,ApplicationBusinessLogic:e.Null,CriticalDappOperations:e.Null,TreasuryAssetManagement:e.Null,Governance:e.Null,SnsFrameworkManagement:e.Null}),p=e.Record({topic:e.Opt(o),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:p}),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)}),g=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)}),f=e.Record({governance_total_potential_voting_power:e.Opt(e.Nat64),timestamp_seconds:e.Opt(e.Nat64)}),F=e.Record({treasury_metrics:e.Vec(g),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(f),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}),R=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),A=e.Record({old_target_version:e.Opt(n),new_target_version:e.Opt(n),is_advanced_automatically:e.Opt(e.Bool)}),v=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(a)}),E=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(n)})})),human_readable:e.Opt(e.Text)}),m=e.Record({id:e.Nat64}),U=e.Record({current_version:e.Opt(n),expected_version:e.Opt(n),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:m,BehindTargetVersion:e.Record({})}))}),y=e.Record({upgrade_steps:e.Opt(a)}),B=e.Record({human_readable:e.Opt(e.Text),old_target_version:e.Opt(n),new_target_version:e.Opt(n)}),G=e.Record({event:e.Opt(e.Variant({TargetVersionSet:A,UpgradeStepsReset:v,UpgradeOutcome:E,UpgradeStarted:U,UpgradeStepsRefreshed:y,TargetVersionReset:B})),timestamp_seconds:e.Opt(e.Nat64)}),S=e.Record({entries:e.Vec(G)}),_=e.Record({id:e.Vec(e.Nat8)}),V=e.Record({followees:e.Vec(_)}),q=e.Record({followees:e.Vec(e.Tuple(e.Nat64,V))}),O=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(q),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(O),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(O),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)}),w=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Opt(e.Nat64),target_version:e.Opt(n)}),N=e.Record({error_message:e.Text,error_type:e.Int32}),T=e.Record({human_readable:e.Opt(e.Text)}),ne=e.Record({e8s:e.Opt(e.Nat64)}),oe=e.Record({xdrs_per_icp:e.Opt(T),icps_per_token:e.Opt(T),tokens:e.Opt(ne)}),ae=e.Record({token:e.Opt(e.Int32),account:e.Opt(r),valuation_factors:e.Opt(oe),timestamp_seconds:e.Opt(e.Nat64)}),W=e.Record({valuation:e.Opt(ae)}),H=e.Record({archive_wasm_hash:e.Opt(e.Vec(e.Nat8)),root_wasm_hash:e.Opt(e.Vec(e.Nat8)),swap_wasm_hash:e.Opt(e.Vec(e.Nat8)),ledger_wasm_hash:e.Opt(e.Vec(e.Nat8)),governance_wasm_hash:e.Opt(e.Vec(e.Nat8)),index_wasm_hash:e.Opt(e.Vec(e.Nat8))}),re=e.Record({target_version:e.Opt(H)}),ie=e.Variant({TransferSnsTreasuryFunds:W,MintSnsTokens:W,AdvanceSnsTargetVersion:re}),ce=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),j=e.Record({basis_points:e.Opt(e.Nat64)}),I=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),Q=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 pe=e.Record({value:e.Opt(t)}),_e=e.Record({extension_canister_id:e.Opt(e.Principal),operation_name:e.Opt(e.Text),operation_arg:e.Opt(pe)}),P=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)}),D=e.Variant({Chunked:P,Bytes:e.Vec(e.Nat8)}),de=e.Record({value:e.Opt(t)}),ue=e.Record({extension_canister_id:e.Opt(e.Principal),wasm:e.Opt(D),canister_upgrade_arg:e.Opt(de)}),le=e.Record({custom_function_id_to_topic:e.Vec(e.Tuple(e.Nat64,o))}),L=e.Record({value:e.Opt(t)}),me=e.Record({chunked_canister_wasm:e.Opt(P),extension_init:e.Opt(L)}),Oe=e.Record({canister_ids:e.Vec(e.Principal)}),Ne=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),ee=e.Record({new_canister_wasm:e.Vec(e.Nat8),mode:e.Opt(e.Int32),canister_id:e.Opt(e.Principal),chunked_canister_wasm:e.Opt(P),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),te=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ge=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),se=e.Record({new_target:e.Opt(H)}),J=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),Re=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),ye=e.Record({token_symbol:e.Opt(e.Text),transfer_fee:e.Opt(e.Nat64),token_logo:e.Opt(e.Text),token_name:e.Opt(e.Text)}),fe=e.Record({motion_text:e.Text}),he=e.Variant({ManageNervousSystemParameters:h,AddGenericNervousSystemFunction:d,ManageDappCanisterSettings:Q,ExecuteExtensionOperation:_e,UpgradeExtension:ue,RemoveGenericNervousSystemFunction:e.Nat64,SetTopicsForCustomProposals:le,RegisterExtension:me,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:Oe,TransferSnsTreasuryFunds:Ne,UpgradeSnsControlledCanister:ee,DeregisterDappCanisters:te,MintSnsTokens:ge,AdvanceSnsTargetVersion:se,Unspecified:e.Record({}),ManageSnsMetadata:J,ExecuteGenericNervousSystemFunction:Re,ManageLedgerParameters:ye,Motion:fe}),b=e.Record({url:e.Text,title:e.Text,action:e.Opt(he),summary:e.Text}),ve=e.Record({current_deadline_timestamp_seconds:e.Nat64}),C=e.Record({id:e.Opt(m),payload_text_rendering:e.Opt(e.Text),topic:e.Opt(o),action:e.Nat64,failure_reason:e.Opt(N),action_auxiliary:e.Opt(ie),ballots:e.Vec(e.Tuple(e.Text,ce)),minimum_yes_proportion_of_total:e.Opt(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(I),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(b),proposer:e.Opt(_),wait_for_quiet_state:e.Opt(ve),minimum_yes_proportion_of_exercised:e.Opt(j),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),Y=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),X=e.Record({function_id:e.Nat64,followees:e.Vec(_)}),K=e.Record({to_account:e.Opt(r),percentage_to_disburse:e.Nat32}),xe=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),Se=e.Record({additional_dissolve_delay_seconds:e.Nat32}),Ve=e.Record({dissolve_timestamp_seconds:e.Nat64}),we=e.Variant({ChangeAutoStakeMaturity:xe,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:Se,SetDissolveTimestamp:Ve}),$=e.Record({operation:e.Opt(we)}),Z=e.Record({vote:e.Int32,proposal:e.Opt(m)}),Te=e.Record({alias:e.Opt(e.Text),neuron_id:e.Opt(_)}),Pe=e.Record({topic:e.Opt(o),followees:e.Vec(Te)}),be=e.Record({topic_following:e.Vec(Pe)}),Je=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({})}),Ce=e.Record({by:e.Opt(Xe)}),Fe=e.Record({permissions_to_remove:e.Opt(O),principal_id:e.Opt(e.Principal)}),Me=e.Record({permissions_to_add:e.Opt(O),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:Y,Follow:X,DisburseMaturity:K,Configure:$,RegisterVote:Z,SetFollowing:be,SyncCommand:e.Record({}),MakeProposal:b,FinalizeDisburseMaturity:Je,ClaimOrRefreshNeuron:Ce,RemoveNeuronPermissions:Fe,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)}),k=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,Pe))})),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,V)),neuron_fees_e8s:e.Nat64}),fs=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(s),cached_upgrade_steps:e.Opt(c),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,d)),metrics:e.Opt(F),maturity_modulation:e.Opt(R),upgrade_journal:e.Opt(S),mode:e.Int32,parameters:e.Opt(h),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(n),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(x),pending_version:e.Opt(w),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,C)),in_flight_commands:e.Vec(e.Tuple(e.Text,Ze)),sns_metadata:e.Opt(J),neurons:e.Vec(e.Tuple(e.Text,k)),target_version:e.Opt(n),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(n)}),nt=e.Record({}),ot=e.Record({principals:e.Vec(e.Principal)}),at=e.Record({nns_neuron_hotkeys:e.Opt(ot),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(_)}),pt=e.Record({neuron_recipes:e.Vec(ct)}),_t=e.Record({neuron_recipes:e.Opt(pt)}),dt=e.Record({id:e.Opt(_),status:e.Int32}),ut=e.Record({swap_neurons:e.Vec(dt)}),Be=e.Variant({Ok:ut,Err:e.Int32}),lt=e.Record({claim_swap_neurons_result:e.Opt(Be)}),mt=e.Record({maturity_modulation:e.Opt(R)}),Ge=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)}),Ot=e.Record({treasury_metrics:e.Opt(e.Vec(g)),voting_power_metrics:e.Opt(f),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:N}),ze=e.Record({get_metrics_result:e.Opt(Nt)}),We=e.Record({mode:e.Opt(e.Int32)}),gt=e.Record({neuron_id:e.Opt(_)}),Rt=e.Variant({Error:N,Neuron:k}),yt=e.Record({result:e.Opt(Rt)}),He=e.Record({proposal_id:e.Opt(m)}),ft=e.Variant({Error:N,Proposal:C}),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)}),xt=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),St=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}),Vt=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)}),wt=e.Record({memory_metrics:e.Opt(vt),status:xt,memory_size:e.Nat,cycles:e.Nat,settings:St,query_stats:e.Opt(Vt),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),Tt=e.Record({deployed_version:e.Opt(n),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(n)}))}),Pt=e.Record({sns_initialization_parameters:e.Text}),bt=e.Record({timers:e.Opt(s)}),Ct=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat64)}),Ft=e.Record({upgrade_journal:e.Opt(S),upgrade_steps:e.Opt(a),response_timestamp_seconds:e.Opt(e.Nat64),deployed_version:e.Opt(n),target_version:e.Opt(n),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(k)}),Et=e.Record({topic:e.Opt(o)}),Ut=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(C),include_topic_filtering:e.Opt(e.Bool)}),Gt=e.Record({}),qt=e.Variant({TreasuryManagerWithdraw:e.Null,TreasuryManagerDeposit:e.Null}),zt=e.Variant({TreasuryManager:e.Null}),Wt=e.Record({topic:e.Opt(o),operation_type:e.Opt(qt),description:e.Opt(e.Text),extension_type:e.Opt(zt)}),Ht=e.Record({spec:e.Opt(Wt),canister_id:e.Opt(e.Principal)}),jt=e.Record({extension_operations:e.Opt(e.Vec(Ht)),native_functions:e.Opt(e.Vec(d)),topic:e.Opt(o),is_critical:e.Opt(e.Bool),name:e.Opt(e.Text),description:e.Opt(e.Text),custom_functions:e.Opt(e.Vec(d))}),Qt=e.Record({uncategorized_functions:e.Opt(e.Vec(d)),topics:e.Opt(e.Vec(jt))}),Jt=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),Yt=e.Variant({Split:Y,Follow:X,DisburseMaturity:K,ClaimOrRefresh:Ce,Configure:$,RegisterVote:Z,SetFollowing:be,MakeProposal:b,StakeMaturity:Jt,RemoveNeuronPermissions:Fe,AddNeuronPermissions:Me,MergeMaturity:ke,Disburse:Ae}),Xt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(Yt)}),Kt=e.Record({created_neuron_id:e.Opt(_)}),$t=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),Zt=e.Record({refreshed_neuron_id:e.Opt(_)}),It=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),Dt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),hs=e.Record({transfer_block_height:e.Nat64}),vs=e.Variant({Error:N,Split:Kt,Follow:e.Record({}),DisburseMaturity:$t,ClaimOrRefresh:Zt,Configure:e.Record({}),RegisterVote:e.Record({}),SetFollowing:e.Record({}),MakeProposal:He,RemoveNeuronPermission:e.Record({}),StakeMaturity:It,MergeMaturity:Dt,Disburse:hs,AddNeuronPermission:e.Record({})}),xs=e.Record({command:e.Opt(vs)}),Ss=e.Record({recipient:e.Opt(r),amount_e8s:e.Opt(e.Nat64)}),Vs=e.Record({mode:e.Int32});return e.Service({add_maturity:e.Func([et],[tt],[]),advance_target_version:e.Func([st],[nt],[]),claim_swap_neurons:e.Func([_t],[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({})],[Ge],[]),get_metrics:e.Func([qe],[ze],[]),get_metrics_replicated:e.Func([qe],[ze],[]),get_mode:e.Func([e.Record({})],[We],[]),get_nervous_system_parameters:e.Func([e.Null],[h],[]),get_neuron:e.Func([gt],[yt],[]),get_proposal:e.Func([He],[ht],[]),get_root_canister_status:e.Func([e.Null],[wt],[]),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([Ct],[Ft],[]),list_nervous_system_functions:e.Func([],[Mt],[]),list_neurons:e.Func([kt],[At],[]),list_proposals:e.Func([Ut],[Bt],[]),list_topics:e.Func([Gt],[Qt],[]),manage_neuron:e.Func([Xt],[xs],[]),mint_tokens:e.Func([Ss],[e.Record({})],[]),refresh_cached_upgrade_steps:e.Func([e.Record({})],[e.Record({})],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([Vs],[e.Record({})],[]),update_neuron:e.Func([k],[e.Opt(N)],[])})};var tn=({IDL:e})=>{let t=e.Rec(),s=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),n=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)}),a=e.Record({versions:e.Vec(n)}),c=e.Record({upgrade_steps:e.Opt(a),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),o=e.Variant({DappCanisterManagement:e.Null,DaoCommunitySettings:e.Null,ApplicationBusinessLogic:e.Null,CriticalDappOperations:e.Null,TreasuryAssetManagement:e.Null,Governance:e.Null,SnsFrameworkManagement:e.Null}),p=e.Record({topic:e.Opt(o),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:p}),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)}),g=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)}),f=e.Record({governance_total_potential_voting_power:e.Opt(e.Nat64),timestamp_seconds:e.Opt(e.Nat64)}),F=e.Record({treasury_metrics:e.Vec(g),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(f),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}),R=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),A=e.Record({old_target_version:e.Opt(n),new_target_version:e.Opt(n),is_advanced_automatically:e.Opt(e.Bool)}),v=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(a)}),E=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(n)})})),human_readable:e.Opt(e.Text)}),m=e.Record({id:e.Nat64}),U=e.Record({current_version:e.Opt(n),expected_version:e.Opt(n),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:m,BehindTargetVersion:e.Record({})}))}),y=e.Record({upgrade_steps:e.Opt(a)}),B=e.Record({human_readable:e.Opt(e.Text),old_target_version:e.Opt(n),new_target_version:e.Opt(n)}),G=e.Record({event:e.Opt(e.Variant({TargetVersionSet:A,UpgradeStepsReset:v,UpgradeOutcome:E,UpgradeStarted:U,UpgradeStepsRefreshed:y,TargetVersionReset:B})),timestamp_seconds:e.Opt(e.Nat64)}),S=e.Record({entries:e.Vec(G)}),_=e.Record({id:e.Vec(e.Nat8)}),V=e.Record({followees:e.Vec(_)}),q=e.Record({followees:e.Vec(e.Tuple(e.Nat64,V))}),O=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(q),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(O),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(O),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)}),w=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Opt(e.Nat64),target_version:e.Opt(n)}),N=e.Record({error_message:e.Text,error_type:e.Int32}),T=e.Record({human_readable:e.Opt(e.Text)}),ne=e.Record({e8s:e.Opt(e.Nat64)}),oe=e.Record({xdrs_per_icp:e.Opt(T),icps_per_token:e.Opt(T),tokens:e.Opt(ne)}),ae=e.Record({token:e.Opt(e.Int32),account:e.Opt(r),valuation_factors:e.Opt(oe),timestamp_seconds:e.Opt(e.Nat64)}),W=e.Record({valuation:e.Opt(ae)}),H=e.Record({archive_wasm_hash:e.Opt(e.Vec(e.Nat8)),root_wasm_hash:e.Opt(e.Vec(e.Nat8)),swap_wasm_hash:e.Opt(e.Vec(e.Nat8)),ledger_wasm_hash:e.Opt(e.Vec(e.Nat8)),governance_wasm_hash:e.Opt(e.Vec(e.Nat8)),index_wasm_hash:e.Opt(e.Vec(e.Nat8))}),re=e.Record({target_version:e.Opt(H)}),ie=e.Variant({TransferSnsTreasuryFunds:W,MintSnsTokens:W,AdvanceSnsTargetVersion:re}),ce=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),j=e.Record({basis_points:e.Opt(e.Nat64)}),I=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),Q=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 pe=e.Record({value:e.Opt(t)}),_e=e.Record({extension_canister_id:e.Opt(e.Principal),operation_name:e.Opt(e.Text),operation_arg:e.Opt(pe)}),P=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)}),D=e.Variant({Chunked:P,Bytes:e.Vec(e.Nat8)}),de=e.Record({value:e.Opt(t)}),ue=e.Record({extension_canister_id:e.Opt(e.Principal),wasm:e.Opt(D),canister_upgrade_arg:e.Opt(de)}),le=e.Record({custom_function_id_to_topic:e.Vec(e.Tuple(e.Nat64,o))}),L=e.Record({value:e.Opt(t)}),me=e.Record({chunked_canister_wasm:e.Opt(P),extension_init:e.Opt(L)}),Oe=e.Record({canister_ids:e.Vec(e.Principal)}),Ne=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),ee=e.Record({new_canister_wasm:e.Vec(e.Nat8),mode:e.Opt(e.Int32),canister_id:e.Opt(e.Principal),chunked_canister_wasm:e.Opt(P),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),te=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ge=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),se=e.Record({new_target:e.Opt(H)}),J=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),Re=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),ye=e.Record({token_symbol:e.Opt(e.Text),transfer_fee:e.Opt(e.Nat64),token_logo:e.Opt(e.Text),token_name:e.Opt(e.Text)}),fe=e.Record({motion_text:e.Text}),he=e.Variant({ManageNervousSystemParameters:h,AddGenericNervousSystemFunction:d,ManageDappCanisterSettings:Q,ExecuteExtensionOperation:_e,UpgradeExtension:ue,RemoveGenericNervousSystemFunction:e.Nat64,SetTopicsForCustomProposals:le,RegisterExtension:me,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:Oe,TransferSnsTreasuryFunds:Ne,UpgradeSnsControlledCanister:ee,DeregisterDappCanisters:te,MintSnsTokens:ge,AdvanceSnsTargetVersion:se,Unspecified:e.Record({}),ManageSnsMetadata:J,ExecuteGenericNervousSystemFunction:Re,ManageLedgerParameters:ye,Motion:fe}),b=e.Record({url:e.Text,title:e.Text,action:e.Opt(he),summary:e.Text}),ve=e.Record({current_deadline_timestamp_seconds:e.Nat64}),C=e.Record({id:e.Opt(m),payload_text_rendering:e.Opt(e.Text),topic:e.Opt(o),action:e.Nat64,failure_reason:e.Opt(N),action_auxiliary:e.Opt(ie),ballots:e.Vec(e.Tuple(e.Text,ce)),minimum_yes_proportion_of_total:e.Opt(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(I),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(b),proposer:e.Opt(_),wait_for_quiet_state:e.Opt(ve),minimum_yes_proportion_of_exercised:e.Opt(j),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),Y=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),X=e.Record({function_id:e.Nat64,followees:e.Vec(_)}),K=e.Record({to_account:e.Opt(r),percentage_to_disburse:e.Nat32}),xe=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),Se=e.Record({additional_dissolve_delay_seconds:e.Nat32}),Ve=e.Record({dissolve_timestamp_seconds:e.Nat64}),we=e.Variant({ChangeAutoStakeMaturity:xe,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:Se,SetDissolveTimestamp:Ve}),$=e.Record({operation:e.Opt(we)}),Z=e.Record({vote:e.Int32,proposal:e.Opt(m)}),Te=e.Record({alias:e.Opt(e.Text),neuron_id:e.Opt(_)}),Pe=e.Record({topic:e.Opt(o),followees:e.Vec(Te)}),be=e.Record({topic_following:e.Vec(Pe)}),Je=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({})}),Ce=e.Record({by:e.Opt(Xe)}),Fe=e.Record({permissions_to_remove:e.Opt(O),principal_id:e.Opt(e.Principal)}),Me=e.Record({permissions_to_add:e.Opt(O),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:Y,Follow:X,DisburseMaturity:K,Configure:$,RegisterVote:Z,SetFollowing:be,SyncCommand:e.Record({}),MakeProposal:b,FinalizeDisburseMaturity:Je,ClaimOrRefreshNeuron:Ce,RemoveNeuronPermissions:Fe,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)}),k=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,Pe))})),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,V)),neuron_fees_e8s:e.Nat64}),fs=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(s),cached_upgrade_steps:e.Opt(c),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,d)),metrics:e.Opt(F),maturity_modulation:e.Opt(R),upgrade_journal:e.Opt(S),mode:e.Int32,parameters:e.Opt(h),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(n),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(x),pending_version:e.Opt(w),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,C)),in_flight_commands:e.Vec(e.Tuple(e.Text,Ze)),sns_metadata:e.Opt(J),neurons:e.Vec(e.Tuple(e.Text,k)),target_version:e.Opt(n),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(n)}),nt=e.Record({}),ot=e.Record({principals:e.Vec(e.Principal)}),at=e.Record({nns_neuron_hotkeys:e.Opt(ot),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(_)}),pt=e.Record({neuron_recipes:e.Vec(ct)}),_t=e.Record({neuron_recipes:e.Opt(pt)}),dt=e.Record({id:e.Opt(_),status:e.Int32}),ut=e.Record({swap_neurons:e.Vec(dt)}),Be=e.Variant({Ok:ut,Err:e.Int32}),lt=e.Record({claim_swap_neurons_result:e.Opt(Be)}),mt=e.Record({maturity_modulation:e.Opt(R)}),Ge=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)}),Ot=e.Record({treasury_metrics:e.Opt(e.Vec(g)),voting_power_metrics:e.Opt(f),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:N}),ze=e.Record({get_metrics_result:e.Opt(Nt)}),We=e.Record({mode:e.Opt(e.Int32)}),gt=e.Record({neuron_id:e.Opt(_)}),Rt=e.Variant({Error:N,Neuron:k}),yt=e.Record({result:e.Opt(Rt)}),He=e.Record({proposal_id:e.Opt(m)}),ft=e.Variant({Error:N,Proposal:C}),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)}),xt=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),St=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}),Vt=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)}),wt=e.Record({memory_metrics:e.Opt(vt),status:xt,memory_size:e.Nat,cycles:e.Nat,settings:St,query_stats:e.Opt(Vt),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),Tt=e.Record({deployed_version:e.Opt(n),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(n)}))}),Pt=e.Record({sns_initialization_parameters:e.Text}),bt=e.Record({timers:e.Opt(s)}),Ct=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat64)}),Ft=e.Record({upgrade_journal:e.Opt(S),upgrade_steps:e.Opt(a),response_timestamp_seconds:e.Opt(e.Nat64),deployed_version:e.Opt(n),target_version:e.Opt(n),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(k)}),Et=e.Record({topic:e.Opt(o)}),Ut=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(C),include_topic_filtering:e.Opt(e.Bool)}),Gt=e.Record({}),qt=e.Variant({TreasuryManagerWithdraw:e.Null,TreasuryManagerDeposit:e.Null}),zt=e.Variant({TreasuryManager:e.Null}),Wt=e.Record({topic:e.Opt(o),operation_type:e.Opt(qt),description:e.Opt(e.Text),extension_type:e.Opt(zt)}),Ht=e.Record({spec:e.Opt(Wt),canister_id:e.Opt(e.Principal)}),jt=e.Record({extension_operations:e.Opt(e.Vec(Ht)),native_functions:e.Opt(e.Vec(d)),topic:e.Opt(o),is_critical:e.Opt(e.Bool),name:e.Opt(e.Text),description:e.Opt(e.Text),custom_functions:e.Opt(e.Vec(d))}),Qt=e.Record({uncategorized_functions:e.Opt(e.Vec(d)),topics:e.Opt(e.Vec(jt))}),Jt=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),Yt=e.Variant({Split:Y,Follow:X,DisburseMaturity:K,ClaimOrRefresh:Ce,Configure:$,RegisterVote:Z,SetFollowing:be,MakeProposal:b,StakeMaturity:Jt,RemoveNeuronPermissions:Fe,AddNeuronPermissions:Me,MergeMaturity:ke,Disburse:Ae}),Xt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(Yt)}),Kt=e.Record({created_neuron_id:e.Opt(_)}),$t=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),Zt=e.Record({refreshed_neuron_id:e.Opt(_)}),It=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),Dt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),hs=e.Record({transfer_block_height:e.Nat64}),vs=e.Variant({Error:N,Split:Kt,Follow:e.Record({}),DisburseMaturity:$t,ClaimOrRefresh:Zt,Configure:e.Record({}),RegisterVote:e.Record({}),SetFollowing:e.Record({}),MakeProposal:He,RemoveNeuronPermission:e.Record({}),StakeMaturity:It,MergeMaturity:Dt,Disburse:hs,AddNeuronPermission:e.Record({})}),xs=e.Record({command:e.Opt(vs)}),Ss=e.Record({recipient:e.Opt(r),amount_e8s:e.Opt(e.Nat64)}),Vs=e.Record({mode:e.Int32});return e.Service({add_maturity:e.Func([et],[tt],[]),advance_target_version:e.Func([st],[nt],[]),claim_swap_neurons:e.Func([_t],[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({})],[Ge],["query"]),get_metrics:e.Func([qe],[ze],["composite_query"]),get_metrics_replicated:e.Func([qe],[ze],[]),get_mode:e.Func([e.Record({})],[We],["query"]),get_nervous_system_parameters:e.Func([e.Null],[h],["query"]),get_neuron:e.Func([gt],[yt],["query"]),get_proposal:e.Func([He],[ht],["query"]),get_root_canister_status:e.Func([e.Null],[wt],[]),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([Ct],[Ft],["query"]),list_nervous_system_functions:e.Func([],[Mt],["query"]),list_neurons:e.Func([kt],[At],["query"]),list_proposals:e.Func([Ut],[Bt],["query"]),list_topics:e.Func([Gt],[Qt],["query"]),manage_neuron:e.Func([Xt],[xs],[]),mint_tokens:e.Func([Ss],[e.Record({})],[]),refresh_cached_upgrade_steps:e.Func([e.Record({})],[e.Record({})],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([Vs],[e.Record({})],[]),update_neuron:e.Func([k],[e.Opt(N)],[])})};var bs=class e extends Kn{static create(t){let{service:s,certifiedService:n,canisterId:a}=$n({options:t,idlFactory:tn,certifiedIdlFactory:en});return new e(a,s,n)}addMaturity=async t=>{let{id:s,amountE8s:n}=t,{new_maturity_e8s:a}=await this.caller(t).add_maturity({id:sn(s),amount_e8s:sn(n)}),c=Zn(a);if(In(c)||c<n)throw new M("No maturity added")}};import{Canister as Dn,createServices as Ln}from"@dfinity/utils";var nn=({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)}),s=e.Record({extension_canister_ids:e.Vec(e.Principal)}),n=e.Record({dapp_canister_ids:e.Vec(e.Principal),timers:e.Opt(t),testflight:e.Bool,extensions:e.Opt(s),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)}),a=e.Record({canister_id:e.Principal}),c=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)}),o=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),p=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(p),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(c),status:o,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}),g=e.Record({wasm_module_hash:e.Vec(e.Nat8),chunk_hashes_list:e.Vec(e.Vec(e.Nat8)),store_canister_id:e.Principal}),f=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(g)}),F=e.Record({canister_id:e.Opt(e.Principal)}),R=e.Record({code:e.Opt(e.Int32),description:e.Text}),A=e.Variant({Ok:e.Record({}),Err:R}),v=e.Record({result:e.Opt(A)}),E=e.Record({update_canister_list:e.Opt(e.Bool)}),m=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}),U=e.Record({memory_metrics:e.Opt(c),status:o,memory_size:e.Nat,cycles:e.Nat,settings:m,query_stats:e.Opt(d),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),y=e.Record({status:e.Opt(U),canister_id:e.Opt(e.Principal)}),B=e.Record({root:e.Opt(y),swap:e.Opt(y),ledger:e.Opt(y),index:e.Opt(y),governance:e.Opt(y),dapps:e.Vec(y),archives:e.Vec(y)}),G=e.Record({timers:e.Opt(t)}),S=e.Record({root:e.Opt(e.Principal),swap:e.Opt(e.Principal),extensions:e.Opt(s),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.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)}),V=e.Record({failure_reason:e.Opt(e.Text)}),q=e.Record({canister_id:e.Opt(e.Principal)}),O=e.Record({canister_ids:e.Vec(e.Principal)}),z=e.Record({canister_id:e.Opt(e.Principal)}),h=e.Variant({Ok:e.Record({}),Err:R}),x=e.Record({result:e.Opt(h)}),w=e.Record({canister_ids:e.Opt(O),controller_principal_ids:e.Vec(e.Principal)}),N=e.Record({err:e.Opt(R),dapp_canister_id:e.Opt(e.Principal)}),T=e.Record({failed_updates:e.Vec(N)});return e.Service({canister_status:e.Func([a],[l],[]),change_canister:e.Func([f],[],[]),clean_up_failed_register_extension:e.Func([F],[v],[]),get_build_metadata:e.Func([],[e.Text],[]),get_sns_canisters_summary:e.Func([E],[B],[]),get_timers:e.Func([e.Record({})],[G],[]),list_sns_canisters:e.Func([e.Record({})],[S],[]),manage_dapp_canister_settings:e.Func([_],[V],[]),register_dapp_canister:e.Func([q],[e.Record({})],[]),register_dapp_canisters:e.Func([O],[e.Record({})],[]),register_extension:e.Func([z],[x],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_dapp_controllers:e.Func([w],[T],[])})};var on=({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)}),s=e.Record({extension_canister_ids:e.Vec(e.Principal)}),n=e.Record({dapp_canister_ids:e.Vec(e.Principal),timers:e.Opt(t),testflight:e.Bool,extensions:e.Opt(s),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)}),a=e.Record({canister_id:e.Principal}),c=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)}),o=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),p=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(p),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(c),status:o,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}),g=e.Record({wasm_module_hash:e.Vec(e.Nat8),chunk_hashes_list:e.Vec(e.Vec(e.Nat8)),store_canister_id:e.Principal}),f=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(g)}),F=e.Record({canister_id:e.Opt(e.Principal)}),R=e.Record({code:e.Opt(e.Int32),description:e.Text}),A=e.Variant({Ok:e.Record({}),Err:R}),v=e.Record({result:e.Opt(A)}),E=e.Record({update_canister_list:e.Opt(e.Bool)}),m=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}),U=e.Record({memory_metrics:e.Opt(c),status:o,memory_size:e.Nat,cycles:e.Nat,settings:m,query_stats:e.Opt(d),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),y=e.Record({status:e.Opt(U),canister_id:e.Opt(e.Principal)}),B=e.Record({root:e.Opt(y),swap:e.Opt(y),ledger:e.Opt(y),index:e.Opt(y),governance:e.Opt(y),dapps:e.Vec(y),archives:e.Vec(y)}),G=e.Record({timers:e.Opt(t)}),S=e.Record({root:e.Opt(e.Principal),swap:e.Opt(e.Principal),extensions:e.Opt(s),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.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)}),V=e.Record({failure_reason:e.Opt(e.Text)}),q=e.Record({canister_id:e.Opt(e.Principal)}),O=e.Record({canister_ids:e.Vec(e.Principal)}),z=e.Record({canister_id:e.Opt(e.Principal)}),h=e.Variant({Ok:e.Record({}),Err:R}),x=e.Record({result:e.Opt(h)}),w=e.Record({canister_ids:e.Opt(O),controller_principal_ids:e.Vec(e.Principal)}),N=e.Record({err:e.Opt(R),dapp_canister_id:e.Opt(e.Principal)}),T=e.Record({failed_updates:e.Vec(N)});return e.Service({canister_status:e.Func([a],[l],[]),change_canister:e.Func([f],[],[]),clean_up_failed_register_extension:e.Func([F],[v],[]),get_build_metadata:e.Func([],[e.Text],["query"]),get_sns_canisters_summary:e.Func([E],[B],[]),get_timers:e.Func([e.Record({})],[G],["query"]),list_sns_canisters:e.Func([e.Record({})],[S],["query"]),manage_dapp_canister_settings:e.Func([_],[V],[]),register_dapp_canister:e.Func([q],[e.Record({})],[]),register_dapp_canisters:e.Func([O],[e.Record({})],[]),register_extension:e.Func([z],[x],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_dapp_controllers:e.Func([w],[T],[])})};var ns=class e extends Dn{static create(t){let{service:s,certifiedService:n,canisterId:a}=Ln({options:t,idlFactory:on,certifiedIdlFactory:nn});return new e(a,s,n)}listSnsCanisters=({certified:t=!0})=>this.caller({certified:t}).list_sns_canisters({})};import{IcrcIndexCanister as lo,IcrcLedgerCanister as mo}from"@dfinity/ledger-icrc";import{assertNonNullish as Rs,fromNullable as ys}from"@dfinity/utils";import{bigIntToUint8Array as co,toNullable as un}from"@dfinity/utils";import{arrayOfNumberToUint8Array as oo,asciiStringToByteArray as ao,numberToUint8Array as ro}from"@dfinity/utils";function eo(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function ls(e,...t){if(!eo(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 Cs(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 an(e,t){ls(e);let s=t.outputLen;if(e.length<s)throw new Error("digestInto() expects output buffer of length at least "+s)}function os(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function ms(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Ue(e,t){return e<<32-t|e>>>t}function to(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=to(e)),ls(e),e}var us=class{};function rn(e){let t=n=>e().update(Fs(n)).digest(),s=e();return t.outputLen=s.outputLen,t.blockLen=s.blockLen,t.create=()=>e(),t}function so(e,t,s,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,s,n);let a=BigInt(32),c=BigInt(4294967295),o=Number(s>>a&c),p=Number(s&c),u=n?4:0,d=n?0:4;e.setUint32(t+u,o,n),e.setUint32(t+d,p,n)}function cn(e,t,s){return e&t^~e&s}function pn(e,t,s){return e&t^e&s^t&s}var Os=class extends us{constructor(t,s,n,a){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=s,this.padOffset=n,this.isLE=a,this.buffer=new Uint8Array(t),this.view=ms(this.buffer)}update(t){Cs(this),t=Fs(t),ls(t);let{view:s,buffer:n,blockLen:a}=this,c=t.length;for(let o=0;o<c;){let p=Math.min(a-this.pos,c-o);if(p===a){let u=ms(t);for(;a<=c-o;o+=a)this.process(u,o);continue}n.set(t.subarray(o,o+p),this.pos),this.pos+=p,o+=p,this.pos===a&&(this.process(s,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Cs(this),an(t,this),this.finished=!0;let{buffer:s,view:n,blockLen:a,isLE:c}=this,{pos:o}=this;s[o++]=128,os(this.buffer.subarray(o)),this.padOffset>a-o&&(this.process(n,0),o=0);for(let r=o;r<a;r++)s[r]=0;so(n,a-8,BigInt(this.length*8),c),this.process(n,0);let p=ms(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++)p.setUint32(4*r,l[r],c)}digest(){let{buffer:t,outputLen:s}=this;this.digestInto(t);let n=t.slice(0,s);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:s,buffer:n,length:a,finished:c,destroyed:o,pos:p}=this;return t.destroyed=o,t.finished=c,t.length=a,t.pos=p,a%s&&t.buffer.set(n),t}clone(){return this._cloneInto()}},je=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var no=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]),Qe=new Uint32Array(64),Ms=class extends Os{constructor(t=32){super(64,t,8,!1),this.A=je[0]|0,this.B=je[1]|0,this.C=je[2]|0,this.D=je[3]|0,this.E=je[4]|0,this.F=je[5]|0,this.G=je[6]|0,this.H=je[7]|0}get(){let{A:t,B:s,C:n,D:a,E:c,F:o,G:p,H:u}=this;return[t,s,n,a,c,o,p,u]}set(t,s,n,a,c,o,p,u){this.A=t|0,this.B=s|0,this.C=n|0,this.D=a|0,this.E=c|0,this.F=o|0,this.G=p|0,this.H=u|0}process(t,s){for(let r=0;r<16;r++,s+=4)Qe[r]=t.getUint32(s,!1);for(let r=16;r<64;r++){let g=Qe[r-15],f=Qe[r-2],F=Ue(g,7)^Ue(g,18)^g>>>3,R=Ue(f,17)^Ue(f,19)^f>>>10;Qe[r]=R+Qe[r-7]+F+Qe[r-16]|0}let{A:n,B:a,C:c,D:o,E:p,F:u,G:d,H:l}=this;for(let r=0;r<64;r++){let g=Ue(p,6)^Ue(p,11)^Ue(p,25),f=l+g+cn(p,u,d)+no[r]+Qe[r]|0,R=(Ue(n,2)^Ue(n,13)^Ue(n,22))+pn(n,a,c)|0;l=d,d=u,u=p,p=o+f|0,o=c,c=a,a=n,n=f+R|0}n=n+this.A|0,a=a+this.B|0,c=c+this.C|0,o=o+this.D|0,p=p+this.E|0,u=u+this.F|0,d=d+this.G|0,l=l+this.H|0,this.set(n,a,c,o,p,u,d,l)}roundClean(){os(Qe)}destroy(){this.set(0,0,0,0,0,0,0,0),os(this.buffer)}};var _n=rn(()=>new Ms);var dn=({index:e,controller:t})=>{let n=[12,...ao("neuron-stake"),...t.toUint8Array(),...ro(e)],a=_n.create();return a.update(oo(n)),a.digest()};var Ns=class{root;governance;ledger;swap;index;certified;constructor({root:t,governance:s,ledger:n,swap:a,index:c,certified:o}){this.root=t,this.governance=s,this.ledger=n,this.swap=a,this.index=c,this.certified=o}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 s=0;s<65536;s++){let n=dn({index:s,controller:t}),a={id:n},c=await this.governance.queryNeuron({neuronId:a,certified:!1});if(c===void 0&&(c=await this.governance.queryNeuron({neuronId:a,certified:!0}),c===void 0))return{account:{...this.owner,subaccount:n},index:BigInt(s)}}throw new M("No more neuron accounts available")};stakeNeuron=async({stakeE8s:t,source:s,controller:n,createdAt:a,fee:c})=>{this.assertCertified("stakeNeuron");let{account:o,index:p}=await this.nextNeuronAccount(n);if(o.subaccount===void 0)throw new M("There was an error creating the neuron subaccount");return await this.ledger.transfer({amount:t,to:{owner:o.owner,subaccount:un(o.subaccount)},from_subaccount:s.subaccount,memo:co(p),created_at_time:a,fee:c}),this.governance.claimNeuron({memo:BigInt(p),controller:n,subaccount:o.subaccount})};increaseStakeNeuron=async({stakeE8s:t,source:s,neuronId:n})=>(this.assertCertified("stakeNeuron"),await this.ledger.transfer({amount:t,to:{...this.owner,subaccount:un(Uint8Array.from(n.id))},from_subaccount:s.subaccount}),this.governance.refreshNeuron(n));getNeuronBalance=t=>{let s={...this.owner,subaccount:Uint8Array.from(t.id)};return this.ledger.balance({...s,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 M(`Call to ${t} needs to be certified`)};get owner(){return{owner:this.canisterIds.governanceCanisterId}}};import{Canister as _o,createServices as uo,fromDefinedNullable as gs,fromNullable as as}from"@dfinity/utils";var ln=({IDL:e})=>{let t=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),s=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)}),n=e.Record({serialized_representation:e.Opt(e.Text)}),a=e.Record({coefficient_intervals:e.Vec(s),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(n)}),c=e.Record({iso_codes:e.Vec(e.Text)}),o=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(a),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(c),min_icp_e8s:e.Opt(e.Nat64),max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),p=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)}),g=e.Record({code:e.Opt(e.Int32),description:e.Text}),f=e.Record({err:e.Opt(g),dapp_canister_id:e.Opt(e.Principal)}),F=e.Record({failed_updates:e.Vec(f)}),R=e.Variant({Ok:F,Err:g}),A=e.Record({possibility:e.Opt(R)}),v=e.Record({failure:e.Nat32,skipped:e.Nat32,invalid:e.Nat32,success:e.Nat32,global_failures:e.Nat32}),E=e.Record({error_message:e.Text,error_type:e.Int32}),m=e.Record({governance_error:e.Opt(E)}),U=e.Variant({Ok:m,Err:g}),y=e.Record({possibility:e.Opt(U)}),B=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)}),S=e.Variant({Ok:B,Err:G}),_=e.Record({possibility:e.Opt(S)}),V=e.Variant({Ok:e.Record({}),Err:g}),q=e.Record({possibility:e.Opt(V)}),O=e.Record({set_dapp_controllers_call_result:e.Opt(A),create_sns_neuron_recipes_result:e.Opt(v),settle_community_fund_participation_result:e.Opt(y),error_message:e.Opt(e.Text),settle_neurons_fund_participation_result:e.Opt(_),set_mode_call_result:e.Opt(q),sweep_icp_result:e.Opt(v),claim_neuron_result:e.Opt(v),sweep_sns_result:e.Opt(v)}),z=e.Record({auto_finalize_swap_response:e.Opt(O),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}),w=e.Record({icp:e.Opt(x),has_created_neuron_recipes:e.Opt(e.Bool)}),N=e.Record({buyer_state:e.Opt(w)}),T=e.Record({buyers_total:e.Nat64}),ne=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)}),oe=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),ae=e.Record({freezing_threshold:e.Nat,wasm_memory_threshold:e.Opt(e.Nat),controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),W=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)}),H=e.Record({memory_metrics:e.Opt(ne),status:oe,memory_size:e.Nat,cycles:e.Nat,settings:ae,query_stats:e.Opt(W),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),re=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)}),ie=e.Record({init:e.Opt(o)}),ce=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))}),I=e.Record({creation_time:e.Nat64,ticket_id:e.Nat64,account:e.Opt(j),amount_icp_e8s:e.Nat64}),Q=e.Record({ticket:e.Opt(I)}),pe=e.Record({error_type:e.Opt(e.Int32)}),_e=e.Variant({Ok:Q,Err:pe}),P=e.Record({result:e.Opt(_e)}),D=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)}),de=e.Record({params:e.Opt(D)}),ue=e.Record({id:e.Vec(e.Nat8)}),le=e.Record({dissolve_delay_seconds:e.Nat64,memo:e.Nat64,followees:e.Vec(ue)}),L=e.Record({principals:e.Vec(e.Principal)}),me=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,hotkeys:e.Opt(L),nns_neuron_id:e.Nat64}),Oe=e.Record({buyer_principal:e.Text}),Ne=e.Variant({CommunityFund:me,Direct:Oe}),ee=e.Record({sns:e.Opt(x),claimed_status:e.Opt(e.Int32),neuron_attributes:e.Opt(le),investor:e.Opt(Ne)}),te=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)}),ge=e.Record({has_created_neuron_recipes:e.Opt(e.Bool),hotkeys:e.Opt(L),nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),se=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,cf_neurons:e.Vec(ge)}),J=e.Record({auto_finalize_swap_response:e.Opt(O),neuron_recipes:e.Vec(ee),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(te),cf_participants:e.Vec(se),init:e.Opt(o),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,w)),params:e.Opt(D),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),Re=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)}),ye=e.Record({swap:e.Opt(J),derived:e.Opt(Re)}),fe=e.Record({timers:e.Opt(te)}),he=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat32)}),b=e.Record({cf_participants:e.Vec(se)}),ve=e.Record({offset:e.Opt(e.Nat32),limit:e.Opt(e.Nat32)}),C=e.Record({participation:e.Opt(w),participant_id:e.Opt(e.Principal)}),Y=e.Record({participants:e.Vec(C)}),X=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat32)}),K=e.Record({sns_neuron_recipes:e.Vec(ee)}),xe=e.Record({subaccount:e.Opt(e.Vec(e.Nat8)),amount_icp_e8s:e.Nat64}),Se=e.Record({min_amount_icp_e8s_included:e.Nat64,max_amount_icp_e8s_included:e.Nat64}),Ve=e.Record({invalid_user_amount:e.Opt(Se),existing_ticket:e.Opt(I),error_type:e.Int32}),we=e.Variant({Ok:Q,Err:Ve}),$=e.Record({result:e.Opt(we)}),Z=e.Record({confirmation_text:e.Opt(e.Text),buyer:e.Text}),Te=e.Record({icp_accepted_participation_e8s:e.Nat64,icp_ledger_account_balance_e8s:e.Nat64});return e.Service({error_refund_icp:e.Func([p],[r],[]),finalize_swap:e.Func([e.Record({})],[O],[]),get_auto_finalization_status:e.Func([e.Record({})],[z],[]),get_buyer_state:e.Func([h],[N],[]),get_buyers_total:e.Func([e.Record({})],[T],[]),get_canister_status:e.Func([e.Record({})],[H],[]),get_derived_state:e.Func([e.Record({})],[re],[]),get_init:e.Func([e.Record({})],[ie],[]),get_lifecycle:e.Func([e.Record({})],[ce],[]),get_open_ticket:e.Func([e.Record({})],[P],[]),get_sale_parameters:e.Func([e.Record({})],[de],[]),get_state:e.Func([e.Record({})],[ye],[]),get_timers:e.Func([e.Record({})],[fe],[]),list_community_fund_participants:e.Func([he],[b],[]),list_direct_participants:e.Func([ve],[Y],[]),list_sns_neuron_recipes:e.Func([X],[K],[]),new_sale_ticket:e.Func([xe],[$],[]),notify_payment_failure:e.Func([e.Record({})],[Q],[]),refresh_buyer_tokens:e.Func([Z],[Te],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[])})};var mn=({IDL:e})=>{let t=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),s=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)}),n=e.Record({serialized_representation:e.Opt(e.Text)}),a=e.Record({coefficient_intervals:e.Vec(s),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(n)}),c=e.Record({iso_codes:e.Vec(e.Text)}),o=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(a),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(c),min_icp_e8s:e.Opt(e.Nat64),max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),p=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)}),g=e.Record({code:e.Opt(e.Int32),description:e.Text}),f=e.Record({err:e.Opt(g),dapp_canister_id:e.Opt(e.Principal)}),F=e.Record({failed_updates:e.Vec(f)}),R=e.Variant({Ok:F,Err:g}),A=e.Record({possibility:e.Opt(R)}),v=e.Record({failure:e.Nat32,skipped:e.Nat32,invalid:e.Nat32,success:e.Nat32,global_failures:e.Nat32}),E=e.Record({error_message:e.Text,error_type:e.Int32}),m=e.Record({governance_error:e.Opt(E)}),U=e.Variant({Ok:m,Err:g}),y=e.Record({possibility:e.Opt(U)}),B=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)}),S=e.Variant({Ok:B,Err:G}),_=e.Record({possibility:e.Opt(S)}),V=e.Variant({Ok:e.Record({}),Err:g}),q=e.Record({possibility:e.Opt(V)}),O=e.Record({set_dapp_controllers_call_result:e.Opt(A),create_sns_neuron_recipes_result:e.Opt(v),settle_community_fund_participation_result:e.Opt(y),error_message:e.Opt(e.Text),settle_neurons_fund_participation_result:e.Opt(_),set_mode_call_result:e.Opt(q),sweep_icp_result:e.Opt(v),claim_neuron_result:e.Opt(v),sweep_sns_result:e.Opt(v)}),z=e.Record({auto_finalize_swap_response:e.Opt(O),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}),w=e.Record({icp:e.Opt(x),has_created_neuron_recipes:e.Opt(e.Bool)}),N=e.Record({buyer_state:e.Opt(w)}),T=e.Record({buyers_total:e.Nat64}),ne=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)}),oe=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),ae=e.Record({freezing_threshold:e.Nat,wasm_memory_threshold:e.Opt(e.Nat),controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),W=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)}),H=e.Record({memory_metrics:e.Opt(ne),status:oe,memory_size:e.Nat,cycles:e.Nat,settings:ae,query_stats:e.Opt(W),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),re=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)}),ie=e.Record({init:e.Opt(o)}),ce=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))}),I=e.Record({creation_time:e.Nat64,ticket_id:e.Nat64,account:e.Opt(j),amount_icp_e8s:e.Nat64}),Q=e.Record({ticket:e.Opt(I)}),pe=e.Record({error_type:e.Opt(e.Int32)}),_e=e.Variant({Ok:Q,Err:pe}),P=e.Record({result:e.Opt(_e)}),D=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)}),de=e.Record({params:e.Opt(D)}),ue=e.Record({id:e.Vec(e.Nat8)}),le=e.Record({dissolve_delay_seconds:e.Nat64,memo:e.Nat64,followees:e.Vec(ue)}),L=e.Record({principals:e.Vec(e.Principal)}),me=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,hotkeys:e.Opt(L),nns_neuron_id:e.Nat64}),Oe=e.Record({buyer_principal:e.Text}),Ne=e.Variant({CommunityFund:me,Direct:Oe}),ee=e.Record({sns:e.Opt(x),claimed_status:e.Opt(e.Int32),neuron_attributes:e.Opt(le),investor:e.Opt(Ne)}),te=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)}),ge=e.Record({has_created_neuron_recipes:e.Opt(e.Bool),hotkeys:e.Opt(L),nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),se=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,cf_neurons:e.Vec(ge)}),J=e.Record({auto_finalize_swap_response:e.Opt(O),neuron_recipes:e.Vec(ee),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(te),cf_participants:e.Vec(se),init:e.Opt(o),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,w)),params:e.Opt(D),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),Re=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)}),ye=e.Record({swap:e.Opt(J),derived:e.Opt(Re)}),fe=e.Record({timers:e.Opt(te)}),he=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat32)}),b=e.Record({cf_participants:e.Vec(se)}),ve=e.Record({offset:e.Opt(e.Nat32),limit:e.Opt(e.Nat32)}),C=e.Record({participation:e.Opt(w),participant_id:e.Opt(e.Principal)}),Y=e.Record({participants:e.Vec(C)}),X=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat32)}),K=e.Record({sns_neuron_recipes:e.Vec(ee)}),xe=e.Record({subaccount:e.Opt(e.Vec(e.Nat8)),amount_icp_e8s:e.Nat64}),Se=e.Record({min_amount_icp_e8s_included:e.Nat64,max_amount_icp_e8s_included:e.Nat64}),Ve=e.Record({invalid_user_amount:e.Opt(Se),existing_ticket:e.Opt(I),error_type:e.Int32}),we=e.Variant({Ok:Q,Err:Ve}),$=e.Record({result:e.Opt(we)}),Z=e.Record({confirmation_text:e.Opt(e.Text),buyer:e.Text}),Te=e.Record({icp_accepted_participation_e8s:e.Nat64,icp_ledger_account_balance_e8s:e.Nat64});return e.Service({error_refund_icp:e.Func([p],[r],[]),finalize_swap:e.Func([e.Record({})],[O],[]),get_auto_finalization_status:e.Func([e.Record({})],[z],["query"]),get_buyer_state:e.Func([h],[N],["query"]),get_buyers_total:e.Func([e.Record({})],[T],[]),get_canister_status:e.Func([e.Record({})],[H],[]),get_derived_state:e.Func([e.Record({})],[re],["query"]),get_init:e.Func([e.Record({})],[ie],["query"]),get_lifecycle:e.Func([e.Record({})],[ce],["query"]),get_open_ticket:e.Func([e.Record({})],[P],["query"]),get_sale_parameters:e.Func([e.Record({})],[de],["query"]),get_state:e.Func([e.Record({})],[ye],["query"]),get_timers:e.Func([e.Record({})],[fe],["query"]),list_community_fund_participants:e.Func([he],[b],["query"]),list_direct_participants:e.Func([ve],[Y],["query"]),list_sns_neuron_recipes:e.Func([X],[K],["query"]),new_sale_ticket:e.Func([xe],[$],[]),notify_payment_failure:e.Func([e.Record({})],[Q],[]),refresh_buyer_tokens:e.Func([Z],[Te],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[])})};var On=({subaccount:e,amount_icp_e8s:t})=>({subaccount:e===void 0?[]:[e],amount_icp_e8s:t});import{nonNullish as po}from"@dfinity/utils";var Nn=e=>{if(typeof e=="object"&&po(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 _o{static create(t){let{service:s,certifiedService:n,canisterId:a}=uo({options:t,idlFactory:mn,certifiedIdlFactory:ln});return new e(a,s,n)}state=t=>this.caller(t).get_state({});notifyPaymentFailure=async()=>{let{ticket:t}=await this.caller({certified:!0}).notify_payment_failure({});return as(t)};notifyParticipation=async t=>await this.caller({certified:!0}).refresh_buyer_tokens(t);getUserCommitment=async t=>{let{buyer_state:s}=await this.caller({certified:t.certified}).get_buyer_state({principal_id:t.principal_id});return as(s)};getDerivedState=({certified:t})=>this.caller({certified:t}).get_derived_state({});getSaleParameters=({certified:t})=>this.caller({certified:t}).get_sale_parameters({});getOpenTicket=async t=>{let{result:s}=await this.caller({certified:t.certified}).get_open_ticket({}),n=gs(s);if("Ok"in n)return as(n.Ok.ticket);let a=gs(n?.Err?.error_type);throw new _s(a)};newSaleTicket=async t=>{let s=On(t),{result:n}=await this.caller({certified:!0}).new_sale_ticket(s),a=gs(n);if("Ok"in a)return gs(a.Ok.ticket);let c=a.Err;throw new ps({errorType:c.error_type,invalidUserAmount:as(c.invalid_user_amount??[]),existingTicket:as(c.existing_ticket??[])})};getLifecycle=t=>this.caller(t).get_lifecycle({});getFinalizationStatus=async t=>{try{return await this.caller(t).get_auto_finalization_status({})}catch(s){throw Nn(s)?new cs("getFinalizationStatus"):s}}};var Pa=async({agent:e,rootOptions:t,certified:s=!0})=>{let n=ns.create({...t,agent:e}),{ledger:a,swap:c,governance:o,index:p}=await n.listSnsCanisters({certified:s}),u=ys(o),d=ys(a),l=ys(c),r=ys(p);return Rs(u),Rs(d),Rs(l),Rs(r),new Ns({root:n,governance:ss.create({canisterId:u,agent:e}),ledger:mo.create({canisterId:d,agent:e}),swap:rs.create({canisterId:l,agent:e}),index:lo.create({canisterId:r,agent:e}),certified:s})};export{jn as GetOpenTicketErrorType,Qn as NewSaleTicketResponseErrorType,ss as SnsGovernanceCanister,M as SnsGovernanceError,bs as SnsGovernanceTestCanister,Gn as SnsNeuronPermissionType,zn as SnsProposalDecisionStatus,qn as SnsProposalRewardStatus,ns as SnsRootCanister,rs as SnsSwapCanister,_s as SnsSwapGetOpenTicketError,Hn as SnsSwapLifecycle,ps as SnsSwapNewTicketError,Wn as SnsVote,Ns as SnsWrapper,cs as UnsupportedMethodError,Rn as fromCandidAction,Pa as initSnsWrapper,dn as neuronSubaccount};
1
+ import{assertNever as is,fromNullable as i,jsonReplacer as ks,toNullable as Ee}from"@dfinity/utils";var Lt=({neuronId:{id:e},command:t})=>({subaccount:e,command:[t]}),ts=({neuronId:e,operation:t})=>Lt({neuronId:e,command:{Configure:{operation:[t]}}}),As=({owner:e,subaccount:t})=>({owner:Ee(e),subaccount:t===void 0?[]:Ee({subaccount:t})}),Es=({neuronId:e,permissions:t,principal:s})=>Lt({neuronId:e,command:{AddNeuronPermissions:{permissions_to_add:[{permissions:Int32Array.from(t)}],principal_id:[s]}}}),Us=({neuronId:e,permissions:t,principal:s})=>Lt({neuronId:e,command:{RemoveNeuronPermissions:{permissions_to_remove:[{permissions:Int32Array.from(t)}],principal_id:[s]}}}),Bs=({neuronId:e,memo:t,amount:s})=>Lt({neuronId:e,command:{Split:{memo:t,amount_e8s:s}}}),Gs=({neuronId:e,amount:t,toAccount:s})=>Lt({neuronId:e,command:{Disburse:{to_account:s===void 0?[]:Ee(As(s)),amount:t===void 0?[]:[{e8s:t}]}}}),qs=e=>ts({neuronId:e,operation:{StartDissolving:{}}}),zs=e=>ts({neuronId:e,operation:{StopDissolving:{}}}),Ws=({neuronId:e,percentageToStake:t})=>Lt({neuronId:e,command:{StakeMaturity:{percentage_to_stake:Ee(t)}}}),Hs=({neuronId:e,percentageToDisburse:t,toAccount:s})=>Lt({neuronId:e,command:{DisburseMaturity:{to_account:s===void 0?[]:Ee(As(s)),percentage_to_disburse:t}}}),js=({neuronId:e,autoStake:t})=>ts({neuronId:e,operation:{ChangeAutoStakeMaturity:{requested_setting_for_auto_stake_maturity:t}}}),Qs=({neuronId:e,dissolveTimestampSeconds:t})=>ts({neuronId:e,operation:{SetDissolveTimestamp:{dissolve_timestamp_seconds:t}}}),Js=({neuronId:e,additionalDissolveDelaySeconds:t})=>ts({neuronId:e,operation:{IncreaseDissolveDelay:{additional_dissolve_delay_seconds:t}}}),Ys=({neuronId:e,functionId:t,followees:s})=>({subaccount:e.id,command:[{Follow:{function_id:t,followees:s}}]}),Xs=({neuronId:e,topicFollowing:t})=>({subaccount:e.id,command:[{SetFollowing:{topic_following:t.map(({topic:s,followees:n})=>({topic:[s],followees:n.map(({neuronId:a,alias:c})=>({neuron_id:Ee(a),alias:Ee(c)}))}))}}]}),Ks=({neuronId:e,proposalId:t,vote:s})=>({subaccount:e.id,command:[{RegisterVote:{vote:s,proposal:[t]}}]}),Ts=({subaccount:e,memo:t,controller:s})=>({subaccount:e,command:[{ClaimOrRefresh:{by:[t===void 0?{NeuronId:{}}:{MemoAndController:{memo:t,controller:Ee(s)}}]}}]}),$s=({excludeType:e,beforeProposal:t,includeRewardStatus:s,includeStatus:n,limit:a,includeTopics:c})=>({exclude_type:BigUint64Array.from(e??[]),before_proposal:Ee(t),include_reward_status:Int32Array.from(s??[]),include_status:Int32Array.from(n??[]),limit:a??10,include_topics:Ee(c?.map(o=>({topic:Ee(o)}))??[])}),Rn=e=>{if("ManageNervousSystemParameters"in e)return{ManageNervousSystemParameters:Un(e.ManageNervousSystemParameters)};if("AdvanceSnsTargetVersion"in e)return{AdvanceSnsTargetVersion:hn(e.AdvanceSnsTargetVersion)};if("AddGenericNervousSystemFunction"in e)return{AddGenericNervousSystemFunction:An(e.AddGenericNervousSystemFunction)};if("ManageDappCanisterSettings"in e)return{ManageDappCanisterSettings:vn(e.ManageDappCanisterSettings)};if("ManageLedgerParameters"in e)return{ManageLedgerParameters:fn(e.ManageLedgerParameters)};if("ExecuteExtensionOperation"in e)return{ExecuteExtensionOperation:xn(e.ExecuteExtensionOperation)};if("UpgradeExtension"in e)return{UpgradeExtension:Sn(e.UpgradeExtension)};if("SetTopicsForCustomProposals"in e)return{SetTopicsForCustomProposals:e.SetTopicsForCustomProposals};if("RegisterExtension"in e)return{RegisterExtension:Bn(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:bn(e.TransferSnsTreasuryFunds)};if("UpgradeSnsControlledCanister"in e)return{UpgradeSnsControlledCanister:Pn(e.UpgradeSnsControlledCanister)};if("DeregisterDappCanisters"in e)return{DeregisterDappCanisters:e.DeregisterDappCanisters};if("MintSnsTokens"in e)return{MintSnsTokens:Cn(e.MintSnsTokens)};if("Unspecified"in e)return{Unspecified:e.Unspecified};if("ManageSnsMetadata"in e)return{ManageSnsMetadata:yn(e.ManageSnsMetadata)};if("ExecuteGenericNervousSystemFunction"in e)return{ExecuteGenericNervousSystemFunction:e.ExecuteGenericNervousSystemFunction};if("Motion"in e)return{Motion:e.Motion};is(e,`Unknown action type ${JSON.stringify(e)}`)},yn=e=>({url:i(e.url),logo:i(e.logo),name:i(e.name),description:i(e.description)}),fn=e=>({token_symbol:i(e.token_symbol),transfer_fee:i(e.transfer_fee),token_logo:i(e.token_logo),token_name:i(e.token_name)}),hn=e=>({new_target:Fn(i(e.new_target))}),vn=e=>({freezing_threshold:i(e.freezing_threshold),wasm_memory_threshold:i(e.wasm_memory_threshold),canister_ids:e.canister_ids,reserved_cycles_limit:i(e.reserved_cycles_limit),log_visibility:i(e.log_visibility),wasm_memory_limit:i(e.wasm_memory_limit),memory_allocation:i(e.memory_allocation),compute_allocation:i(e.compute_allocation)}),xn=e=>({extension_canister_id:i(e.extension_canister_id),operation_name:i(e.operation_name),operation_arg:Vn(i(e.operation_arg))}),Sn=e=>({extension_canister_id:i(e.extension_canister_id),wasm:Tn(i(e.wasm)),canister_upgrade_arg:wn(i(e.canister_upgrade_arg))}),Ps=e=>({wasm_module_hash:e.wasm_module_hash,store_canister_id:i(e.store_canister_id),chunk_hashes_list:e.chunk_hashes_list}),Vn=e=>Zs(e),wn=e=>Zs(e),Zs=e=>{if(e===void 0)return;let t=i(e.value);return{value:t===void 0?void 0:ws(t)}},ws=e=>{if("Int"in e)return{Int:e.Int};if("Nat"in e)return{Nat:e.Nat};if("Blob"in e)return{Blob:e.Blob};if("Bool"in e)return{Bool:e.Bool};if("Text"in e)return{Text:e.Text};if("Array"in e)return{Array:e.Array.map(ws)};if("Map"in e)return{Map:e.Map.map(([t,s])=>[t,ws(s)])};is(e,`Unknown PreciseValue ${JSON.stringify(e,ks)}`)},Tn=e=>{if(e!==void 0){if("Chunked"in e)return{Chunked:Ps(e.Chunked)};if("Bytes"in e)return{Bytes:e.Bytes};is(e,`Unknown Wasm type ${JSON.stringify(e,ks)}`)}},Pn=e=>({new_canister_wasm:e.new_canister_wasm,chunked_canister_wasm:e.chunked_canister_wasm?.[0]!==void 0?Ps(e.chunked_canister_wasm[0]):void 0,canister_id:i(e.canister_id),canister_upgrade_arg:i(e.canister_upgrade_arg),mode:i(e.mode)}),bn=e=>({from_treasury:e.from_treasury,to_principal:i(e.to_principal),to_subaccount:i(e.to_subaccount),memo:i(e.memo),amount_e8s:e.amount_e8s}),Cn=e=>({to_principal:i(e.to_principal),to_subaccount:i(e.to_subaccount),memo:i(e.memo),amount_e8s:i(e.amount_e8s)}),Fn=e=>{if(e!==void 0)return{archive_wasm_hash:i(e.archive_wasm_hash),root_wasm_hash:i(e.root_wasm_hash),swap_wasm_hash:i(e.swap_wasm_hash),ledger_wasm_hash:i(e.ledger_wasm_hash),governance_wasm_hash:i(e.governance_wasm_hash),index_wasm_hash:i(e.index_wasm_hash)}},Mn=e=>({validator_canister_id:i(e.validator_canister_id),target_canister_id:i(e.target_canister_id),validator_method_name:i(e.validator_method_name),target_method_name:i(e.target_method_name),topic:i(e.topic)}),kn=e=>{if(e!==void 0){if("NativeNervousSystemFunction"in e)return{NativeNervousSystemFunction:e.NativeNervousSystemFunction};if("GenericNervousSystemFunction"in e)return{GenericNervousSystemFunction:Mn(e.GenericNervousSystemFunction)};is(e,`Unknown FunctionType ${JSON.stringify(e)}`)}},An=e=>({id:e.id,name:e.name,description:i(e.description),function_type:kn(i(e.function_type))}),En=e=>e&&{final_reward_rate_basis_points:i(e.final_reward_rate_basis_points),initial_reward_rate_basis_points:i(e.initial_reward_rate_basis_points),reward_rate_transition_duration_seconds:i(e.reward_rate_transition_duration_seconds),round_duration_seconds:i(e.round_duration_seconds)},Un=e=>({default_followees:i(e.default_followees),max_dissolve_delay_seconds:i(e.max_dissolve_delay_seconds),max_dissolve_delay_bonus_percentage:i(e.max_dissolve_delay_bonus_percentage),max_followees_per_function:i(e.max_followees_per_function),neuron_claimer_permissions:i(e.neuron_claimer_permissions),neuron_minimum_stake_e8s:i(e.neuron_minimum_stake_e8s),max_neuron_age_for_age_bonus:i(e.max_neuron_age_for_age_bonus),initial_voting_period_seconds:i(e.initial_voting_period_seconds),neuron_minimum_dissolve_delay_to_vote_seconds:i(e.neuron_minimum_dissolve_delay_to_vote_seconds),reject_cost_e8s:i(e.reject_cost_e8s),max_proposals_to_keep_per_action:i(e.max_proposals_to_keep_per_action),wait_for_quiet_deadline_increase_seconds:i(e.wait_for_quiet_deadline_increase_seconds),max_number_of_neurons:i(e.max_number_of_neurons),transaction_fee_e8s:i(e.transaction_fee_e8s),max_number_of_proposals_with_ballots:i(e.max_number_of_proposals_with_ballots),max_age_bonus_percentage:i(e.max_age_bonus_percentage),neuron_grantable_permissions:i(e.neuron_grantable_permissions),voting_rewards_parameters:En(i(e.voting_rewards_parameters)),max_number_of_principals_per_neuron:i(e.max_number_of_principals_per_neuron),automatically_advance_target_version:i(e.automatically_advance_target_version)}),Bn=e=>({chunked_canister_wasm:e.chunked_canister_wasm?.[0]!==void 0?Ps(e.chunked_canister_wasm[0]):void 0,extension_init:i(e.extension_init)});var Gn=(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))(Gn||{}),qn=(a=>(a[a.PROPOSAL_REWARD_STATUS_UNSPECIFIED=0]="PROPOSAL_REWARD_STATUS_UNSPECIFIED",a[a.PROPOSAL_REWARD_STATUS_ACCEPT_VOTES=1]="PROPOSAL_REWARD_STATUS_ACCEPT_VOTES",a[a.PROPOSAL_REWARD_STATUS_READY_TO_SETTLE=2]="PROPOSAL_REWARD_STATUS_READY_TO_SETTLE",a[a.PROPOSAL_REWARD_STATUS_SETTLED=3]="PROPOSAL_REWARD_STATUS_SETTLED",a))(qn||{}),zn=(o=>(o[o.PROPOSAL_DECISION_STATUS_UNSPECIFIED=0]="PROPOSAL_DECISION_STATUS_UNSPECIFIED",o[o.PROPOSAL_DECISION_STATUS_OPEN=1]="PROPOSAL_DECISION_STATUS_OPEN",o[o.PROPOSAL_DECISION_STATUS_REJECTED=2]="PROPOSAL_DECISION_STATUS_REJECTED",o[o.PROPOSAL_DECISION_STATUS_ADOPTED=3]="PROPOSAL_DECISION_STATUS_ADOPTED",o[o.PROPOSAL_DECISION_STATUS_EXECUTED=4]="PROPOSAL_DECISION_STATUS_EXECUTED",o[o.PROPOSAL_DECISION_STATUS_FAILED=5]="PROPOSAL_DECISION_STATUS_FAILED",o))(zn||{}),Wn=(n=>(n[n.Unspecified=0]="Unspecified",n[n.Yes=1]="Yes",n[n.No=2]="No",n))(Wn||{});var Hn=(o=>(o[o.Unspecified=0]="Unspecified",o[o.Pending=1]="Pending",o[o.Open=2]="Open",o[o.Committed=3]="Committed",o[o.Aborted=4]="Aborted",o[o.Adopted=5]="Adopted",o))(Hn||{}),jn=(n=>(n[n.TYPE_UNSPECIFIED=0]="TYPE_UNSPECIFIED",n[n.TYPE_SALE_NOT_OPEN=1]="TYPE_SALE_NOT_OPEN",n[n.TYPE_SALE_CLOSED=2]="TYPE_SALE_CLOSED",n))(jn||{}),Qn=(p=>(p[p.TYPE_UNSPECIFIED=0]="TYPE_UNSPECIFIED",p[p.TYPE_SALE_NOT_OPEN=1]="TYPE_SALE_NOT_OPEN",p[p.TYPE_SALE_CLOSED=2]="TYPE_SALE_CLOSED",p[p.TYPE_TICKET_EXISTS=3]="TYPE_TICKET_EXISTS",p[p.TYPE_INVALID_USER_AMOUNT=4]="TYPE_INVALID_USER_AMOUNT",p[p.TYPE_INVALID_SUBACCOUNT=5]="TYPE_INVALID_SUBACCOUNT",p[p.TYPE_INVALID_PRINCIPAL=6]="TYPE_INVALID_PRINCIPAL",p))(Qn||{});var cs=class extends Error{constructor(s){super();this.methodName=s}};var b=class extends Error{};var ps=class extends Error{errorType;invalidUserAmount;existingTicket;constructor({errorType:t,invalidUserAmount:s,existingTicket:n}){super(),this.errorType=t,this.invalidUserAmount=s,this.existingTicket=n}},_s=class extends Error{constructor(s){super();this.errorType=s}};import{Canister as Yn,assertPercentageNumber as Ls,createServices as Xn,fromNullable as es,toNullable as ds}from"@dfinity/utils";var Is=({IDL:e})=>{let t=e.Rec(),s=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),n=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)}),a=e.Record({versions:e.Vec(n)}),c=e.Record({upgrade_steps:e.Opt(a),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),o=e.Variant({DappCanisterManagement:e.Null,DaoCommunitySettings:e.Null,ApplicationBusinessLogic:e.Null,CriticalDappOperations:e.Null,TreasuryAssetManagement:e.Null,Governance:e.Null,SnsFrameworkManagement:e.Null}),p=e.Record({topic:e.Opt(o),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:p}),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)}),P=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)}),F=e.Record({old_target_version:e.Opt(n),new_target_version:e.Opt(n),is_advanced_automatically:e.Opt(e.Bool)}),O=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(a)}),M=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(n)})})),human_readable:e.Opt(e.Text)}),m=e.Record({id:e.Nat64}),k=e.Record({current_version:e.Opt(n),expected_version:e.Opt(n),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:m,BehindTargetVersion:e.Record({})}))}),A=e.Record({upgrade_steps:e.Opt(a)}),E=e.Record({human_readable:e.Opt(e.Text),old_target_version:e.Opt(n),new_target_version:e.Opt(n)}),U=e.Record({event:e.Opt(e.Variant({TargetVersionSet:F,UpgradeStepsReset:O,UpgradeOutcome:M,UpgradeStarted:k,UpgradeStepsRefreshed:A,TargetVersionReset:E})),timestamp_seconds:e.Opt(e.Nat64)}),v=e.Record({entries:e.Vec(U)}),_=e.Record({id:e.Vec(e.Nat8)}),x=e.Record({followees:e.Vec(_)}),B=e.Record({followees:e.Vec(e.Tuple(e.Nat64,x))}),g=e.Record({permissions:e.Vec(e.Int32)}),G=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(g),neuron_minimum_stake_e8s:e.Opt(e.Nat64),max_neuron_age_for_age_bonus:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),reject_cost_e8s:e.Opt(e.Nat64),max_proposals_to_keep_per_action:e.Opt(e.Nat32),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),max_number_of_neurons:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),max_number_of_proposals_with_ballots:e.Opt(e.Nat64),max_age_bonus_percentage:e.Opt(e.Nat64),neuron_grantable_permissions:e.Opt(g),voting_rewards_parameters:e.Opt(G),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)}),q=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Opt(e.Nat64),target_version:e.Opt(n)}),R=e.Record({error_message:e.Text,error_type:e.Int32}),z=e.Record({human_readable:e.Opt(e.Text)}),ne=e.Record({e8s:e.Opt(e.Nat64)}),oe=e.Record({xdrs_per_icp:e.Opt(z),icps_per_token:e.Opt(z),tokens:e.Opt(ne)}),ae=e.Record({token:e.Opt(e.Int32),account:e.Opt(r),valuation_factors:e.Opt(oe),timestamp_seconds:e.Opt(e.Nat64)}),W=e.Record({valuation:e.Opt(ae)}),H=e.Record({archive_wasm_hash:e.Opt(e.Vec(e.Nat8)),root_wasm_hash:e.Opt(e.Vec(e.Nat8)),swap_wasm_hash:e.Opt(e.Vec(e.Nat8)),ledger_wasm_hash:e.Opt(e.Vec(e.Nat8)),governance_wasm_hash:e.Opt(e.Vec(e.Nat8)),index_wasm_hash:e.Opt(e.Vec(e.Nat8))}),re=e.Record({target_version:e.Opt(H)}),ie=e.Variant({TransferSnsTreasuryFunds:W,MintSnsTokens:W,AdvanceSnsTargetVersion:re}),ce=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),j=e.Record({basis_points:e.Opt(e.Nat64)}),I=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),Q=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 pe=e.Record({value:e.Opt(t)}),_e=e.Record({extension_canister_id:e.Opt(e.Principal),operation_name:e.Opt(e.Text),operation_arg:e.Opt(pe)}),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)}),D=e.Variant({Chunked:V,Bytes:e.Vec(e.Nat8)}),de=e.Record({value:e.Opt(t)}),ue=e.Record({extension_canister_id:e.Opt(e.Principal),wasm:e.Opt(D),canister_upgrade_arg:e.Opt(de)}),le=e.Record({custom_function_id_to_topic:e.Vec(e.Tuple(e.Nat64,o))}),L=e.Record({value:e.Opt(t)}),me=e.Record({chunked_canister_wasm:e.Opt(V),extension_init:e.Opt(L)}),Oe=e.Record({canister_ids:e.Vec(e.Principal)}),Ne=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),ee=e.Record({new_canister_wasm:e.Vec(e.Nat8),mode:e.Opt(e.Int32),canister_id:e.Opt(e.Principal),chunked_canister_wasm:e.Opt(V),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),te=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ge=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),se=e.Record({new_target:e.Opt(H)}),J=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),Re=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),ye=e.Record({token_symbol:e.Opt(e.Text),transfer_fee:e.Opt(e.Nat64),token_logo:e.Opt(e.Text),token_name:e.Opt(e.Text)}),fe=e.Record({motion_text:e.Text}),he=e.Variant({ManageNervousSystemParameters:h,AddGenericNervousSystemFunction:d,ManageDappCanisterSettings:Q,ExecuteExtensionOperation:_e,UpgradeExtension:ue,RemoveGenericNervousSystemFunction:e.Nat64,SetTopicsForCustomProposals:le,RegisterExtension:me,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:Oe,TransferSnsTreasuryFunds:Ne,UpgradeSnsControlledCanister:ee,DeregisterDappCanisters:te,MintSnsTokens:ge,AdvanceSnsTargetVersion:se,Unspecified:e.Record({}),ManageSnsMetadata:J,ExecuteGenericNervousSystemFunction:Re,ManageLedgerParameters:ye,Motion:fe}),w=e.Record({url:e.Text,title:e.Text,action:e.Opt(he),summary:e.Text}),ve=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(o),action:e.Nat64,failure_reason:e.Opt(R),action_auxiliary:e.Opt(ie),ballots:e.Vec(e.Tuple(e.Text,ce)),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(I),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(w),proposer:e.Opt(_),wait_for_quiet_state:e.Opt(ve),minimum_yes_proportion_of_exercised:e.Opt(j),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),Y=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),X=e.Record({function_id:e.Nat64,followees:e.Vec(_)}),K=e.Record({to_account:e.Opt(r),percentage_to_disburse:e.Nat32}),xe=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),Se=e.Record({additional_dissolve_delay_seconds:e.Nat32}),Ve=e.Record({dissolve_timestamp_seconds:e.Nat64}),we=e.Variant({ChangeAutoStakeMaturity:xe,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:Se,SetDissolveTimestamp:Ve}),$=e.Record({operation:e.Opt(we)}),Z=e.Record({vote:e.Int32,proposal:e.Opt(m)}),Te=e.Record({alias:e.Opt(e.Text),neuron_id:e.Opt(_)}),Pe=e.Record({topic:e.Opt(o),followees:e.Vec(Te)}),be=e.Record({topic_following:e.Vec(Pe)}),Je=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({})}),Ce=e.Record({by:e.Opt(Xe)}),Fe=e.Record({permissions_to_remove:e.Opt(g),principal_id:e.Opt(e.Principal)}),Me=e.Record({permissions_to_add:e.Opt(g),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:Y,Follow:X,DisburseMaturity:K,Configure:$,RegisterVote:Z,SetFollowing:be,SyncCommand:e.Record({}),MakeProposal:w,FinalizeDisburseMaturity:Je,ClaimOrRefreshNeuron:Ce,RemoveNeuronPermissions:Fe,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)}),C=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,Pe))})),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,x)),neuron_fees_e8s:e.Nat64}),fs=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(s),cached_upgrade_steps:e.Opt(c),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,d)),metrics:e.Opt(P),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(n),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(S),pending_version:e.Opt(q),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,Ze)),sns_metadata:e.Opt(J),neurons:e.Vec(e.Tuple(e.Text,C)),target_version:e.Opt(n),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({})}),nt=e.Record({neuron_ids:e.Vec(_)}),ot=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(nt),neuron_id:e.Opt(_)}),at=e.Record({neuron_recipes:e.Vec(ot)}),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)}),pt=e.Variant({Ok:ct,Err:e.Int32}),_t=e.Record({claim_swap_neurons_result:e.Opt(pt)}),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)}),Be=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:R}),Ge=e.Record({get_metrics_result:e.Opt(mt)}),qe=e.Record({mode:e.Opt(e.Int32)}),Ot=e.Record({neuron_id:e.Opt(_)}),Nt=e.Variant({Error:R,Neuron:C}),ze=e.Record({result:e.Opt(Nt)}),We=e.Record({proposal_id:e.Opt(m)}),gt=e.Variant({Error:R,Proposal:T}),Rt=e.Record({result:e.Opt(gt)}),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)}),He=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:He,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))}),xt=e.Record({deployed_version:e.Opt(n),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(n)}))}),St=e.Record({sns_initialization_parameters:e.Text}),Vt=e.Record({timers:e.Opt(s)}),wt=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat64)}),Tt=e.Record({upgrade_journal:e.Opt(v),upgrade_steps:e.Opt(a),response_timestamp_seconds:e.Opt(e.Nat64),deployed_version:e.Opt(n),target_version:e.Opt(n),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(_)}),Ct=e.Record({neurons:e.Vec(C)}),Ft=e.Record({topic:e.Opt(o)}),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(Ft)),include_status:e.Vec(e.Int32)}),kt=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(T),include_topic_filtering:e.Opt(e.Bool)}),At=e.Record({}),Et=e.Variant({TreasuryManagerWithdraw:e.Null,TreasuryManagerDeposit:e.Null}),Ut=e.Variant({TreasuryManager:e.Null}),Bt=e.Record({topic:e.Opt(o),operation_type:e.Opt(Et),description:e.Opt(e.Text),extension_type:e.Opt(Ut)}),Gt=e.Record({spec:e.Opt(Bt),canister_id:e.Opt(e.Principal)}),qt=e.Record({extension_operations:e.Opt(e.Vec(Gt)),native_functions:e.Opt(e.Vec(d)),topic:e.Opt(o),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(qt))}),Wt=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),Ht=e.Variant({Split:Y,Follow:X,DisburseMaturity:K,ClaimOrRefresh:Ce,Configure:$,RegisterVote:Z,SetFollowing:be,MakeProposal:w,StakeMaturity:Wt,RemoveNeuronPermissions:Fe,AddNeuronPermissions:Me,MergeMaturity:ke,Disburse:Ae}),jt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(Ht)}),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}),$t=e.Record({transfer_block_height:e.Nat64}),Zt=e.Variant({Error:R,Split:Qt,Follow:e.Record({}),DisburseMaturity:Jt,ClaimOrRefresh:Yt,Configure:e.Record({}),RegisterVote:e.Record({}),SetFollowing:e.Record({}),MakeProposal:We,RemoveNeuronPermission:e.Record({}),StakeMaturity:Xt,MergeMaturity:Kt,Disburse:$t,AddNeuronPermission:e.Record({})}),It=e.Record({command:e.Opt(Zt)}),Dt=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([rt],[_t],[]),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({})],[dt],[]),get_metadata:e.Func([e.Record({})],[ut],[]),get_metrics:e.Func([Be],[Ge],[]),get_metrics_replicated:e.Func([Be],[Ge],[]),get_mode:e.Func([e.Record({})],[qe],[]),get_nervous_system_parameters:e.Func([e.Null],[h],[]),get_neuron:e.Func([Ot],[ze],[]),get_proposal:e.Func([We],[Rt],[]),get_root_canister_status:e.Func([e.Null],[vt],[]),get_running_sns_version:e.Func([e.Record({})],[xt],[]),get_sns_initialization_parameters:e.Func([e.Record({})],[St],[]),get_timers:e.Func([e.Record({})],[Vt],[]),get_upgrade_journal:e.Func([wt],[Tt],[]),list_nervous_system_functions:e.Func([],[Pt],[]),list_neurons:e.Func([bt],[Ct],[]),list_proposals:e.Func([Mt],[kt],[]),list_topics:e.Func([At],[zt],[]),manage_neuron:e.Func([jt],[It],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([Dt],[e.Record({})],[])})};var Ds=({IDL:e})=>{let t=e.Rec(),s=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),n=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)}),a=e.Record({versions:e.Vec(n)}),c=e.Record({upgrade_steps:e.Opt(a),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),o=e.Variant({DappCanisterManagement:e.Null,DaoCommunitySettings:e.Null,ApplicationBusinessLogic:e.Null,CriticalDappOperations:e.Null,TreasuryAssetManagement:e.Null,Governance:e.Null,SnsFrameworkManagement:e.Null}),p=e.Record({topic:e.Opt(o),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:p}),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)}),P=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)}),F=e.Record({old_target_version:e.Opt(n),new_target_version:e.Opt(n),is_advanced_automatically:e.Opt(e.Bool)}),O=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(a)}),M=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(n)})})),human_readable:e.Opt(e.Text)}),m=e.Record({id:e.Nat64}),k=e.Record({current_version:e.Opt(n),expected_version:e.Opt(n),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:m,BehindTargetVersion:e.Record({})}))}),A=e.Record({upgrade_steps:e.Opt(a)}),E=e.Record({human_readable:e.Opt(e.Text),old_target_version:e.Opt(n),new_target_version:e.Opt(n)}),U=e.Record({event:e.Opt(e.Variant({TargetVersionSet:F,UpgradeStepsReset:O,UpgradeOutcome:M,UpgradeStarted:k,UpgradeStepsRefreshed:A,TargetVersionReset:E})),timestamp_seconds:e.Opt(e.Nat64)}),v=e.Record({entries:e.Vec(U)}),_=e.Record({id:e.Vec(e.Nat8)}),x=e.Record({followees:e.Vec(_)}),B=e.Record({followees:e.Vec(e.Tuple(e.Nat64,x))}),g=e.Record({permissions:e.Vec(e.Int32)}),G=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(g),neuron_minimum_stake_e8s:e.Opt(e.Nat64),max_neuron_age_for_age_bonus:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),reject_cost_e8s:e.Opt(e.Nat64),max_proposals_to_keep_per_action:e.Opt(e.Nat32),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),max_number_of_neurons:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),max_number_of_proposals_with_ballots:e.Opt(e.Nat64),max_age_bonus_percentage:e.Opt(e.Nat64),neuron_grantable_permissions:e.Opt(g),voting_rewards_parameters:e.Opt(G),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)}),q=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Opt(e.Nat64),target_version:e.Opt(n)}),R=e.Record({error_message:e.Text,error_type:e.Int32}),z=e.Record({human_readable:e.Opt(e.Text)}),ne=e.Record({e8s:e.Opt(e.Nat64)}),oe=e.Record({xdrs_per_icp:e.Opt(z),icps_per_token:e.Opt(z),tokens:e.Opt(ne)}),ae=e.Record({token:e.Opt(e.Int32),account:e.Opt(r),valuation_factors:e.Opt(oe),timestamp_seconds:e.Opt(e.Nat64)}),W=e.Record({valuation:e.Opt(ae)}),H=e.Record({archive_wasm_hash:e.Opt(e.Vec(e.Nat8)),root_wasm_hash:e.Opt(e.Vec(e.Nat8)),swap_wasm_hash:e.Opt(e.Vec(e.Nat8)),ledger_wasm_hash:e.Opt(e.Vec(e.Nat8)),governance_wasm_hash:e.Opt(e.Vec(e.Nat8)),index_wasm_hash:e.Opt(e.Vec(e.Nat8))}),re=e.Record({target_version:e.Opt(H)}),ie=e.Variant({TransferSnsTreasuryFunds:W,MintSnsTokens:W,AdvanceSnsTargetVersion:re}),ce=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),j=e.Record({basis_points:e.Opt(e.Nat64)}),I=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),Q=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 pe=e.Record({value:e.Opt(t)}),_e=e.Record({extension_canister_id:e.Opt(e.Principal),operation_name:e.Opt(e.Text),operation_arg:e.Opt(pe)}),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)}),D=e.Variant({Chunked:V,Bytes:e.Vec(e.Nat8)}),de=e.Record({value:e.Opt(t)}),ue=e.Record({extension_canister_id:e.Opt(e.Principal),wasm:e.Opt(D),canister_upgrade_arg:e.Opt(de)}),le=e.Record({custom_function_id_to_topic:e.Vec(e.Tuple(e.Nat64,o))}),L=e.Record({value:e.Opt(t)}),me=e.Record({chunked_canister_wasm:e.Opt(V),extension_init:e.Opt(L)}),Oe=e.Record({canister_ids:e.Vec(e.Principal)}),Ne=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),ee=e.Record({new_canister_wasm:e.Vec(e.Nat8),mode:e.Opt(e.Int32),canister_id:e.Opt(e.Principal),chunked_canister_wasm:e.Opt(V),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),te=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ge=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),se=e.Record({new_target:e.Opt(H)}),J=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),Re=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),ye=e.Record({token_symbol:e.Opt(e.Text),transfer_fee:e.Opt(e.Nat64),token_logo:e.Opt(e.Text),token_name:e.Opt(e.Text)}),fe=e.Record({motion_text:e.Text}),he=e.Variant({ManageNervousSystemParameters:h,AddGenericNervousSystemFunction:d,ManageDappCanisterSettings:Q,ExecuteExtensionOperation:_e,UpgradeExtension:ue,RemoveGenericNervousSystemFunction:e.Nat64,SetTopicsForCustomProposals:le,RegisterExtension:me,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:Oe,TransferSnsTreasuryFunds:Ne,UpgradeSnsControlledCanister:ee,DeregisterDappCanisters:te,MintSnsTokens:ge,AdvanceSnsTargetVersion:se,Unspecified:e.Record({}),ManageSnsMetadata:J,ExecuteGenericNervousSystemFunction:Re,ManageLedgerParameters:ye,Motion:fe}),w=e.Record({url:e.Text,title:e.Text,action:e.Opt(he),summary:e.Text}),ve=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(o),action:e.Nat64,failure_reason:e.Opt(R),action_auxiliary:e.Opt(ie),ballots:e.Vec(e.Tuple(e.Text,ce)),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(I),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(w),proposer:e.Opt(_),wait_for_quiet_state:e.Opt(ve),minimum_yes_proportion_of_exercised:e.Opt(j),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),Y=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),X=e.Record({function_id:e.Nat64,followees:e.Vec(_)}),K=e.Record({to_account:e.Opt(r),percentage_to_disburse:e.Nat32}),xe=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),Se=e.Record({additional_dissolve_delay_seconds:e.Nat32}),Ve=e.Record({dissolve_timestamp_seconds:e.Nat64}),we=e.Variant({ChangeAutoStakeMaturity:xe,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:Se,SetDissolveTimestamp:Ve}),$=e.Record({operation:e.Opt(we)}),Z=e.Record({vote:e.Int32,proposal:e.Opt(m)}),Te=e.Record({alias:e.Opt(e.Text),neuron_id:e.Opt(_)}),Pe=e.Record({topic:e.Opt(o),followees:e.Vec(Te)}),be=e.Record({topic_following:e.Vec(Pe)}),Je=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({})}),Ce=e.Record({by:e.Opt(Xe)}),Fe=e.Record({permissions_to_remove:e.Opt(g),principal_id:e.Opt(e.Principal)}),Me=e.Record({permissions_to_add:e.Opt(g),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:Y,Follow:X,DisburseMaturity:K,Configure:$,RegisterVote:Z,SetFollowing:be,SyncCommand:e.Record({}),MakeProposal:w,FinalizeDisburseMaturity:Je,ClaimOrRefreshNeuron:Ce,RemoveNeuronPermissions:Fe,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)}),C=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,Pe))})),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,x)),neuron_fees_e8s:e.Nat64}),fs=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(s),cached_upgrade_steps:e.Opt(c),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,d)),metrics:e.Opt(P),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(n),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(S),pending_version:e.Opt(q),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,Ze)),sns_metadata:e.Opt(J),neurons:e.Vec(e.Tuple(e.Text,C)),target_version:e.Opt(n),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({})}),nt=e.Record({neuron_ids:e.Vec(_)}),ot=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(nt),neuron_id:e.Opt(_)}),at=e.Record({neuron_recipes:e.Vec(ot)}),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)}),pt=e.Variant({Ok:ct,Err:e.Int32}),_t=e.Record({claim_swap_neurons_result:e.Opt(pt)}),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)}),Be=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:R}),Ge=e.Record({get_metrics_result:e.Opt(mt)}),qe=e.Record({mode:e.Opt(e.Int32)}),Ot=e.Record({neuron_id:e.Opt(_)}),Nt=e.Variant({Error:R,Neuron:C}),ze=e.Record({result:e.Opt(Nt)}),We=e.Record({proposal_id:e.Opt(m)}),gt=e.Variant({Error:R,Proposal:T}),Rt=e.Record({result:e.Opt(gt)}),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)}),He=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:He,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))}),xt=e.Record({deployed_version:e.Opt(n),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(n)}))}),St=e.Record({sns_initialization_parameters:e.Text}),Vt=e.Record({timers:e.Opt(s)}),wt=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat64)}),Tt=e.Record({upgrade_journal:e.Opt(v),upgrade_steps:e.Opt(a),response_timestamp_seconds:e.Opt(e.Nat64),deployed_version:e.Opt(n),target_version:e.Opt(n),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(_)}),Ct=e.Record({neurons:e.Vec(C)}),Ft=e.Record({topic:e.Opt(o)}),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(Ft)),include_status:e.Vec(e.Int32)}),kt=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(T),include_topic_filtering:e.Opt(e.Bool)}),At=e.Record({}),Et=e.Variant({TreasuryManagerWithdraw:e.Null,TreasuryManagerDeposit:e.Null}),Ut=e.Variant({TreasuryManager:e.Null}),Bt=e.Record({topic:e.Opt(o),operation_type:e.Opt(Et),description:e.Opt(e.Text),extension_type:e.Opt(Ut)}),Gt=e.Record({spec:e.Opt(Bt),canister_id:e.Opt(e.Principal)}),qt=e.Record({extension_operations:e.Opt(e.Vec(Gt)),native_functions:e.Opt(e.Vec(d)),topic:e.Opt(o),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(qt))}),Wt=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),Ht=e.Variant({Split:Y,Follow:X,DisburseMaturity:K,ClaimOrRefresh:Ce,Configure:$,RegisterVote:Z,SetFollowing:be,MakeProposal:w,StakeMaturity:Wt,RemoveNeuronPermissions:Fe,AddNeuronPermissions:Me,MergeMaturity:ke,Disburse:Ae}),jt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(Ht)}),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}),$t=e.Record({transfer_block_height:e.Nat64}),Zt=e.Variant({Error:R,Split:Qt,Follow:e.Record({}),DisburseMaturity:Jt,ClaimOrRefresh:Yt,Configure:e.Record({}),RegisterVote:e.Record({}),SetFollowing:e.Record({}),MakeProposal:We,RemoveNeuronPermission:e.Record({}),StakeMaturity:Xt,MergeMaturity:Kt,Disburse:$t,AddNeuronPermission:e.Record({})}),It=e.Record({command:e.Opt(Zt)}),Dt=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([rt],[_t],[]),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({})],[dt],[]),get_metadata:e.Func([e.Record({})],[ut],["query"]),get_metrics:e.Func([Be],[Ge],["composite_query"]),get_metrics_replicated:e.Func([Be],[Ge],[]),get_mode:e.Func([e.Record({})],[qe],["query"]),get_nervous_system_parameters:e.Func([e.Null],[h],["query"]),get_neuron:e.Func([Ot],[ze],["query"]),get_proposal:e.Func([We],[Rt],["query"]),get_root_canister_status:e.Func([e.Null],[vt],[]),get_running_sns_version:e.Func([e.Record({})],[xt],["query"]),get_sns_initialization_parameters:e.Func([e.Record({})],[St],["query"]),get_timers:e.Func([e.Record({})],[Vt],["query"]),get_upgrade_journal:e.Func([wt],[Tt],["query"]),list_nervous_system_functions:e.Func([],[Pt],["query"]),list_neurons:e.Func([bt],[Ct],["query"]),list_proposals:e.Func([Mt],[kt],["query"]),list_topics:e.Func([At],[zt],["query"]),manage_neuron:e.Func([jt],[It],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([Dt],[e.Record({})],[])})};var ss=class e extends Yn{static create(t){let{service:s,certifiedService:n,canisterId:a}=Xn({options:t,idlFactory:Ds,certifiedIdlFactory:Is});return new e(a,s,n)}listNeurons=async t=>{let{principal:s,limit:n,beforeNeuronId:a}=t,{neurons:c}=await this.caller(t).list_neurons({of_principal:ds(s),limit:n??100,start_page_at:ds(a)});return c};listProposals=async t=>{let{certified:s}=t;return await this.caller({certified:s}).list_proposals($s(t))};listTopics=async t=>{let{certified:s}=t;return await this.caller({certified:s}).list_topics({})};getProposal=async t=>{let{proposalId:s}=t,{result:n}=await this.caller(t).get_proposal({proposal_id:ds(s)}),a=es(n);if(a===void 0||"Error"in a)throw new b(a?.Error.error_message??"Response type not supported");return a.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:s}=t,{result:n}=await this.caller(t).get_neuron({neuron_id:ds(s)}),a=es(n);if(a===void 0||"Error"in a)throw new b(a?.Error.error_message??"Response type not supported");return a.Neuron};queryNeuron=async t=>{try{return await this.getNeuron(t)}catch(s){if(s instanceof Error&&s.message.includes("No neuron for given NeuronId"))return;throw s}};manageNeuron=async t=>{let s=await this.caller({certified:!0}).manage_neuron(t);return this.assertManageNeuronError(s),s};addNeuronPermissions=async t=>{let s=Es(t);await this.manageNeuron(s)};removeNeuronPermissions=async t=>{let s=Us(t);await this.manageNeuron(s)};splitNeuron=async t=>{let s=Bs(t),{command:n}=await this.manageNeuron(s),a=es(n),c=o=>`Split neuron failed (${o})`;if(a===void 0)throw new b(c("no response"));if("Split"in a){let o=a.Split,p=es(o.created_neuron_id);if(p!==void 0)return p;throw new b(c("no id"))}throw new b(c("unknown"))};disburse=async t=>{let s=Gs(t);await this.manageNeuron(s)};startDissolving=async t=>{let s=qs(t);await this.manageNeuron(s)};stopDissolving=async t=>{let s=zs(t);await this.manageNeuron(s)};stakeMaturity=async({neuronId:t,percentageToStake:s})=>{Ls(s??100);let n=Ws({neuronId:t,percentageToStake:s});await this.manageNeuron(n)};disburseMaturity=async t=>{Ls(t.percentageToDisburse);let s=Hs(t);await this.manageNeuron(s)};autoStakeMaturity=async t=>{let s=js(t);await this.manageNeuron(s)};setDissolveTimestamp=async t=>{let s=Qs(t);await this.manageNeuron(s)};increaseDissolveDelay=async t=>{let s=Js(t);await this.manageNeuron(s)};setTopicFollowees=async t=>{let s=Ys(t);await this.manageNeuron(s)};setFollowing=async t=>{let s=Xs(t);await this.manageNeuron(s)};registerVote=async t=>{let s=Ks(t);await this.manageNeuron(s)};refreshNeuron=async t=>{let s=Ts({subaccount:t.id});await this.manageNeuron(s)};claimNeuron=async({memo:t,controller:s,subaccount:n})=>{let a=Ts({subaccount:n,memo:t,controller:s}),{command:c}=await this.manageNeuron(a),o=es(c);if(o===void 0)throw new b("Claim neuron failed");if("ClaimOrRefresh"in o){let p=es(o.ClaimOrRefresh.refreshed_neuron_id);if(p===void 0)throw new b("Claim neuron failed");return p}throw new b("Claim neuron failed")};assertManageNeuronError=({command:t})=>{let[s]=t;if(s!==void 0&&"Error"in s)throw new b(s.Error.error_message)}};import{Canister as Kn,createServices as $n,fromNullable as Zn,isNullish as In,toNullable as sn}from"@dfinity/utils";var en=({IDL:e})=>{let t=e.Rec(),s=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),n=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)}),a=e.Record({versions:e.Vec(n)}),c=e.Record({upgrade_steps:e.Opt(a),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),o=e.Variant({DappCanisterManagement:e.Null,DaoCommunitySettings:e.Null,ApplicationBusinessLogic:e.Null,CriticalDappOperations:e.Null,TreasuryAssetManagement:e.Null,Governance:e.Null,SnsFrameworkManagement:e.Null}),p=e.Record({topic:e.Opt(o),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:p}),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)}),P=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)}),F=e.Record({old_target_version:e.Opt(n),new_target_version:e.Opt(n),is_advanced_automatically:e.Opt(e.Bool)}),O=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(a)}),M=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(n)})})),human_readable:e.Opt(e.Text)}),m=e.Record({id:e.Nat64}),k=e.Record({current_version:e.Opt(n),expected_version:e.Opt(n),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:m,BehindTargetVersion:e.Record({})}))}),A=e.Record({upgrade_steps:e.Opt(a)}),E=e.Record({human_readable:e.Opt(e.Text),old_target_version:e.Opt(n),new_target_version:e.Opt(n)}),U=e.Record({event:e.Opt(e.Variant({TargetVersionSet:F,UpgradeStepsReset:O,UpgradeOutcome:M,UpgradeStarted:k,UpgradeStepsRefreshed:A,TargetVersionReset:E})),timestamp_seconds:e.Opt(e.Nat64)}),v=e.Record({entries:e.Vec(U)}),_=e.Record({id:e.Vec(e.Nat8)}),x=e.Record({followees:e.Vec(_)}),B=e.Record({followees:e.Vec(e.Tuple(e.Nat64,x))}),g=e.Record({permissions:e.Vec(e.Int32)}),G=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(g),neuron_minimum_stake_e8s:e.Opt(e.Nat64),max_neuron_age_for_age_bonus:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),reject_cost_e8s:e.Opt(e.Nat64),max_proposals_to_keep_per_action:e.Opt(e.Nat32),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),max_number_of_neurons:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),max_number_of_proposals_with_ballots:e.Opt(e.Nat64),max_age_bonus_percentage:e.Opt(e.Nat64),neuron_grantable_permissions:e.Opt(g),voting_rewards_parameters:e.Opt(G),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)}),q=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Opt(e.Nat64),target_version:e.Opt(n)}),R=e.Record({error_message:e.Text,error_type:e.Int32}),z=e.Record({human_readable:e.Opt(e.Text)}),ne=e.Record({e8s:e.Opt(e.Nat64)}),oe=e.Record({xdrs_per_icp:e.Opt(z),icps_per_token:e.Opt(z),tokens:e.Opt(ne)}),ae=e.Record({token:e.Opt(e.Int32),account:e.Opt(r),valuation_factors:e.Opt(oe),timestamp_seconds:e.Opt(e.Nat64)}),W=e.Record({valuation:e.Opt(ae)}),H=e.Record({archive_wasm_hash:e.Opt(e.Vec(e.Nat8)),root_wasm_hash:e.Opt(e.Vec(e.Nat8)),swap_wasm_hash:e.Opt(e.Vec(e.Nat8)),ledger_wasm_hash:e.Opt(e.Vec(e.Nat8)),governance_wasm_hash:e.Opt(e.Vec(e.Nat8)),index_wasm_hash:e.Opt(e.Vec(e.Nat8))}),re=e.Record({target_version:e.Opt(H)}),ie=e.Variant({TransferSnsTreasuryFunds:W,MintSnsTokens:W,AdvanceSnsTargetVersion:re}),ce=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),j=e.Record({basis_points:e.Opt(e.Nat64)}),I=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),Q=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 pe=e.Record({value:e.Opt(t)}),_e=e.Record({extension_canister_id:e.Opt(e.Principal),operation_name:e.Opt(e.Text),operation_arg:e.Opt(pe)}),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)}),D=e.Variant({Chunked:V,Bytes:e.Vec(e.Nat8)}),de=e.Record({value:e.Opt(t)}),ue=e.Record({extension_canister_id:e.Opt(e.Principal),wasm:e.Opt(D),canister_upgrade_arg:e.Opt(de)}),le=e.Record({custom_function_id_to_topic:e.Vec(e.Tuple(e.Nat64,o))}),L=e.Record({value:e.Opt(t)}),me=e.Record({chunked_canister_wasm:e.Opt(V),extension_init:e.Opt(L)}),Oe=e.Record({canister_ids:e.Vec(e.Principal)}),Ne=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),ee=e.Record({new_canister_wasm:e.Vec(e.Nat8),mode:e.Opt(e.Int32),canister_id:e.Opt(e.Principal),chunked_canister_wasm:e.Opt(V),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),te=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ge=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),se=e.Record({new_target:e.Opt(H)}),J=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),Re=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),ye=e.Record({token_symbol:e.Opt(e.Text),transfer_fee:e.Opt(e.Nat64),token_logo:e.Opt(e.Text),token_name:e.Opt(e.Text)}),fe=e.Record({motion_text:e.Text}),he=e.Variant({ManageNervousSystemParameters:h,AddGenericNervousSystemFunction:d,ManageDappCanisterSettings:Q,ExecuteExtensionOperation:_e,UpgradeExtension:ue,RemoveGenericNervousSystemFunction:e.Nat64,SetTopicsForCustomProposals:le,RegisterExtension:me,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:Oe,TransferSnsTreasuryFunds:Ne,UpgradeSnsControlledCanister:ee,DeregisterDappCanisters:te,MintSnsTokens:ge,AdvanceSnsTargetVersion:se,Unspecified:e.Record({}),ManageSnsMetadata:J,ExecuteGenericNervousSystemFunction:Re,ManageLedgerParameters:ye,Motion:fe}),w=e.Record({url:e.Text,title:e.Text,action:e.Opt(he),summary:e.Text}),ve=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(o),action:e.Nat64,failure_reason:e.Opt(R),action_auxiliary:e.Opt(ie),ballots:e.Vec(e.Tuple(e.Text,ce)),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(I),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(w),proposer:e.Opt(_),wait_for_quiet_state:e.Opt(ve),minimum_yes_proportion_of_exercised:e.Opt(j),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),Y=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),X=e.Record({function_id:e.Nat64,followees:e.Vec(_)}),K=e.Record({to_account:e.Opt(r),percentage_to_disburse:e.Nat32}),xe=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),Se=e.Record({additional_dissolve_delay_seconds:e.Nat32}),Ve=e.Record({dissolve_timestamp_seconds:e.Nat64}),we=e.Variant({ChangeAutoStakeMaturity:xe,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:Se,SetDissolveTimestamp:Ve}),$=e.Record({operation:e.Opt(we)}),Z=e.Record({vote:e.Int32,proposal:e.Opt(m)}),Te=e.Record({alias:e.Opt(e.Text),neuron_id:e.Opt(_)}),Pe=e.Record({topic:e.Opt(o),followees:e.Vec(Te)}),be=e.Record({topic_following:e.Vec(Pe)}),Je=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({})}),Ce=e.Record({by:e.Opt(Xe)}),Fe=e.Record({permissions_to_remove:e.Opt(g),principal_id:e.Opt(e.Principal)}),Me=e.Record({permissions_to_add:e.Opt(g),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:Y,Follow:X,DisburseMaturity:K,Configure:$,RegisterVote:Z,SetFollowing:be,SyncCommand:e.Record({}),MakeProposal:w,FinalizeDisburseMaturity:Je,ClaimOrRefreshNeuron:Ce,RemoveNeuronPermissions:Fe,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)}),C=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,Pe))})),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,x)),neuron_fees_e8s:e.Nat64}),fs=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(s),cached_upgrade_steps:e.Opt(c),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,d)),metrics:e.Opt(P),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(n),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(S),pending_version:e.Opt(q),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,Ze)),sns_metadata:e.Opt(J),neurons:e.Vec(e.Tuple(e.Text,C)),target_version:e.Opt(n),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(n)}),nt=e.Record({}),ot=e.Record({principals:e.Vec(e.Principal)}),at=e.Record({nns_neuron_hotkeys:e.Opt(ot),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(_)}),pt=e.Record({neuron_recipes:e.Vec(ct)}),_t=e.Record({neuron_recipes:e.Opt(pt)}),dt=e.Record({id:e.Opt(_),status:e.Int32}),ut=e.Record({swap_neurons:e.Vec(dt)}),Be=e.Variant({Ok:ut,Err:e.Int32}),lt=e.Record({claim_swap_neurons_result:e.Opt(Be)}),mt=e.Record({maturity_modulation:e.Opt(f)}),Ge=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)}),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:R}),ze=e.Record({get_metrics_result:e.Opt(Nt)}),We=e.Record({mode:e.Opt(e.Int32)}),gt=e.Record({neuron_id:e.Opt(_)}),Rt=e.Variant({Error:R,Neuron:C}),yt=e.Record({result:e.Opt(Rt)}),He=e.Record({proposal_id:e.Opt(m)}),ft=e.Variant({Error:R,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)}),xt=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),St=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}),Vt=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)}),wt=e.Record({memory_metrics:e.Opt(vt),status:xt,memory_size:e.Nat,cycles:e.Nat,settings:St,query_stats:e.Opt(Vt),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),Tt=e.Record({deployed_version:e.Opt(n),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(n)}))}),Pt=e.Record({sns_initialization_parameters:e.Text}),bt=e.Record({timers:e.Opt(s)}),Ct=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat64)}),Ft=e.Record({upgrade_journal:e.Opt(v),upgrade_steps:e.Opt(a),response_timestamp_seconds:e.Opt(e.Nat64),deployed_version:e.Opt(n),target_version:e.Opt(n),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(C)}),Et=e.Record({topic:e.Opt(o)}),Ut=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(T),include_topic_filtering:e.Opt(e.Bool)}),Gt=e.Record({}),qt=e.Variant({TreasuryManagerWithdraw:e.Null,TreasuryManagerDeposit:e.Null}),zt=e.Variant({TreasuryManager:e.Null}),Wt=e.Record({topic:e.Opt(o),operation_type:e.Opt(qt),description:e.Opt(e.Text),extension_type:e.Opt(zt)}),Ht=e.Record({spec:e.Opt(Wt),canister_id:e.Opt(e.Principal)}),jt=e.Record({extension_operations:e.Opt(e.Vec(Ht)),native_functions:e.Opt(e.Vec(d)),topic:e.Opt(o),is_critical:e.Opt(e.Bool),name:e.Opt(e.Text),description:e.Opt(e.Text),custom_functions:e.Opt(e.Vec(d))}),Qt=e.Record({uncategorized_functions:e.Opt(e.Vec(d)),topics:e.Opt(e.Vec(jt))}),Jt=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),Yt=e.Variant({Split:Y,Follow:X,DisburseMaturity:K,ClaimOrRefresh:Ce,Configure:$,RegisterVote:Z,SetFollowing:be,MakeProposal:w,StakeMaturity:Jt,RemoveNeuronPermissions:Fe,AddNeuronPermissions:Me,MergeMaturity:ke,Disburse:Ae}),Xt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(Yt)}),Kt=e.Record({created_neuron_id:e.Opt(_)}),$t=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),Zt=e.Record({refreshed_neuron_id:e.Opt(_)}),It=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),Dt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),hs=e.Record({transfer_block_height:e.Nat64}),vs=e.Variant({Error:R,Split:Kt,Follow:e.Record({}),DisburseMaturity:$t,ClaimOrRefresh:Zt,Configure:e.Record({}),RegisterVote:e.Record({}),SetFollowing:e.Record({}),MakeProposal:He,RemoveNeuronPermission:e.Record({}),StakeMaturity:It,MergeMaturity:Dt,Disburse:hs,AddNeuronPermission:e.Record({})}),xs=e.Record({command:e.Opt(vs)}),Ss=e.Record({recipient:e.Opt(r),amount_e8s:e.Opt(e.Nat64)}),Vs=e.Record({mode:e.Int32});return e.Service({add_maturity:e.Func([et],[tt],[]),advance_target_version:e.Func([st],[nt],[]),claim_swap_neurons:e.Func([_t],[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({})],[Ge],[]),get_metrics:e.Func([qe],[ze],[]),get_metrics_replicated:e.Func([qe],[ze],[]),get_mode:e.Func([e.Record({})],[We],[]),get_nervous_system_parameters:e.Func([e.Null],[h],[]),get_neuron:e.Func([gt],[yt],[]),get_proposal:e.Func([He],[ht],[]),get_root_canister_status:e.Func([e.Null],[wt],[]),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([Ct],[Ft],[]),list_nervous_system_functions:e.Func([],[Mt],[]),list_neurons:e.Func([kt],[At],[]),list_proposals:e.Func([Ut],[Bt],[]),list_topics:e.Func([Gt],[Qt],[]),manage_neuron:e.Func([Xt],[xs],[]),mint_tokens:e.Func([Ss],[e.Record({})],[]),refresh_cached_upgrade_steps:e.Func([e.Record({})],[e.Record({})],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([Vs],[e.Record({})],[]),update_neuron:e.Func([C],[e.Opt(R)],[])})};var tn=({IDL:e})=>{let t=e.Rec(),s=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),n=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)}),a=e.Record({versions:e.Vec(n)}),c=e.Record({upgrade_steps:e.Opt(a),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),o=e.Variant({DappCanisterManagement:e.Null,DaoCommunitySettings:e.Null,ApplicationBusinessLogic:e.Null,CriticalDappOperations:e.Null,TreasuryAssetManagement:e.Null,Governance:e.Null,SnsFrameworkManagement:e.Null}),p=e.Record({topic:e.Opt(o),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:p}),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)}),P=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)}),F=e.Record({old_target_version:e.Opt(n),new_target_version:e.Opt(n),is_advanced_automatically:e.Opt(e.Bool)}),O=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(a)}),M=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(n)})})),human_readable:e.Opt(e.Text)}),m=e.Record({id:e.Nat64}),k=e.Record({current_version:e.Opt(n),expected_version:e.Opt(n),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:m,BehindTargetVersion:e.Record({})}))}),A=e.Record({upgrade_steps:e.Opt(a)}),E=e.Record({human_readable:e.Opt(e.Text),old_target_version:e.Opt(n),new_target_version:e.Opt(n)}),U=e.Record({event:e.Opt(e.Variant({TargetVersionSet:F,UpgradeStepsReset:O,UpgradeOutcome:M,UpgradeStarted:k,UpgradeStepsRefreshed:A,TargetVersionReset:E})),timestamp_seconds:e.Opt(e.Nat64)}),v=e.Record({entries:e.Vec(U)}),_=e.Record({id:e.Vec(e.Nat8)}),x=e.Record({followees:e.Vec(_)}),B=e.Record({followees:e.Vec(e.Tuple(e.Nat64,x))}),g=e.Record({permissions:e.Vec(e.Int32)}),G=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(g),neuron_minimum_stake_e8s:e.Opt(e.Nat64),max_neuron_age_for_age_bonus:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),reject_cost_e8s:e.Opt(e.Nat64),max_proposals_to_keep_per_action:e.Opt(e.Nat32),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),max_number_of_neurons:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),max_number_of_proposals_with_ballots:e.Opt(e.Nat64),max_age_bonus_percentage:e.Opt(e.Nat64),neuron_grantable_permissions:e.Opt(g),voting_rewards_parameters:e.Opt(G),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)}),q=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Opt(e.Nat64),target_version:e.Opt(n)}),R=e.Record({error_message:e.Text,error_type:e.Int32}),z=e.Record({human_readable:e.Opt(e.Text)}),ne=e.Record({e8s:e.Opt(e.Nat64)}),oe=e.Record({xdrs_per_icp:e.Opt(z),icps_per_token:e.Opt(z),tokens:e.Opt(ne)}),ae=e.Record({token:e.Opt(e.Int32),account:e.Opt(r),valuation_factors:e.Opt(oe),timestamp_seconds:e.Opt(e.Nat64)}),W=e.Record({valuation:e.Opt(ae)}),H=e.Record({archive_wasm_hash:e.Opt(e.Vec(e.Nat8)),root_wasm_hash:e.Opt(e.Vec(e.Nat8)),swap_wasm_hash:e.Opt(e.Vec(e.Nat8)),ledger_wasm_hash:e.Opt(e.Vec(e.Nat8)),governance_wasm_hash:e.Opt(e.Vec(e.Nat8)),index_wasm_hash:e.Opt(e.Vec(e.Nat8))}),re=e.Record({target_version:e.Opt(H)}),ie=e.Variant({TransferSnsTreasuryFunds:W,MintSnsTokens:W,AdvanceSnsTargetVersion:re}),ce=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),j=e.Record({basis_points:e.Opt(e.Nat64)}),I=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),Q=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 pe=e.Record({value:e.Opt(t)}),_e=e.Record({extension_canister_id:e.Opt(e.Principal),operation_name:e.Opt(e.Text),operation_arg:e.Opt(pe)}),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)}),D=e.Variant({Chunked:V,Bytes:e.Vec(e.Nat8)}),de=e.Record({value:e.Opt(t)}),ue=e.Record({extension_canister_id:e.Opt(e.Principal),wasm:e.Opt(D),canister_upgrade_arg:e.Opt(de)}),le=e.Record({custom_function_id_to_topic:e.Vec(e.Tuple(e.Nat64,o))}),L=e.Record({value:e.Opt(t)}),me=e.Record({chunked_canister_wasm:e.Opt(V),extension_init:e.Opt(L)}),Oe=e.Record({canister_ids:e.Vec(e.Principal)}),Ne=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),ee=e.Record({new_canister_wasm:e.Vec(e.Nat8),mode:e.Opt(e.Int32),canister_id:e.Opt(e.Principal),chunked_canister_wasm:e.Opt(V),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),te=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ge=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(l),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),se=e.Record({new_target:e.Opt(H)}),J=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),Re=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),ye=e.Record({token_symbol:e.Opt(e.Text),transfer_fee:e.Opt(e.Nat64),token_logo:e.Opt(e.Text),token_name:e.Opt(e.Text)}),fe=e.Record({motion_text:e.Text}),he=e.Variant({ManageNervousSystemParameters:h,AddGenericNervousSystemFunction:d,ManageDappCanisterSettings:Q,ExecuteExtensionOperation:_e,UpgradeExtension:ue,RemoveGenericNervousSystemFunction:e.Nat64,SetTopicsForCustomProposals:le,RegisterExtension:me,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:Oe,TransferSnsTreasuryFunds:Ne,UpgradeSnsControlledCanister:ee,DeregisterDappCanisters:te,MintSnsTokens:ge,AdvanceSnsTargetVersion:se,Unspecified:e.Record({}),ManageSnsMetadata:J,ExecuteGenericNervousSystemFunction:Re,ManageLedgerParameters:ye,Motion:fe}),w=e.Record({url:e.Text,title:e.Text,action:e.Opt(he),summary:e.Text}),ve=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(o),action:e.Nat64,failure_reason:e.Opt(R),action_auxiliary:e.Opt(ie),ballots:e.Vec(e.Tuple(e.Text,ce)),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(I),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(w),proposer:e.Opt(_),wait_for_quiet_state:e.Opt(ve),minimum_yes_proportion_of_exercised:e.Opt(j),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),Y=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),X=e.Record({function_id:e.Nat64,followees:e.Vec(_)}),K=e.Record({to_account:e.Opt(r),percentage_to_disburse:e.Nat32}),xe=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),Se=e.Record({additional_dissolve_delay_seconds:e.Nat32}),Ve=e.Record({dissolve_timestamp_seconds:e.Nat64}),we=e.Variant({ChangeAutoStakeMaturity:xe,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:Se,SetDissolveTimestamp:Ve}),$=e.Record({operation:e.Opt(we)}),Z=e.Record({vote:e.Int32,proposal:e.Opt(m)}),Te=e.Record({alias:e.Opt(e.Text),neuron_id:e.Opt(_)}),Pe=e.Record({topic:e.Opt(o),followees:e.Vec(Te)}),be=e.Record({topic_following:e.Vec(Pe)}),Je=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({})}),Ce=e.Record({by:e.Opt(Xe)}),Fe=e.Record({permissions_to_remove:e.Opt(g),principal_id:e.Opt(e.Principal)}),Me=e.Record({permissions_to_add:e.Opt(g),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:Y,Follow:X,DisburseMaturity:K,Configure:$,RegisterVote:Z,SetFollowing:be,SyncCommand:e.Record({}),MakeProposal:w,FinalizeDisburseMaturity:Je,ClaimOrRefreshNeuron:Ce,RemoveNeuronPermissions:Fe,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)}),C=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,Pe))})),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,x)),neuron_fees_e8s:e.Nat64}),fs=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(s),cached_upgrade_steps:e.Opt(c),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,d)),metrics:e.Opt(P),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(n),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(S),pending_version:e.Opt(q),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,Ze)),sns_metadata:e.Opt(J),neurons:e.Vec(e.Tuple(e.Text,C)),target_version:e.Opt(n),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(n)}),nt=e.Record({}),ot=e.Record({principals:e.Vec(e.Principal)}),at=e.Record({nns_neuron_hotkeys:e.Opt(ot),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(_)}),pt=e.Record({neuron_recipes:e.Vec(ct)}),_t=e.Record({neuron_recipes:e.Opt(pt)}),dt=e.Record({id:e.Opt(_),status:e.Int32}),ut=e.Record({swap_neurons:e.Vec(dt)}),Be=e.Variant({Ok:ut,Err:e.Int32}),lt=e.Record({claim_swap_neurons_result:e.Opt(Be)}),mt=e.Record({maturity_modulation:e.Opt(f)}),Ge=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)}),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:R}),ze=e.Record({get_metrics_result:e.Opt(Nt)}),We=e.Record({mode:e.Opt(e.Int32)}),gt=e.Record({neuron_id:e.Opt(_)}),Rt=e.Variant({Error:R,Neuron:C}),yt=e.Record({result:e.Opt(Rt)}),He=e.Record({proposal_id:e.Opt(m)}),ft=e.Variant({Error:R,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)}),xt=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),St=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}),Vt=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)}),wt=e.Record({memory_metrics:e.Opt(vt),status:xt,memory_size:e.Nat,cycles:e.Nat,settings:St,query_stats:e.Opt(Vt),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),Tt=e.Record({deployed_version:e.Opt(n),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(n)}))}),Pt=e.Record({sns_initialization_parameters:e.Text}),bt=e.Record({timers:e.Opt(s)}),Ct=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat64)}),Ft=e.Record({upgrade_journal:e.Opt(v),upgrade_steps:e.Opt(a),response_timestamp_seconds:e.Opt(e.Nat64),deployed_version:e.Opt(n),target_version:e.Opt(n),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(C)}),Et=e.Record({topic:e.Opt(o)}),Ut=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(T),include_topic_filtering:e.Opt(e.Bool)}),Gt=e.Record({}),qt=e.Variant({TreasuryManagerWithdraw:e.Null,TreasuryManagerDeposit:e.Null}),zt=e.Variant({TreasuryManager:e.Null}),Wt=e.Record({topic:e.Opt(o),operation_type:e.Opt(qt),description:e.Opt(e.Text),extension_type:e.Opt(zt)}),Ht=e.Record({spec:e.Opt(Wt),canister_id:e.Opt(e.Principal)}),jt=e.Record({extension_operations:e.Opt(e.Vec(Ht)),native_functions:e.Opt(e.Vec(d)),topic:e.Opt(o),is_critical:e.Opt(e.Bool),name:e.Opt(e.Text),description:e.Opt(e.Text),custom_functions:e.Opt(e.Vec(d))}),Qt=e.Record({uncategorized_functions:e.Opt(e.Vec(d)),topics:e.Opt(e.Vec(jt))}),Jt=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),Yt=e.Variant({Split:Y,Follow:X,DisburseMaturity:K,ClaimOrRefresh:Ce,Configure:$,RegisterVote:Z,SetFollowing:be,MakeProposal:w,StakeMaturity:Jt,RemoveNeuronPermissions:Fe,AddNeuronPermissions:Me,MergeMaturity:ke,Disburse:Ae}),Xt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(Yt)}),Kt=e.Record({created_neuron_id:e.Opt(_)}),$t=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),Zt=e.Record({refreshed_neuron_id:e.Opt(_)}),It=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),Dt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),hs=e.Record({transfer_block_height:e.Nat64}),vs=e.Variant({Error:R,Split:Kt,Follow:e.Record({}),DisburseMaturity:$t,ClaimOrRefresh:Zt,Configure:e.Record({}),RegisterVote:e.Record({}),SetFollowing:e.Record({}),MakeProposal:He,RemoveNeuronPermission:e.Record({}),StakeMaturity:It,MergeMaturity:Dt,Disburse:hs,AddNeuronPermission:e.Record({})}),xs=e.Record({command:e.Opt(vs)}),Ss=e.Record({recipient:e.Opt(r),amount_e8s:e.Opt(e.Nat64)}),Vs=e.Record({mode:e.Int32});return e.Service({add_maturity:e.Func([et],[tt],[]),advance_target_version:e.Func([st],[nt],[]),claim_swap_neurons:e.Func([_t],[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({})],[Ge],["query"]),get_metrics:e.Func([qe],[ze],["composite_query"]),get_metrics_replicated:e.Func([qe],[ze],[]),get_mode:e.Func([e.Record({})],[We],["query"]),get_nervous_system_parameters:e.Func([e.Null],[h],["query"]),get_neuron:e.Func([gt],[yt],["query"]),get_proposal:e.Func([He],[ht],["query"]),get_root_canister_status:e.Func([e.Null],[wt],[]),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([Ct],[Ft],["query"]),list_nervous_system_functions:e.Func([],[Mt],["query"]),list_neurons:e.Func([kt],[At],["query"]),list_proposals:e.Func([Ut],[Bt],["query"]),list_topics:e.Func([Gt],[Qt],["query"]),manage_neuron:e.Func([Xt],[xs],[]),mint_tokens:e.Func([Ss],[e.Record({})],[]),refresh_cached_upgrade_steps:e.Func([e.Record({})],[e.Record({})],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([Vs],[e.Record({})],[]),update_neuron:e.Func([C],[e.Opt(R)],[])})};var bs=class e extends Kn{static create(t){let{service:s,certifiedService:n,canisterId:a}=$n({options:t,idlFactory:tn,certifiedIdlFactory:en});return new e(a,s,n)}addMaturity=async t=>{let{id:s,amountE8s:n}=t,{new_maturity_e8s:a}=await this.caller(t).add_maturity({id:sn(s),amount_e8s:sn(n)}),c=Zn(a);if(In(c)||c<n)throw new b("No maturity added")}};import{Canister as Dn,createServices as Ln}from"@dfinity/utils";var nn=({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)}),s=e.Record({extension_canister_ids:e.Vec(e.Principal)}),n=e.Record({dapp_canister_ids:e.Vec(e.Principal),timers:e.Opt(t),testflight:e.Bool,extensions:e.Opt(s),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)}),a=e.Record({canister_id:e.Principal}),c=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)}),o=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),p=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(p),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(c),status:o,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)}),P=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}),F=e.Record({memory_metrics:e.Opt(c),status:o,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(F),canister_id:e.Opt(e.Principal)}),M=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)}),k=e.Record({root:e.Opt(e.Principal),swap:e.Opt(e.Principal),extensions:e.Opt(s),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)}),A=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)}),E=e.Record({failure_reason:e.Opt(e.Text)}),U=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)}),x=e.Record({code:e.Opt(e.Int32),description:e.Text}),B=e.Variant({Ok:e.Record({}),Err:x}),g=e.Record({result:e.Opt(B)}),G=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([a],[l],[]),change_canister:e.Func([y],[],[]),get_build_metadata:e.Func([],[e.Text],[]),get_sns_canisters_summary:e.Func([P],[M],[]),get_timers:e.Func([e.Record({})],[m],[]),list_sns_canisters:e.Func([e.Record({})],[k],[]),manage_dapp_canister_settings:e.Func([A],[E],[]),register_dapp_canister:e.Func([U],[e.Record({})],[]),register_dapp_canisters:e.Func([v],[e.Record({})],[]),register_extension:e.Func([_],[g],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_dapp_controllers:e.Func([G],[S],[])})};var on=({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)}),s=e.Record({extension_canister_ids:e.Vec(e.Principal)}),n=e.Record({dapp_canister_ids:e.Vec(e.Principal),timers:e.Opt(t),testflight:e.Bool,extensions:e.Opt(s),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)}),a=e.Record({canister_id:e.Principal}),c=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)}),o=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),p=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(p),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(c),status:o,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)}),P=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}),F=e.Record({memory_metrics:e.Opt(c),status:o,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(F),canister_id:e.Opt(e.Principal)}),M=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)}),k=e.Record({root:e.Opt(e.Principal),swap:e.Opt(e.Principal),extensions:e.Opt(s),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)}),A=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)}),E=e.Record({failure_reason:e.Opt(e.Text)}),U=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)}),x=e.Record({code:e.Opt(e.Int32),description:e.Text}),B=e.Variant({Ok:e.Record({}),Err:x}),g=e.Record({result:e.Opt(B)}),G=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([a],[l],[]),change_canister:e.Func([y],[],[]),get_build_metadata:e.Func([],[e.Text],["query"]),get_sns_canisters_summary:e.Func([P],[M],[]),get_timers:e.Func([e.Record({})],[m],["query"]),list_sns_canisters:e.Func([e.Record({})],[k],["query"]),manage_dapp_canister_settings:e.Func([A],[E],[]),register_dapp_canister:e.Func([U],[e.Record({})],[]),register_dapp_canisters:e.Func([v],[e.Record({})],[]),register_extension:e.Func([_],[g],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_dapp_controllers:e.Func([G],[S],[])})};var ns=class e extends Dn{static create(t){let{service:s,certifiedService:n,canisterId:a}=Ln({options:t,idlFactory:on,certifiedIdlFactory:nn});return new e(a,s,n)}listSnsCanisters=({certified:t=!0})=>this.caller({certified:t}).list_sns_canisters({})};import{IcrcIndexCanister as lo,IcrcLedgerCanister as mo}from"@dfinity/ledger-icrc";import{assertNonNullish as Rs,fromNullable as ys}from"@dfinity/utils";import{bigIntToUint8Array as co,toNullable as un}from"@dfinity/utils";import{arrayOfNumberToUint8Array as oo,asciiStringToByteArray as ao,numberToUint8Array as ro}from"@dfinity/utils";function eo(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function ls(e,...t){if(!eo(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 Cs(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 an(e,t){ls(e);let s=t.outputLen;if(e.length<s)throw new Error("digestInto() expects output buffer of length at least "+s)}function os(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function ms(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Ue(e,t){return e<<32-t|e>>>t}function to(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=to(e)),ls(e),e}var us=class{};function rn(e){let t=n=>e().update(Fs(n)).digest(),s=e();return t.outputLen=s.outputLen,t.blockLen=s.blockLen,t.create=()=>e(),t}function so(e,t,s,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,s,n);let a=BigInt(32),c=BigInt(4294967295),o=Number(s>>a&c),p=Number(s&c),u=n?4:0,d=n?0:4;e.setUint32(t+u,o,n),e.setUint32(t+d,p,n)}function cn(e,t,s){return e&t^~e&s}function pn(e,t,s){return e&t^e&s^t&s}var Os=class extends us{constructor(t,s,n,a){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=s,this.padOffset=n,this.isLE=a,this.buffer=new Uint8Array(t),this.view=ms(this.buffer)}update(t){Cs(this),t=Fs(t),ls(t);let{view:s,buffer:n,blockLen:a}=this,c=t.length;for(let o=0;o<c;){let p=Math.min(a-this.pos,c-o);if(p===a){let u=ms(t);for(;a<=c-o;o+=a)this.process(u,o);continue}n.set(t.subarray(o,o+p),this.pos),this.pos+=p,o+=p,this.pos===a&&(this.process(s,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Cs(this),an(t,this),this.finished=!0;let{buffer:s,view:n,blockLen:a,isLE:c}=this,{pos:o}=this;s[o++]=128,os(this.buffer.subarray(o)),this.padOffset>a-o&&(this.process(n,0),o=0);for(let r=o;r<a;r++)s[r]=0;so(n,a-8,BigInt(this.length*8),c),this.process(n,0);let p=ms(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++)p.setUint32(4*r,l[r],c)}digest(){let{buffer:t,outputLen:s}=this;this.digestInto(t);let n=t.slice(0,s);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:s,buffer:n,length:a,finished:c,destroyed:o,pos:p}=this;return t.destroyed=o,t.finished=c,t.length=a,t.pos=p,a%s&&t.buffer.set(n),t}clone(){return this._cloneInto()}},je=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var no=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]),Qe=new Uint32Array(64),Ms=class extends Os{constructor(t=32){super(64,t,8,!1),this.A=je[0]|0,this.B=je[1]|0,this.C=je[2]|0,this.D=je[3]|0,this.E=je[4]|0,this.F=je[5]|0,this.G=je[6]|0,this.H=je[7]|0}get(){let{A:t,B:s,C:n,D:a,E:c,F:o,G:p,H:u}=this;return[t,s,n,a,c,o,p,u]}set(t,s,n,a,c,o,p,u){this.A=t|0,this.B=s|0,this.C=n|0,this.D=a|0,this.E=c|0,this.F=o|0,this.G=p|0,this.H=u|0}process(t,s){for(let r=0;r<16;r++,s+=4)Qe[r]=t.getUint32(s,!1);for(let r=16;r<64;r++){let N=Qe[r-15],y=Qe[r-2],P=Ue(N,7)^Ue(N,18)^N>>>3,f=Ue(y,17)^Ue(y,19)^y>>>10;Qe[r]=f+Qe[r-7]+P+Qe[r-16]|0}let{A:n,B:a,C:c,D:o,E:p,F:u,G:d,H:l}=this;for(let r=0;r<64;r++){let N=Ue(p,6)^Ue(p,11)^Ue(p,25),y=l+N+cn(p,u,d)+no[r]+Qe[r]|0,f=(Ue(n,2)^Ue(n,13)^Ue(n,22))+pn(n,a,c)|0;l=d,d=u,u=p,p=o+y|0,o=c,c=a,a=n,n=y+f|0}n=n+this.A|0,a=a+this.B|0,c=c+this.C|0,o=o+this.D|0,p=p+this.E|0,u=u+this.F|0,d=d+this.G|0,l=l+this.H|0,this.set(n,a,c,o,p,u,d,l)}roundClean(){os(Qe)}destroy(){this.set(0,0,0,0,0,0,0,0),os(this.buffer)}};var _n=rn(()=>new Ms);var dn=({index:e,controller:t})=>{let n=[12,...ao("neuron-stake"),...t.toUint8Array(),...ro(e)],a=_n.create();return a.update(oo(n)),a.digest()};var Ns=class{root;governance;ledger;swap;index;certified;constructor({root:t,governance:s,ledger:n,swap:a,index:c,certified:o}){this.root=t,this.governance=s,this.ledger=n,this.swap=a,this.index=c,this.certified=o}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 s=0;s<65536;s++){let n=dn({index:s,controller:t}),a={id:n},c=await this.governance.queryNeuron({neuronId:a,certified:!1});if(c===void 0&&(c=await this.governance.queryNeuron({neuronId:a,certified:!0}),c===void 0))return{account:{...this.owner,subaccount:n},index:BigInt(s)}}throw new b("No more neuron accounts available")};stakeNeuron=async({stakeE8s:t,source:s,controller:n,createdAt:a,fee:c})=>{this.assertCertified("stakeNeuron");let{account:o,index:p}=await this.nextNeuronAccount(n);if(o.subaccount===void 0)throw new b("There was an error creating the neuron subaccount");return await this.ledger.transfer({amount:t,to:{owner:o.owner,subaccount:un(o.subaccount)},from_subaccount:s.subaccount,memo:co(p),created_at_time:a,fee:c}),this.governance.claimNeuron({memo:BigInt(p),controller:n,subaccount:o.subaccount})};increaseStakeNeuron=async({stakeE8s:t,source:s,neuronId:n})=>(this.assertCertified("stakeNeuron"),await this.ledger.transfer({amount:t,to:{...this.owner,subaccount:un(Uint8Array.from(n.id))},from_subaccount:s.subaccount}),this.governance.refreshNeuron(n));getNeuronBalance=t=>{let s={...this.owner,subaccount:Uint8Array.from(t.id)};return this.ledger.balance({...s,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 b(`Call to ${t} needs to be certified`)};get owner(){return{owner:this.canisterIds.governanceCanisterId}}};import{Canister as _o,createServices as uo,fromDefinedNullable as gs,fromNullable as as}from"@dfinity/utils";var ln=({IDL:e})=>{let t=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),s=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)}),n=e.Record({serialized_representation:e.Opt(e.Text)}),a=e.Record({coefficient_intervals:e.Vec(s),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(n)}),c=e.Record({iso_codes:e.Vec(e.Text)}),o=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(a),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(c),min_icp_e8s:e.Opt(e.Nat64),max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),p=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)}),P=e.Record({failed_updates:e.Vec(y)}),f=e.Variant({Ok:P,Err:N}),F=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}),M=e.Record({error_message:e.Text,error_type:e.Int32}),m=e.Record({governance_error:e.Opt(M)}),k=e.Variant({Ok:m,Err:N}),A=e.Record({possibility:e.Opt(k)}),E=e.Record({neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),neurons_fund_neurons_count:e.Opt(e.Nat64)}),U=e.Record({message:e.Opt(e.Text)}),v=e.Variant({Ok:E,Err:U}),_=e.Record({possibility:e.Opt(v)}),x=e.Variant({Ok:e.Record({}),Err:N}),B=e.Record({possibility:e.Opt(x)}),g=e.Record({set_dapp_controllers_call_result:e.Opt(F),create_sns_neuron_recipes_result:e.Opt(O),settle_community_fund_participation_result:e.Opt(A),error_message:e.Opt(e.Text),settle_neurons_fund_participation_result:e.Opt(_),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)}),G=e.Record({auto_finalize_swap_response:e.Opt(g),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}),q=e.Record({icp:e.Opt(S),has_created_neuron_recipes:e.Opt(e.Bool)}),R=e.Record({buyer_state:e.Opt(q)}),z=e.Record({buyers_total:e.Nat64}),ne=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)}),oe=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),ae=e.Record({freezing_threshold:e.Nat,wasm_memory_threshold:e.Opt(e.Nat),controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),W=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)}),H=e.Record({memory_metrics:e.Opt(ne),status:oe,memory_size:e.Nat,cycles:e.Nat,settings:ae,query_stats:e.Opt(W),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),re=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)}),ie=e.Record({init:e.Opt(o)}),ce=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))}),I=e.Record({creation_time:e.Nat64,ticket_id:e.Nat64,account:e.Opt(j),amount_icp_e8s:e.Nat64}),Q=e.Record({ticket:e.Opt(I)}),pe=e.Record({error_type:e.Opt(e.Int32)}),_e=e.Variant({Ok:Q,Err:pe}),V=e.Record({result:e.Opt(_e)}),D=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)}),de=e.Record({params:e.Opt(D)}),ue=e.Record({id:e.Vec(e.Nat8)}),le=e.Record({dissolve_delay_seconds:e.Nat64,memo:e.Nat64,followees:e.Vec(ue)}),L=e.Record({principals:e.Vec(e.Principal)}),me=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,hotkeys:e.Opt(L),nns_neuron_id:e.Nat64}),Oe=e.Record({buyer_principal:e.Text}),Ne=e.Variant({CommunityFund:me,Direct:Oe}),ee=e.Record({sns:e.Opt(S),claimed_status:e.Opt(e.Int32),neuron_attributes:e.Opt(le),investor:e.Opt(Ne)}),te=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)}),ge=e.Record({has_created_neuron_recipes:e.Opt(e.Bool),hotkeys:e.Opt(L),nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),se=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,cf_neurons:e.Vec(ge)}),J=e.Record({auto_finalize_swap_response:e.Opt(g),neuron_recipes:e.Vec(ee),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(te),cf_participants:e.Vec(se),init:e.Opt(o),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,q)),params:e.Opt(D),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),Re=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)}),ye=e.Record({swap:e.Opt(J),derived:e.Opt(Re)}),fe=e.Record({timers:e.Opt(te)}),he=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat32)}),w=e.Record({cf_participants:e.Vec(se)}),ve=e.Record({offset:e.Opt(e.Nat32),limit:e.Opt(e.Nat32)}),T=e.Record({participation:e.Opt(q),participant_id:e.Opt(e.Principal)}),Y=e.Record({participants:e.Vec(T)}),X=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat32)}),K=e.Record({sns_neuron_recipes:e.Vec(ee)}),xe=e.Record({subaccount:e.Opt(e.Vec(e.Nat8)),amount_icp_e8s:e.Nat64}),Se=e.Record({min_amount_icp_e8s_included:e.Nat64,max_amount_icp_e8s_included:e.Nat64}),Ve=e.Record({invalid_user_amount:e.Opt(Se),existing_ticket:e.Opt(I),error_type:e.Int32}),we=e.Variant({Ok:Q,Err:Ve}),$=e.Record({result:e.Opt(we)}),Z=e.Record({confirmation_text:e.Opt(e.Text),buyer:e.Text}),Te=e.Record({icp_accepted_participation_e8s:e.Nat64,icp_ledger_account_balance_e8s:e.Nat64});return e.Service({error_refund_icp:e.Func([p],[r],[]),finalize_swap:e.Func([e.Record({})],[g],[]),get_auto_finalization_status:e.Func([e.Record({})],[G],[]),get_buyer_state:e.Func([h],[R],[]),get_buyers_total:e.Func([e.Record({})],[z],[]),get_canister_status:e.Func([e.Record({})],[H],[]),get_derived_state:e.Func([e.Record({})],[re],[]),get_init:e.Func([e.Record({})],[ie],[]),get_lifecycle:e.Func([e.Record({})],[ce],[]),get_open_ticket:e.Func([e.Record({})],[V],[]),get_sale_parameters:e.Func([e.Record({})],[de],[]),get_state:e.Func([e.Record({})],[ye],[]),get_timers:e.Func([e.Record({})],[fe],[]),list_community_fund_participants:e.Func([he],[w],[]),list_direct_participants:e.Func([ve],[Y],[]),list_sns_neuron_recipes:e.Func([X],[K],[]),new_sale_ticket:e.Func([xe],[$],[]),notify_payment_failure:e.Func([e.Record({})],[Q],[]),refresh_buyer_tokens:e.Func([Z],[Te],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[])})};var mn=({IDL:e})=>{let t=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),s=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)}),n=e.Record({serialized_representation:e.Opt(e.Text)}),a=e.Record({coefficient_intervals:e.Vec(s),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(n)}),c=e.Record({iso_codes:e.Vec(e.Text)}),o=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(a),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(c),min_icp_e8s:e.Opt(e.Nat64),max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),p=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)}),P=e.Record({failed_updates:e.Vec(y)}),f=e.Variant({Ok:P,Err:N}),F=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}),M=e.Record({error_message:e.Text,error_type:e.Int32}),m=e.Record({governance_error:e.Opt(M)}),k=e.Variant({Ok:m,Err:N}),A=e.Record({possibility:e.Opt(k)}),E=e.Record({neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),neurons_fund_neurons_count:e.Opt(e.Nat64)}),U=e.Record({message:e.Opt(e.Text)}),v=e.Variant({Ok:E,Err:U}),_=e.Record({possibility:e.Opt(v)}),x=e.Variant({Ok:e.Record({}),Err:N}),B=e.Record({possibility:e.Opt(x)}),g=e.Record({set_dapp_controllers_call_result:e.Opt(F),create_sns_neuron_recipes_result:e.Opt(O),settle_community_fund_participation_result:e.Opt(A),error_message:e.Opt(e.Text),settle_neurons_fund_participation_result:e.Opt(_),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)}),G=e.Record({auto_finalize_swap_response:e.Opt(g),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}),q=e.Record({icp:e.Opt(S),has_created_neuron_recipes:e.Opt(e.Bool)}),R=e.Record({buyer_state:e.Opt(q)}),z=e.Record({buyers_total:e.Nat64}),ne=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)}),oe=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),ae=e.Record({freezing_threshold:e.Nat,wasm_memory_threshold:e.Opt(e.Nat),controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),W=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)}),H=e.Record({memory_metrics:e.Opt(ne),status:oe,memory_size:e.Nat,cycles:e.Nat,settings:ae,query_stats:e.Opt(W),idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),re=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)}),ie=e.Record({init:e.Opt(o)}),ce=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))}),I=e.Record({creation_time:e.Nat64,ticket_id:e.Nat64,account:e.Opt(j),amount_icp_e8s:e.Nat64}),Q=e.Record({ticket:e.Opt(I)}),pe=e.Record({error_type:e.Opt(e.Int32)}),_e=e.Variant({Ok:Q,Err:pe}),V=e.Record({result:e.Opt(_e)}),D=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)}),de=e.Record({params:e.Opt(D)}),ue=e.Record({id:e.Vec(e.Nat8)}),le=e.Record({dissolve_delay_seconds:e.Nat64,memo:e.Nat64,followees:e.Vec(ue)}),L=e.Record({principals:e.Vec(e.Principal)}),me=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,hotkeys:e.Opt(L),nns_neuron_id:e.Nat64}),Oe=e.Record({buyer_principal:e.Text}),Ne=e.Variant({CommunityFund:me,Direct:Oe}),ee=e.Record({sns:e.Opt(S),claimed_status:e.Opt(e.Int32),neuron_attributes:e.Opt(le),investor:e.Opt(Ne)}),te=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)}),ge=e.Record({has_created_neuron_recipes:e.Opt(e.Bool),hotkeys:e.Opt(L),nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),se=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,cf_neurons:e.Vec(ge)}),J=e.Record({auto_finalize_swap_response:e.Opt(g),neuron_recipes:e.Vec(ee),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(te),cf_participants:e.Vec(se),init:e.Opt(o),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,q)),params:e.Opt(D),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),Re=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)}),ye=e.Record({swap:e.Opt(J),derived:e.Opt(Re)}),fe=e.Record({timers:e.Opt(te)}),he=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat32)}),w=e.Record({cf_participants:e.Vec(se)}),ve=e.Record({offset:e.Opt(e.Nat32),limit:e.Opt(e.Nat32)}),T=e.Record({participation:e.Opt(q),participant_id:e.Opt(e.Principal)}),Y=e.Record({participants:e.Vec(T)}),X=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat32)}),K=e.Record({sns_neuron_recipes:e.Vec(ee)}),xe=e.Record({subaccount:e.Opt(e.Vec(e.Nat8)),amount_icp_e8s:e.Nat64}),Se=e.Record({min_amount_icp_e8s_included:e.Nat64,max_amount_icp_e8s_included:e.Nat64}),Ve=e.Record({invalid_user_amount:e.Opt(Se),existing_ticket:e.Opt(I),error_type:e.Int32}),we=e.Variant({Ok:Q,Err:Ve}),$=e.Record({result:e.Opt(we)}),Z=e.Record({confirmation_text:e.Opt(e.Text),buyer:e.Text}),Te=e.Record({icp_accepted_participation_e8s:e.Nat64,icp_ledger_account_balance_e8s:e.Nat64});return e.Service({error_refund_icp:e.Func([p],[r],[]),finalize_swap:e.Func([e.Record({})],[g],[]),get_auto_finalization_status:e.Func([e.Record({})],[G],["query"]),get_buyer_state:e.Func([h],[R],["query"]),get_buyers_total:e.Func([e.Record({})],[z],[]),get_canister_status:e.Func([e.Record({})],[H],[]),get_derived_state:e.Func([e.Record({})],[re],["query"]),get_init:e.Func([e.Record({})],[ie],["query"]),get_lifecycle:e.Func([e.Record({})],[ce],["query"]),get_open_ticket:e.Func([e.Record({})],[V],["query"]),get_sale_parameters:e.Func([e.Record({})],[de],["query"]),get_state:e.Func([e.Record({})],[ye],["query"]),get_timers:e.Func([e.Record({})],[fe],["query"]),list_community_fund_participants:e.Func([he],[w],["query"]),list_direct_participants:e.Func([ve],[Y],["query"]),list_sns_neuron_recipes:e.Func([X],[K],["query"]),new_sale_ticket:e.Func([xe],[$],[]),notify_payment_failure:e.Func([e.Record({})],[Q],[]),refresh_buyer_tokens:e.Func([Z],[Te],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[])})};var On=({subaccount:e,amount_icp_e8s:t})=>({subaccount:e===void 0?[]:[e],amount_icp_e8s:t});import{nonNullish as po}from"@dfinity/utils";var Nn=e=>{if(typeof e=="object"&&po(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 _o{static create(t){let{service:s,certifiedService:n,canisterId:a}=uo({options:t,idlFactory:mn,certifiedIdlFactory:ln});return new e(a,s,n)}state=t=>this.caller(t).get_state({});notifyPaymentFailure=async()=>{let{ticket:t}=await this.caller({certified:!0}).notify_payment_failure({});return as(t)};notifyParticipation=async t=>await this.caller({certified:!0}).refresh_buyer_tokens(t);getUserCommitment=async t=>{let{buyer_state:s}=await this.caller({certified:t.certified}).get_buyer_state({principal_id:t.principal_id});return as(s)};getDerivedState=({certified:t})=>this.caller({certified:t}).get_derived_state({});getSaleParameters=({certified:t})=>this.caller({certified:t}).get_sale_parameters({});getOpenTicket=async t=>{let{result:s}=await this.caller({certified:t.certified}).get_open_ticket({}),n=gs(s);if("Ok"in n)return as(n.Ok.ticket);let a=gs(n?.Err?.error_type);throw new _s(a)};newSaleTicket=async t=>{let s=On(t),{result:n}=await this.caller({certified:!0}).new_sale_ticket(s),a=gs(n);if("Ok"in a)return gs(a.Ok.ticket);let c=a.Err;throw new ps({errorType:c.error_type,invalidUserAmount:as(c.invalid_user_amount??[]),existingTicket:as(c.existing_ticket??[])})};getLifecycle=t=>this.caller(t).get_lifecycle({});getFinalizationStatus=async t=>{try{return await this.caller(t).get_auto_finalization_status({})}catch(s){throw Nn(s)?new cs("getFinalizationStatus"):s}}};var Pa=async({agent:e,rootOptions:t,certified:s=!0})=>{let n=ns.create({...t,agent:e}),{ledger:a,swap:c,governance:o,index:p}=await n.listSnsCanisters({certified:s}),u=ys(o),d=ys(a),l=ys(c),r=ys(p);return Rs(u),Rs(d),Rs(l),Rs(r),new Ns({root:n,governance:ss.create({canisterId:u,agent:e}),ledger:mo.create({canisterId:d,agent:e}),swap:rs.create({canisterId:l,agent:e}),index:lo.create({canisterId:r,agent:e}),certified:s})};export{jn as GetOpenTicketErrorType,Qn as NewSaleTicketResponseErrorType,ss as SnsGovernanceCanister,b as SnsGovernanceError,bs as SnsGovernanceTestCanister,Gn as SnsNeuronPermissionType,zn as SnsProposalDecisionStatus,qn as SnsProposalRewardStatus,ns as SnsRootCanister,rs as SnsSwapCanister,_s as SnsSwapGetOpenTicketError,Hn as SnsSwapLifecycle,ps as SnsSwapNewTicketError,Wn as SnsVote,Ns as SnsWrapper,cs as UnsupportedMethodError,Rn as fromCandidAction,Pa as initSnsWrapper,dn as neuronSubaccount};
2
2
  /*! Bundled license information:
3
3
 
4
4
  @noble/hashes/esm/utils.js: