@dfinity/sns 3.2.3 → 3.2.4

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.
Files changed (39) hide show
  1. package/dist/candid/sns_governance.certified.idl.js +121 -6
  2. package/dist/candid/sns_governance.d.ts +62 -1
  3. package/dist/candid/sns_governance.did +69 -9
  4. package/dist/candid/sns_governance.idl.js +121 -6
  5. package/dist/candid/sns_governance_test.certified.idl.js +121 -6
  6. package/dist/candid/sns_governance_test.d.ts +62 -1
  7. package/dist/candid/sns_governance_test.did +66 -2
  8. package/dist/candid/sns_governance_test.idl.js +121 -6
  9. package/dist/candid/sns_root.certified.idl.js +15 -0
  10. package/dist/candid/sns_root.d.ts +11 -0
  11. package/dist/candid/sns_root.did +14 -1
  12. package/dist/candid/sns_root.idl.js +15 -0
  13. package/dist/candid/sns_swap.certified.idl.js +2 -0
  14. package/dist/candid/sns_swap.d.ts +4 -0
  15. package/dist/candid/sns_swap.did +6 -1
  16. package/dist/candid/sns_swap.idl.js +2 -0
  17. package/dist/cjs/index.cjs.js +1 -1
  18. package/dist/cjs/index.cjs.js.map +3 -3
  19. package/dist/esm/chunk-BNILACKH.js +2 -0
  20. package/dist/esm/chunk-BNILACKH.js.map +7 -0
  21. package/dist/esm/chunk-LCH6N5XY.js +2 -0
  22. package/dist/esm/chunk-LCH6N5XY.js.map +7 -0
  23. package/dist/esm/{chunk-UV6BDZNF.js → chunk-X7UB3EAO.js} +2 -2
  24. package/dist/esm/chunk-XKKPAZAY.js +2 -0
  25. package/dist/esm/chunk-XKKPAZAY.js.map +7 -0
  26. package/dist/esm/governance.canister.js +1 -1
  27. package/dist/esm/index.js +1 -1
  28. package/dist/esm/index.js.map +3 -3
  29. package/dist/esm/root.canister.js +1 -1
  30. package/dist/esm/sns.js +1 -1
  31. package/dist/esm/swap.canister.js +1 -1
  32. package/package.json +3 -3
  33. package/dist/esm/chunk-4I3PWDTO.js +0 -2
  34. package/dist/esm/chunk-4I3PWDTO.js.map +0 -7
  35. package/dist/esm/chunk-5YPS4ZYR.js +0 -2
  36. package/dist/esm/chunk-5YPS4ZYR.js.map +0 -7
  37. package/dist/esm/chunk-I6XQKGWZ.js +0 -2
  38. package/dist/esm/chunk-I6XQKGWZ.js.map +0 -7
  39. /package/dist/esm/{chunk-UV6BDZNF.js.map → chunk-X7UB3EAO.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- "use strict";var Ut=Object.defineProperty;var Cs=Object.getOwnPropertyDescriptor;var Ms=Object.getOwnPropertyNames;var Fs=Object.prototype.hasOwnProperty;var ks=(e,t)=>{for(var s in t)Ut(e,s,{get:t[s],enumerable:!0})},As=(e,t,s,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ms(t))!Fs.call(e,o)&&o!==s&&Ut(e,o,{get:()=>t[o],enumerable:!(n=Cs(t,o))||n.enumerable});return e};var Gs=e=>As(Ut({},"__esModule",{value:!0}),e);var Ds={};ks(Ds,{GetOpenTicketErrorType:()=>us,NewSaleTicketResponseErrorType:()=>ls,SnsGovernanceCanister:()=>Rt,SnsGovernanceError:()=>b,SnsGovernanceTestCanister:()=>Tt,SnsNeuronPermissionType:()=>is,SnsProposalDecisionStatus:()=>_s,SnsProposalRewardStatus:()=>cs,SnsRootCanister:()=>gt,SnsSwapCanister:()=>ft,SnsSwapGetOpenTicketError:()=>ht,SnsSwapLifecycle:()=>ds,SnsSwapNewTicketError:()=>Pt,SnsVote:()=>ps,SnsWrapper:()=>bt,UnsupportedMethodError:()=>St,fromCandidAction:()=>as,initSnsWrapper:()=>Is,neuronSubaccount:()=>Yt});module.exports=Gs(Ds);var p=require("@dfinity/utils");var Ot=({neuronId:{id:e},command:t})=>({subaccount:e,command:[t]}),vt=({neuronId:e,operation:t})=>Ot({neuronId:e,command:{Configure:{operation:[t]}}}),Ht=({owner:e,subaccount:t})=>({owner:(0,p.toNullable)(e),subaccount:t===void 0?[]:(0,p.toNullable)({subaccount:t})}),Jt=({neuronId:e,permissions:t,principal:s})=>Ot({neuronId:e,command:{AddNeuronPermissions:{permissions_to_add:[{permissions:Int32Array.from(t)}],principal_id:[s]}}}),$t=({neuronId:e,permissions:t,principal:s})=>Ot({neuronId:e,command:{RemoveNeuronPermissions:{permissions_to_remove:[{permissions:Int32Array.from(t)}],principal_id:[s]}}}),Xt=({neuronId:e,memo:t,amount:s})=>Ot({neuronId:e,command:{Split:{memo:t,amount_e8s:s}}}),Kt=({neuronId:e,amount:t,toAccount:s})=>Ot({neuronId:e,command:{Disburse:{to_account:s===void 0?[]:(0,p.toNullable)(Ht(s)),amount:t===void 0?[]:[{e8s:t}]}}}),Zt=e=>vt({neuronId:e,operation:{StartDissolving:{}}}),It=e=>vt({neuronId:e,operation:{StopDissolving:{}}}),Dt=({neuronId:e,percentageToStake:t})=>Ot({neuronId:e,command:{StakeMaturity:{percentage_to_stake:(0,p.toNullable)(t)}}}),Lt=({neuronId:e,percentageToDisburse:t,toAccount:s})=>Ot({neuronId:e,command:{DisburseMaturity:{to_account:s===void 0?[]:(0,p.toNullable)(Ht(s)),percentage_to_disburse:t}}}),es=({neuronId:e,autoStake:t})=>vt({neuronId:e,operation:{ChangeAutoStakeMaturity:{requested_setting_for_auto_stake_maturity:t}}}),ts=({neuronId:e,dissolveTimestampSeconds:t})=>vt({neuronId:e,operation:{SetDissolveTimestamp:{dissolve_timestamp_seconds:t}}}),ss=({neuronId:e,additionalDissolveDelaySeconds:t})=>vt({neuronId:e,operation:{IncreaseDissolveDelay:{additional_dissolve_delay_seconds:t}}}),ns=({neuronId:e,functionId:t,followees:s})=>({subaccount:e.id,command:[{Follow:{function_id:t,followees:s}}]}),os=({neuronId:e,proposalId:t,vote:s})=>({subaccount:e.id,command:[{RegisterVote:{vote:s,proposal:[t]}}]}),Bt=({subaccount:e,memo:t,controller:s})=>({subaccount:e,command:[{ClaimOrRefresh:{by:[t===void 0?{NeuronId:{}}:{MemoAndController:{memo:t,controller:(0,p.toNullable)(s)}}]}}]}),rs=({excludeType:e,beforeProposal:t,includeRewardStatus:s,includeStatus:n,limit:o})=>({exclude_type:BigUint64Array.from(e??[]),before_proposal:(0,p.toNullable)(t),include_reward_status:Int32Array.from(s??[]),include_status:Int32Array.from(n??[]),limit:o??10}),as=e=>{if("ManageNervousSystemParameters"in e)return{ManageNervousSystemParameters:Ys(e.ManageNervousSystemParameters)};if("AddGenericNervousSystemFunction"in e)return{AddGenericNervousSystemFunction:js(e.AddGenericNervousSystemFunction)};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:Bs(e.TransferSnsTreasuryFunds)};if("UpgradeSnsControlledCanister"in e)return{UpgradeSnsControlledCanister:Us(e.UpgradeSnsControlledCanister)};if("DeregisterDappCanisters"in e)return{DeregisterDappCanisters:e.DeregisterDappCanisters};if("Unspecified"in e)return{Unspecified:e.Unspecified};if("ManageSnsMetadata"in e)return{ManageSnsMetadata:qs(e.ManageSnsMetadata)};if("ExecuteGenericNervousSystemFunction"in e)return{ExecuteGenericNervousSystemFunction:e.ExecuteGenericNervousSystemFunction};if("Motion"in e)return{Motion:e.Motion};throw new Error(`Unknown action type ${JSON.stringify(e)}`)},qs=e=>({url:(0,p.fromNullable)(e.url),logo:(0,p.fromNullable)(e.logo),name:(0,p.fromNullable)(e.name),description:(0,p.fromNullable)(e.description)}),Us=e=>({new_canister_wasm:e.new_canister_wasm,canister_id:(0,p.fromNullable)(e.canister_id),canister_upgrade_arg:(0,p.fromNullable)(e.canister_upgrade_arg),mode:(0,p.fromNullable)(e.mode)}),Bs=e=>({from_treasury:e.from_treasury,to_principal:(0,p.fromNullable)(e.to_principal),to_subaccount:(0,p.fromNullable)(e.to_subaccount),memo:(0,p.fromNullable)(e.memo),amount_e8s:e.amount_e8s}),zs=e=>({validator_canister_id:(0,p.fromNullable)(e.validator_canister_id),target_canister_id:(0,p.fromNullable)(e.target_canister_id),validator_method_name:(0,p.fromNullable)(e.validator_method_name),target_method_name:(0,p.fromNullable)(e.target_method_name)}),Qs=e=>{if(e!==void 0){if("NativeNervousSystemFunction"in e)return{NativeNervousSystemFunction:e.NativeNervousSystemFunction};if("GenericNervousSystemFunction"in e)return{GenericNervousSystemFunction:zs(e.GenericNervousSystemFunction)};throw new Error(`Unknown FunctionType ${JSON.stringify(e)}`)}},js=e=>({id:e.id,name:e.name,description:(0,p.fromNullable)(e.description),function_type:Qs((0,p.fromNullable)(e.function_type))}),Ws=e=>e&&{final_reward_rate_basis_points:(0,p.fromNullable)(e.final_reward_rate_basis_points),initial_reward_rate_basis_points:(0,p.fromNullable)(e.initial_reward_rate_basis_points),reward_rate_transition_duration_seconds:(0,p.fromNullable)(e.reward_rate_transition_duration_seconds),round_duration_seconds:(0,p.fromNullable)(e.round_duration_seconds)},Ys=e=>({default_followees:(0,p.fromNullable)(e.default_followees),max_dissolve_delay_seconds:(0,p.fromNullable)(e.max_dissolve_delay_seconds),max_dissolve_delay_bonus_percentage:(0,p.fromNullable)(e.max_dissolve_delay_bonus_percentage),max_followees_per_function:(0,p.fromNullable)(e.max_followees_per_function),neuron_claimer_permissions:(0,p.fromNullable)(e.neuron_claimer_permissions),neuron_minimum_stake_e8s:(0,p.fromNullable)(e.neuron_minimum_stake_e8s),max_neuron_age_for_age_bonus:(0,p.fromNullable)(e.max_neuron_age_for_age_bonus),initial_voting_period_seconds:(0,p.fromNullable)(e.initial_voting_period_seconds),neuron_minimum_dissolve_delay_to_vote_seconds:(0,p.fromNullable)(e.neuron_minimum_dissolve_delay_to_vote_seconds),reject_cost_e8s:(0,p.fromNullable)(e.reject_cost_e8s),max_proposals_to_keep_per_action:(0,p.fromNullable)(e.max_proposals_to_keep_per_action),wait_for_quiet_deadline_increase_seconds:(0,p.fromNullable)(e.wait_for_quiet_deadline_increase_seconds),max_number_of_neurons:(0,p.fromNullable)(e.max_number_of_neurons),transaction_fee_e8s:(0,p.fromNullable)(e.transaction_fee_e8s),max_number_of_proposals_with_ballots:(0,p.fromNullable)(e.max_number_of_proposals_with_ballots),max_age_bonus_percentage:(0,p.fromNullable)(e.max_age_bonus_percentage),neuron_grantable_permissions:(0,p.fromNullable)(e.neuron_grantable_permissions),voting_rewards_parameters:Ws((0,p.fromNullable)(e.voting_rewards_parameters)),max_number_of_principals_per_neuron:(0,p.fromNullable)(e.max_number_of_principals_per_neuron)});var is=(c=>(c[c.NEURON_PERMISSION_TYPE_UNSPECIFIED=0]="NEURON_PERMISSION_TYPE_UNSPECIFIED",c[c.NEURON_PERMISSION_TYPE_CONFIGURE_DISSOLVE_STATE=1]="NEURON_PERMISSION_TYPE_CONFIGURE_DISSOLVE_STATE",c[c.NEURON_PERMISSION_TYPE_MANAGE_PRINCIPALS=2]="NEURON_PERMISSION_TYPE_MANAGE_PRINCIPALS",c[c.NEURON_PERMISSION_TYPE_SUBMIT_PROPOSAL=3]="NEURON_PERMISSION_TYPE_SUBMIT_PROPOSAL",c[c.NEURON_PERMISSION_TYPE_VOTE=4]="NEURON_PERMISSION_TYPE_VOTE",c[c.NEURON_PERMISSION_TYPE_DISBURSE=5]="NEURON_PERMISSION_TYPE_DISBURSE",c[c.NEURON_PERMISSION_TYPE_SPLIT=6]="NEURON_PERMISSION_TYPE_SPLIT",c[c.NEURON_PERMISSION_TYPE_MERGE_MATURITY=7]="NEURON_PERMISSION_TYPE_MERGE_MATURITY",c[c.NEURON_PERMISSION_TYPE_DISBURSE_MATURITY=8]="NEURON_PERMISSION_TYPE_DISBURSE_MATURITY",c[c.NEURON_PERMISSION_TYPE_STAKE_MATURITY=9]="NEURON_PERMISSION_TYPE_STAKE_MATURITY",c[c.NEURON_PERMISSION_TYPE_MANAGE_VOTING_PERMISSION=10]="NEURON_PERMISSION_TYPE_MANAGE_VOTING_PERMISSION",c))(is||{}),cs=(o=>(o[o.PROPOSAL_REWARD_STATUS_UNSPECIFIED=0]="PROPOSAL_REWARD_STATUS_UNSPECIFIED",o[o.PROPOSAL_REWARD_STATUS_ACCEPT_VOTES=1]="PROPOSAL_REWARD_STATUS_ACCEPT_VOTES",o[o.PROPOSAL_REWARD_STATUS_READY_TO_SETTLE=2]="PROPOSAL_REWARD_STATUS_READY_TO_SETTLE",o[o.PROPOSAL_REWARD_STATUS_SETTLED=3]="PROPOSAL_REWARD_STATUS_SETTLED",o))(cs||{}),_s=(r=>(r[r.PROPOSAL_DECISION_STATUS_UNSPECIFIED=0]="PROPOSAL_DECISION_STATUS_UNSPECIFIED",r[r.PROPOSAL_DECISION_STATUS_OPEN=1]="PROPOSAL_DECISION_STATUS_OPEN",r[r.PROPOSAL_DECISION_STATUS_REJECTED=2]="PROPOSAL_DECISION_STATUS_REJECTED",r[r.PROPOSAL_DECISION_STATUS_ADOPTED=3]="PROPOSAL_DECISION_STATUS_ADOPTED",r[r.PROPOSAL_DECISION_STATUS_EXECUTED=4]="PROPOSAL_DECISION_STATUS_EXECUTED",r[r.PROPOSAL_DECISION_STATUS_FAILED=5]="PROPOSAL_DECISION_STATUS_FAILED",r))(_s||{}),ps=(n=>(n[n.Unspecified=0]="Unspecified",n[n.Yes=1]="Yes",n[n.No=2]="No",n))(ps||{});var ds=(r=>(r[r.Unspecified=0]="Unspecified",r[r.Pending=1]="Pending",r[r.Open=2]="Open",r[r.Committed=3]="Committed",r[r.Aborted=4]="Aborted",r[r.Adopted=5]="Adopted",r))(ds||{}),us=(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))(us||{}),ls=(i=>(i[i.TYPE_UNSPECIFIED=0]="TYPE_UNSPECIFIED",i[i.TYPE_SALE_NOT_OPEN=1]="TYPE_SALE_NOT_OPEN",i[i.TYPE_SALE_CLOSED=2]="TYPE_SALE_CLOSED",i[i.TYPE_TICKET_EXISTS=3]="TYPE_TICKET_EXISTS",i[i.TYPE_INVALID_USER_AMOUNT=4]="TYPE_INVALID_USER_AMOUNT",i[i.TYPE_INVALID_SUBACCOUNT=5]="TYPE_INVALID_SUBACCOUNT",i[i.TYPE_INVALID_PRINCIPAL=6]="TYPE_INVALID_PRINCIPAL",i))(ls||{});var St=class extends Error{constructor(s){super();this.methodName=s}};var b=class extends Error{};var Pt=class extends Error{constructor({errorType:t,invalidUserAmount:s,existingTicket:n}){super(),this.errorType=t,this.invalidUserAmount=s,this.existingTicket=n}},ht=class extends Error{constructor(s){super();this.errorType=s}};var T=require("@dfinity/utils");var ms=({IDL:e})=>{let t=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64)}),s=e.Record({archive_wasm_hash:e.Vec(e.Nat8),root_wasm_hash:e.Vec(e.Nat8),swap_wasm_hash:e.Vec(e.Nat8),ledger_wasm_hash:e.Vec(e.Nat8),governance_wasm_hash:e.Vec(e.Nat8),index_wasm_hash:e.Vec(e.Nat8)}),n=e.Record({versions:e.Vec(s)}),o=e.Record({upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),a=e.Record({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)}),r=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:a}),i=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(r)}),d=e.Record({not_dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),garbage_collectable_neurons_count:e.Nat64,neurons_with_invalid_stake_count:e.Nat64,not_dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),neurons_with_less_than_6_months_dissolve_delay_count:e.Nat64,dissolved_neurons_count:e.Nat64,total_staked_e8s:e.Nat64,total_supply_governance_tokens:e.Nat64,not_dissolving_neurons_count:e.Nat64,dissolved_neurons_e8s:e.Nat64,neurons_with_less_than_6_months_dissolve_delay_e8s:e.Nat64,dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),dissolving_neurons_count:e.Nat64,dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),timestamp_seconds:e.Nat64}),l=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),_=e.Record({id:e.Vec(e.Nat8)}),c=e.Record({followees:e.Vec(_)}),u=e.Record({followees:e.Vec(e.Tuple(e.Nat64,c))}),m=e.Record({permissions:e.Vec(e.Int32)}),w=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)}),g=e.Record({default_followees:e.Opt(u),max_dissolve_delay_seconds:e.Opt(e.Nat64),max_dissolve_delay_bonus_percentage:e.Opt(e.Nat64),max_followees_per_function:e.Opt(e.Nat64),neuron_claimer_permissions:e.Opt(m),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(m),voting_rewards_parameters:e.Opt(w),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),O=e.Record({id:e.Nat64}),y=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(O)}),v=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Nat64,target_version:e.Opt(s)}),R=e.Record({error_message:e.Text,error_type:e.Int32}),f=e.Record({subaccount:e.Vec(e.Nat8)}),N=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(f)}),h=e.Record({human_readable:e.Opt(e.Text)}),K=e.Record({e8s:e.Opt(e.Nat64)}),Z=e.Record({xdrs_per_icp:e.Opt(h),icps_per_token:e.Opt(h),tokens:e.Opt(K)}),I=e.Record({token:e.Opt(e.Int32),account:e.Opt(N),valuation_factors:e.Opt(Z),timestamp_seconds:e.Opt(e.Nat64)}),M=e.Record({valuation:e.Opt(I)}),D=e.Variant({TransferSnsTreasuryFunds:M,MintSnsTokens:M}),F=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),k=e.Record({basis_points:e.Opt(e.Nat64)}),L=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),J=e.Record({freezing_threshold:e.Opt(e.Nat64),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)}),A=e.Record({canister_ids:e.Vec(e.Principal)}),ee=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(f),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),te=e.Record({new_canister_wasm:e.Vec(e.Nat8),mode:e.Opt(e.Int32),canister_id:e.Opt(e.Principal),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),se=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ne=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(f),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),G=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),oe=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),re=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)}),ae=e.Record({motion_text:e.Text}),ie=e.Variant({ManageNervousSystemParameters:g,AddGenericNervousSystemFunction:i,ManageDappCanisterSettings:J,RemoveGenericNervousSystemFunction:e.Nat64,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:A,TransferSnsTreasuryFunds:ee,UpgradeSnsControlledCanister:te,DeregisterDappCanisters:se,MintSnsTokens:ne,Unspecified:e.Record({}),ManageSnsMetadata:G,ExecuteGenericNervousSystemFunction:oe,ManageLedgerParameters:re,Motion:ae}),S=e.Record({url:e.Text,title:e.Text,action:e.Opt(ie),summary:e.Text}),E=e.Record({current_deadline_timestamp_seconds:e.Nat64}),x=e.Record({id:e.Opt(O),payload_text_rendering:e.Opt(e.Text),action:e.Nat64,failure_reason:e.Opt(R),action_auxiliary:e.Opt(D),ballots:e.Vec(e.Tuple(e.Text,F)),minimum_yes_proportion_of_total:e.Opt(k),reward_event_round:e.Nat64,failed_timestamp_seconds:e.Nat64,reward_event_end_timestamp_seconds:e.Opt(e.Nat64),proposal_creation_timestamp_seconds:e.Nat64,initial_voting_period_seconds:e.Nat64,reject_cost_e8s:e.Nat64,latest_tally:e.Opt(L),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(S),proposer:e.Opt(_),wait_for_quiet_state:e.Opt(E),minimum_yes_proportion_of_exercised:e.Opt(k),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),q=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),U=e.Record({function_id:e.Nat64,followees:e.Vec(_)}),V=e.Record({to_account:e.Opt(N),percentage_to_disburse:e.Nat32}),ce=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),_e=e.Record({additional_dissolve_delay_seconds:e.Nat32}),pe=e.Record({dissolve_timestamp_seconds:e.Nat64}),$=e.Variant({ChangeAutoStakeMaturity:ce,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:_e,SetDissolveTimestamp:pe}),B=e.Record({operation:e.Opt($)}),z=e.Record({vote:e.Int32,proposal:e.Opt(O)}),de=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(N)}),X=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),ue=e.Variant({MemoAndController:X,NeuronId:e.Record({})}),Q=e.Record({by:e.Opt(ue)}),C=e.Record({permissions_to_remove:e.Opt(m),principal_id:e.Opt(e.Principal)}),j=e.Record({permissions_to_add:e.Opt(m),principal_id:e.Opt(e.Principal)}),W=e.Record({percentage_to_merge:e.Nat32}),le=e.Record({e8s:e.Nat64}),Y=e.Record({to_account:e.Opt(N),amount:e.Opt(le)}),me=e.Variant({Split:q,Follow:U,DisburseMaturity:V,Configure:B,RegisterVote:z,SyncCommand:e.Record({}),MakeProposal:S,FinalizeDisburseMaturity:de,ClaimOrRefreshNeuron:Q,RemoveNeuronPermissions:C,AddNeuronPermissions:j,MergeMaturity:W,Disburse:Y}),Ne=e.Record({command:e.Opt(me),timestamp:e.Nat64}),Oe=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),Re=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),ge=e.Record({timestamp_of_disbursement_seconds:e.Nat64,amount_e8s:e.Nat64,account_to_disburse_to:e.Opt(N),finalize_disbursement_timestamp_seconds:e.Opt(e.Nat64)}),P=e.Record({id:e.Opt(_),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),permissions:e.Vec(Oe),maturity_e8s_equivalent:e.Nat64,cached_neuron_stake_e8s:e.Nat64,created_timestamp_seconds:e.Nat64,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(Re),voting_power_percentage_multiplier:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64),disburse_maturity_in_progress:e.Vec(ge),followees:e.Vec(e.Tuple(e.Nat64,c)),neuron_fees_e8s:e.Nat64}),Fe=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(t),cached_upgrade_steps:e.Opt(o),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,i)),metrics:e.Opt(d),maturity_modulation:e.Opt(l),mode:e.Int32,parameters:e.Opt(g),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(s),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(y),pending_version:e.Opt(v),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,x)),in_flight_commands:e.Vec(e.Tuple(e.Text,Ne)),sns_metadata:e.Opt(G),neurons:e.Vec(e.Tuple(e.Text,P)),target_version:e.Opt(s),genesis_timestamp_seconds:e.Nat64}),ye=e.Record({principals:e.Vec(e.Principal)}),fe=e.Record({nns_neuron_hotkeys:e.Opt(ye),nns_neuron_controller:e.Opt(e.Principal),nns_neuron_id:e.Opt(e.Nat64)}),ve=e.Variant({NeuronsFund:fe,Direct:e.Record({})}),Se=e.Record({neuron_ids:e.Vec(_)}),Pe=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),participant:e.Opt(ve),stake_e8s:e.Opt(e.Nat64),followees:e.Opt(Se),neuron_id:e.Opt(_)}),he=e.Record({neuron_recipes:e.Vec(Pe)}),ke=e.Record({neuron_recipes:e.Opt(he)}),Ae=e.Record({id:e.Opt(_),status:e.Int32}),Ge=e.Record({swap_neurons:e.Vec(Ae)}),Ee=e.Variant({Ok:Ge,Err:e.Int32}),qe=e.Record({claim_swap_neurons_result:e.Opt(Ee)}),Ue=e.Record({maturity_modulation:e.Opt(l)}),Be=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),ze=e.Record({mode:e.Opt(e.Int32)}),Qe=e.Record({neuron_id:e.Opt(_)}),je=e.Variant({Error:R,Neuron:P}),We=e.Record({result:e.Opt(je)}),we=e.Record({proposal_id:e.Opt(O)}),Ye=e.Variant({Error:R,Proposal:x}),He=e.Record({result:e.Opt(Ye)}),Je=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),Ve=e.Record({freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),$e=e.Record({status:Je,memory_size:e.Nat,cycles:e.Nat,settings:Ve,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),Xe=e.Record({deployed_version:e.Opt(s),pending_version:e.Opt(v)}),Ke=e.Record({sns_initialization_parameters:e.Text}),Ze=e.Record({timers:e.Opt(t)}),Ie=e.Record({}),De=e.Record({upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),target_version:e.Opt(s)}),Le=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(i)}),et=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(_)}),tt=e.Record({neurons:e.Vec(P)}),st=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(O),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_status:e.Vec(e.Int32)}),nt=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(x)}),ot=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),rt=e.Variant({Split:q,Follow:U,DisburseMaturity:V,ClaimOrRefresh:Q,Configure:B,RegisterVote:z,MakeProposal:S,StakeMaturity:ot,RemoveNeuronPermissions:C,AddNeuronPermissions:j,MergeMaturity:W,Disburse:Y}),at=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(rt)}),it=e.Record({created_neuron_id:e.Opt(_)}),ct=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),_t=e.Record({refreshed_neuron_id:e.Opt(_)}),pt=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),dt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),ut=e.Record({transfer_block_height:e.Nat64}),lt=e.Variant({Error:R,Split:it,Follow:e.Record({}),DisburseMaturity:ct,ClaimOrRefresh:_t,Configure:e.Record({}),RegisterVote:e.Record({}),MakeProposal:we,RemoveNeuronPermission:e.Record({}),StakeMaturity:pt,MergeMaturity:dt,Disburse:ut,AddNeuronPermission:e.Record({})}),mt=e.Record({command:e.Opt(lt)}),Nt=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([ke],[qe],[]),fail_stuck_upgrade_in_progress:e.Func([e.Record({})],[e.Record({})],[]),get_build_metadata:e.Func([],[e.Text],[]),get_latest_reward_event:e.Func([],[y],[]),get_maturity_modulation:e.Func([e.Record({})],[Ue],[]),get_metadata:e.Func([e.Record({})],[Be],[]),get_mode:e.Func([e.Record({})],[ze],[]),get_nervous_system_parameters:e.Func([e.Null],[g],[]),get_neuron:e.Func([Qe],[We],[]),get_proposal:e.Func([we],[He],[]),get_root_canister_status:e.Func([e.Null],[$e],[]),get_running_sns_version:e.Func([e.Record({})],[Xe],[]),get_sns_initialization_parameters:e.Func([e.Record({})],[Ke],[]),get_timers:e.Func([e.Record({})],[Ze],[]),get_upgrade_journal:e.Func([Ie],[De],[]),list_nervous_system_functions:e.Func([],[Le],[]),list_neurons:e.Func([et],[tt],[]),list_proposals:e.Func([st],[nt],[]),manage_neuron:e.Func([at],[mt],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([Nt],[e.Record({})],[])})};var Ns=({IDL:e})=>{let t=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64)}),s=e.Record({archive_wasm_hash:e.Vec(e.Nat8),root_wasm_hash:e.Vec(e.Nat8),swap_wasm_hash:e.Vec(e.Nat8),ledger_wasm_hash:e.Vec(e.Nat8),governance_wasm_hash:e.Vec(e.Nat8),index_wasm_hash:e.Vec(e.Nat8)}),n=e.Record({versions:e.Vec(s)}),o=e.Record({upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),a=e.Record({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)}),r=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:a}),i=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(r)}),d=e.Record({not_dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),garbage_collectable_neurons_count:e.Nat64,neurons_with_invalid_stake_count:e.Nat64,not_dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),neurons_with_less_than_6_months_dissolve_delay_count:e.Nat64,dissolved_neurons_count:e.Nat64,total_staked_e8s:e.Nat64,total_supply_governance_tokens:e.Nat64,not_dissolving_neurons_count:e.Nat64,dissolved_neurons_e8s:e.Nat64,neurons_with_less_than_6_months_dissolve_delay_e8s:e.Nat64,dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),dissolving_neurons_count:e.Nat64,dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),timestamp_seconds:e.Nat64}),l=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),_=e.Record({id:e.Vec(e.Nat8)}),c=e.Record({followees:e.Vec(_)}),u=e.Record({followees:e.Vec(e.Tuple(e.Nat64,c))}),m=e.Record({permissions:e.Vec(e.Int32)}),w=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)}),g=e.Record({default_followees:e.Opt(u),max_dissolve_delay_seconds:e.Opt(e.Nat64),max_dissolve_delay_bonus_percentage:e.Opt(e.Nat64),max_followees_per_function:e.Opt(e.Nat64),neuron_claimer_permissions:e.Opt(m),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(m),voting_rewards_parameters:e.Opt(w),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),O=e.Record({id:e.Nat64}),y=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(O)}),v=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Nat64,target_version:e.Opt(s)}),R=e.Record({error_message:e.Text,error_type:e.Int32}),f=e.Record({subaccount:e.Vec(e.Nat8)}),N=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(f)}),h=e.Record({human_readable:e.Opt(e.Text)}),K=e.Record({e8s:e.Opt(e.Nat64)}),Z=e.Record({xdrs_per_icp:e.Opt(h),icps_per_token:e.Opt(h),tokens:e.Opt(K)}),I=e.Record({token:e.Opt(e.Int32),account:e.Opt(N),valuation_factors:e.Opt(Z),timestamp_seconds:e.Opt(e.Nat64)}),M=e.Record({valuation:e.Opt(I)}),D=e.Variant({TransferSnsTreasuryFunds:M,MintSnsTokens:M}),F=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),k=e.Record({basis_points:e.Opt(e.Nat64)}),L=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),J=e.Record({freezing_threshold:e.Opt(e.Nat64),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)}),A=e.Record({canister_ids:e.Vec(e.Principal)}),ee=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(f),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),te=e.Record({new_canister_wasm:e.Vec(e.Nat8),mode:e.Opt(e.Int32),canister_id:e.Opt(e.Principal),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),se=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ne=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(f),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),G=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),oe=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),re=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)}),ae=e.Record({motion_text:e.Text}),ie=e.Variant({ManageNervousSystemParameters:g,AddGenericNervousSystemFunction:i,ManageDappCanisterSettings:J,RemoveGenericNervousSystemFunction:e.Nat64,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:A,TransferSnsTreasuryFunds:ee,UpgradeSnsControlledCanister:te,DeregisterDappCanisters:se,MintSnsTokens:ne,Unspecified:e.Record({}),ManageSnsMetadata:G,ExecuteGenericNervousSystemFunction:oe,ManageLedgerParameters:re,Motion:ae}),S=e.Record({url:e.Text,title:e.Text,action:e.Opt(ie),summary:e.Text}),E=e.Record({current_deadline_timestamp_seconds:e.Nat64}),x=e.Record({id:e.Opt(O),payload_text_rendering:e.Opt(e.Text),action:e.Nat64,failure_reason:e.Opt(R),action_auxiliary:e.Opt(D),ballots:e.Vec(e.Tuple(e.Text,F)),minimum_yes_proportion_of_total:e.Opt(k),reward_event_round:e.Nat64,failed_timestamp_seconds:e.Nat64,reward_event_end_timestamp_seconds:e.Opt(e.Nat64),proposal_creation_timestamp_seconds:e.Nat64,initial_voting_period_seconds:e.Nat64,reject_cost_e8s:e.Nat64,latest_tally:e.Opt(L),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(S),proposer:e.Opt(_),wait_for_quiet_state:e.Opt(E),minimum_yes_proportion_of_exercised:e.Opt(k),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),q=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),U=e.Record({function_id:e.Nat64,followees:e.Vec(_)}),V=e.Record({to_account:e.Opt(N),percentage_to_disburse:e.Nat32}),ce=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),_e=e.Record({additional_dissolve_delay_seconds:e.Nat32}),pe=e.Record({dissolve_timestamp_seconds:e.Nat64}),$=e.Variant({ChangeAutoStakeMaturity:ce,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:_e,SetDissolveTimestamp:pe}),B=e.Record({operation:e.Opt($)}),z=e.Record({vote:e.Int32,proposal:e.Opt(O)}),de=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(N)}),X=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),ue=e.Variant({MemoAndController:X,NeuronId:e.Record({})}),Q=e.Record({by:e.Opt(ue)}),C=e.Record({permissions_to_remove:e.Opt(m),principal_id:e.Opt(e.Principal)}),j=e.Record({permissions_to_add:e.Opt(m),principal_id:e.Opt(e.Principal)}),W=e.Record({percentage_to_merge:e.Nat32}),le=e.Record({e8s:e.Nat64}),Y=e.Record({to_account:e.Opt(N),amount:e.Opt(le)}),me=e.Variant({Split:q,Follow:U,DisburseMaturity:V,Configure:B,RegisterVote:z,SyncCommand:e.Record({}),MakeProposal:S,FinalizeDisburseMaturity:de,ClaimOrRefreshNeuron:Q,RemoveNeuronPermissions:C,AddNeuronPermissions:j,MergeMaturity:W,Disburse:Y}),Ne=e.Record({command:e.Opt(me),timestamp:e.Nat64}),Oe=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),Re=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),ge=e.Record({timestamp_of_disbursement_seconds:e.Nat64,amount_e8s:e.Nat64,account_to_disburse_to:e.Opt(N),finalize_disbursement_timestamp_seconds:e.Opt(e.Nat64)}),P=e.Record({id:e.Opt(_),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),permissions:e.Vec(Oe),maturity_e8s_equivalent:e.Nat64,cached_neuron_stake_e8s:e.Nat64,created_timestamp_seconds:e.Nat64,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(Re),voting_power_percentage_multiplier:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64),disburse_maturity_in_progress:e.Vec(ge),followees:e.Vec(e.Tuple(e.Nat64,c)),neuron_fees_e8s:e.Nat64}),Fe=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(t),cached_upgrade_steps:e.Opt(o),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,i)),metrics:e.Opt(d),maturity_modulation:e.Opt(l),mode:e.Int32,parameters:e.Opt(g),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(s),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(y),pending_version:e.Opt(v),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,x)),in_flight_commands:e.Vec(e.Tuple(e.Text,Ne)),sns_metadata:e.Opt(G),neurons:e.Vec(e.Tuple(e.Text,P)),target_version:e.Opt(s),genesis_timestamp_seconds:e.Nat64}),ye=e.Record({principals:e.Vec(e.Principal)}),fe=e.Record({nns_neuron_hotkeys:e.Opt(ye),nns_neuron_controller:e.Opt(e.Principal),nns_neuron_id:e.Opt(e.Nat64)}),ve=e.Variant({NeuronsFund:fe,Direct:e.Record({})}),Se=e.Record({neuron_ids:e.Vec(_)}),Pe=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),participant:e.Opt(ve),stake_e8s:e.Opt(e.Nat64),followees:e.Opt(Se),neuron_id:e.Opt(_)}),he=e.Record({neuron_recipes:e.Vec(Pe)}),ke=e.Record({neuron_recipes:e.Opt(he)}),Ae=e.Record({id:e.Opt(_),status:e.Int32}),Ge=e.Record({swap_neurons:e.Vec(Ae)}),Ee=e.Variant({Ok:Ge,Err:e.Int32}),qe=e.Record({claim_swap_neurons_result:e.Opt(Ee)}),Ue=e.Record({maturity_modulation:e.Opt(l)}),Be=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),ze=e.Record({mode:e.Opt(e.Int32)}),Qe=e.Record({neuron_id:e.Opt(_)}),je=e.Variant({Error:R,Neuron:P}),We=e.Record({result:e.Opt(je)}),we=e.Record({proposal_id:e.Opt(O)}),Ye=e.Variant({Error:R,Proposal:x}),He=e.Record({result:e.Opt(Ye)}),Je=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),Ve=e.Record({freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),$e=e.Record({status:Je,memory_size:e.Nat,cycles:e.Nat,settings:Ve,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),Xe=e.Record({deployed_version:e.Opt(s),pending_version:e.Opt(v)}),Ke=e.Record({sns_initialization_parameters:e.Text}),Ze=e.Record({timers:e.Opt(t)}),Ie=e.Record({}),De=e.Record({upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),target_version:e.Opt(s)}),Le=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(i)}),et=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(_)}),tt=e.Record({neurons:e.Vec(P)}),st=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(O),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_status:e.Vec(e.Int32)}),nt=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(x)}),ot=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),rt=e.Variant({Split:q,Follow:U,DisburseMaturity:V,ClaimOrRefresh:Q,Configure:B,RegisterVote:z,MakeProposal:S,StakeMaturity:ot,RemoveNeuronPermissions:C,AddNeuronPermissions:j,MergeMaturity:W,Disburse:Y}),at=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(rt)}),it=e.Record({created_neuron_id:e.Opt(_)}),ct=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),_t=e.Record({refreshed_neuron_id:e.Opt(_)}),pt=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),dt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),ut=e.Record({transfer_block_height:e.Nat64}),lt=e.Variant({Error:R,Split:it,Follow:e.Record({}),DisburseMaturity:ct,ClaimOrRefresh:_t,Configure:e.Record({}),RegisterVote:e.Record({}),MakeProposal:we,RemoveNeuronPermission:e.Record({}),StakeMaturity:pt,MergeMaturity:dt,Disburse:ut,AddNeuronPermission:e.Record({})}),mt=e.Record({command:e.Opt(lt)}),Nt=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([ke],[qe],[]),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([],[y],["query"]),get_maturity_modulation:e.Func([e.Record({})],[Ue],[]),get_metadata:e.Func([e.Record({})],[Be],["query"]),get_mode:e.Func([e.Record({})],[ze],["query"]),get_nervous_system_parameters:e.Func([e.Null],[g],["query"]),get_neuron:e.Func([Qe],[We],["query"]),get_proposal:e.Func([we],[He],["query"]),get_root_canister_status:e.Func([e.Null],[$e],[]),get_running_sns_version:e.Func([e.Record({})],[Xe],["query"]),get_sns_initialization_parameters:e.Func([e.Record({})],[Ke],["query"]),get_timers:e.Func([e.Record({})],[Ze],["query"]),get_upgrade_journal:e.Func([Ie],[De],["query"]),list_nervous_system_functions:e.Func([],[Le],["query"]),list_neurons:e.Func([et],[tt],["query"]),list_proposals:e.Func([st],[nt],["query"]),manage_neuron:e.Func([at],[mt],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([Nt],[e.Record({})],[])})};var Rt=class e extends T.Canister{constructor(){super(...arguments);this.listNeurons=async s=>{let{principal:n,limit:o,beforeNeuronId:a}=s,{neurons:r}=await this.caller(s).list_neurons({of_principal:(0,T.toNullable)(n),limit:o??100,start_page_at:(0,T.toNullable)(a)});return r};this.listProposals=async s=>{let{certified:n}=s;return await this.caller({certified:n}).list_proposals(rs(s))};this.getProposal=async s=>{let{proposalId:n}=s,{result:o}=await this.caller(s).get_proposal({proposal_id:(0,T.toNullable)(n)}),a=(0,T.fromNullable)(o);if(a===void 0||"Error"in a)throw new b((a==null?void 0:a.Error.error_message)??"Response type not supported");return a.Proposal};this.listNervousSystemFunctions=async s=>this.caller(s).list_nervous_system_functions();this.metadata=s=>this.caller(s).get_metadata({});this.nervousSystemParameters=s=>this.caller(s).get_nervous_system_parameters(null);this.getNeuron=async s=>{let{neuronId:n}=s,{result:o}=await this.caller(s).get_neuron({neuron_id:(0,T.toNullable)(n)}),a=(0,T.fromNullable)(o);if(a===void 0||"Error"in a)throw new b((a==null?void 0:a.Error.error_message)??"Response type not supported");return a.Neuron};this.queryNeuron=async s=>{try{return await this.getNeuron(s)}catch(n){if(n instanceof Error&&n.message.includes("No neuron for given NeuronId"))return;throw n}};this.manageNeuron=async s=>{let n=await this.caller({certified:!0}).manage_neuron(s);return this.assertManageNeuronError(n),n};this.addNeuronPermissions=async s=>{let n=Jt(s);await this.manageNeuron(n)};this.removeNeuronPermissions=async s=>{let n=$t(s);await this.manageNeuron(n)};this.splitNeuron=async s=>{let n=Xt(s),{command:o}=await this.manageNeuron(n),a=(0,T.fromNullable)(o),r=i=>`Split neuron failed (${i})`;if(a===void 0)throw new b(r("no response"));if("Split"in a){let i=a.Split,d=(0,T.fromNullable)(i.created_neuron_id);if(d!==void 0)return d;throw new b(r("no id"))}throw new b(r("unknown"))};this.disburse=async s=>{let n=Kt(s);await this.manageNeuron(n)};this.startDissolving=async s=>{let n=Zt(s);await this.manageNeuron(n)};this.stopDissolving=async s=>{let n=It(s);await this.manageNeuron(n)};this.stakeMaturity=async({neuronId:s,percentageToStake:n})=>{(0,T.assertPercentageNumber)(n??100);let o=Dt({neuronId:s,percentageToStake:n});await this.manageNeuron(o)};this.disburseMaturity=async s=>{(0,T.assertPercentageNumber)(s.percentageToDisburse);let n=Lt(s);await this.manageNeuron(n)};this.autoStakeMaturity=async s=>{let n=es(s);await this.manageNeuron(n)};this.setDissolveTimestamp=async s=>{let n=ts(s);await this.manageNeuron(n)};this.increaseDissolveDelay=async s=>{let n=ss(s);await this.manageNeuron(n)};this.setTopicFollowees=async s=>{let n=ns(s);await this.manageNeuron(n)};this.registerVote=async s=>{let n=os(s);await this.manageNeuron(n)};this.refreshNeuron=async s=>{let n=Bt({subaccount:s.id});await this.manageNeuron(n)};this.claimNeuron=async({memo:s,controller:n,subaccount:o})=>{let a=Bt({subaccount:o,memo:s,controller:n}),{command:r}=await this.manageNeuron(a),i=(0,T.fromNullable)(r);if(i===void 0)throw new b("Claim neuron failed");if("ClaimOrRefresh"in i){let d=(0,T.fromNullable)(i.ClaimOrRefresh.refreshed_neuron_id);if(d===void 0)throw new b("Claim neuron failed");return d}throw new b("Claim neuron failed")};this.assertManageNeuronError=({command:s})=>{let n=s[0];if(n!==void 0&&"Error"in n)throw new b(n.Error.error_message)}}static create(s){let{service:n,certifiedService:o,canisterId:a}=(0,T.createServices)({options:s,idlFactory:Ns,certifiedIdlFactory:ms});return new e(a,n,o)}};var xe=require("@dfinity/utils");var Os=({IDL:e})=>{let t=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64)}),s=e.Record({archive_wasm_hash:e.Vec(e.Nat8),root_wasm_hash:e.Vec(e.Nat8),swap_wasm_hash:e.Vec(e.Nat8),ledger_wasm_hash:e.Vec(e.Nat8),governance_wasm_hash:e.Vec(e.Nat8),index_wasm_hash:e.Vec(e.Nat8)}),n=e.Record({versions:e.Vec(s)}),o=e.Record({upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),a=e.Record({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)}),r=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:a}),i=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(r)}),d=e.Record({not_dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),garbage_collectable_neurons_count:e.Nat64,neurons_with_invalid_stake_count:e.Nat64,not_dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),neurons_with_less_than_6_months_dissolve_delay_count:e.Nat64,dissolved_neurons_count:e.Nat64,total_staked_e8s:e.Nat64,total_supply_governance_tokens:e.Nat64,not_dissolving_neurons_count:e.Nat64,dissolved_neurons_e8s:e.Nat64,neurons_with_less_than_6_months_dissolve_delay_e8s:e.Nat64,dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),dissolving_neurons_count:e.Nat64,dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),timestamp_seconds:e.Nat64}),l=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),_=e.Record({id:e.Vec(e.Nat8)}),c=e.Record({followees:e.Vec(_)}),u=e.Record({followees:e.Vec(e.Tuple(e.Nat64,c))}),m=e.Record({permissions:e.Vec(e.Int32)}),w=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)}),g=e.Record({default_followees:e.Opt(u),max_dissolve_delay_seconds:e.Opt(e.Nat64),max_dissolve_delay_bonus_percentage:e.Opt(e.Nat64),max_followees_per_function:e.Opt(e.Nat64),neuron_claimer_permissions:e.Opt(m),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(m),voting_rewards_parameters:e.Opt(w),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),O=e.Record({id:e.Nat64}),y=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(O)}),v=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Nat64,target_version:e.Opt(s)}),R=e.Record({error_message:e.Text,error_type:e.Int32}),f=e.Record({subaccount:e.Vec(e.Nat8)}),N=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(f)}),h=e.Record({human_readable:e.Opt(e.Text)}),K=e.Record({e8s:e.Opt(e.Nat64)}),Z=e.Record({xdrs_per_icp:e.Opt(h),icps_per_token:e.Opt(h),tokens:e.Opt(K)}),I=e.Record({token:e.Opt(e.Int32),account:e.Opt(N),valuation_factors:e.Opt(Z),timestamp_seconds:e.Opt(e.Nat64)}),M=e.Record({valuation:e.Opt(I)}),D=e.Variant({TransferSnsTreasuryFunds:M,MintSnsTokens:M}),F=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),k=e.Record({basis_points:e.Opt(e.Nat64)}),L=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),J=e.Record({freezing_threshold:e.Opt(e.Nat64),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)}),A=e.Record({canister_ids:e.Vec(e.Principal)}),ee=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(f),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),te=e.Record({new_canister_wasm:e.Vec(e.Nat8),mode:e.Opt(e.Int32),canister_id:e.Opt(e.Principal),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),se=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ne=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(f),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),G=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),oe=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),re=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)}),ae=e.Record({motion_text:e.Text}),ie=e.Variant({ManageNervousSystemParameters:g,AddGenericNervousSystemFunction:i,ManageDappCanisterSettings:J,RemoveGenericNervousSystemFunction:e.Nat64,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:A,TransferSnsTreasuryFunds:ee,UpgradeSnsControlledCanister:te,DeregisterDappCanisters:se,MintSnsTokens:ne,Unspecified:e.Record({}),ManageSnsMetadata:G,ExecuteGenericNervousSystemFunction:oe,ManageLedgerParameters:re,Motion:ae}),S=e.Record({url:e.Text,title:e.Text,action:e.Opt(ie),summary:e.Text}),E=e.Record({current_deadline_timestamp_seconds:e.Nat64}),x=e.Record({id:e.Opt(O),payload_text_rendering:e.Opt(e.Text),action:e.Nat64,failure_reason:e.Opt(R),action_auxiliary:e.Opt(D),ballots:e.Vec(e.Tuple(e.Text,F)),minimum_yes_proportion_of_total:e.Opt(k),reward_event_round:e.Nat64,failed_timestamp_seconds:e.Nat64,reward_event_end_timestamp_seconds:e.Opt(e.Nat64),proposal_creation_timestamp_seconds:e.Nat64,initial_voting_period_seconds:e.Nat64,reject_cost_e8s:e.Nat64,latest_tally:e.Opt(L),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(S),proposer:e.Opt(_),wait_for_quiet_state:e.Opt(E),minimum_yes_proportion_of_exercised:e.Opt(k),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),q=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),U=e.Record({function_id:e.Nat64,followees:e.Vec(_)}),V=e.Record({to_account:e.Opt(N),percentage_to_disburse:e.Nat32}),ce=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),_e=e.Record({additional_dissolve_delay_seconds:e.Nat32}),pe=e.Record({dissolve_timestamp_seconds:e.Nat64}),$=e.Variant({ChangeAutoStakeMaturity:ce,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:_e,SetDissolveTimestamp:pe}),B=e.Record({operation:e.Opt($)}),z=e.Record({vote:e.Int32,proposal:e.Opt(O)}),de=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(N)}),X=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),ue=e.Variant({MemoAndController:X,NeuronId:e.Record({})}),Q=e.Record({by:e.Opt(ue)}),C=e.Record({permissions_to_remove:e.Opt(m),principal_id:e.Opt(e.Principal)}),j=e.Record({permissions_to_add:e.Opt(m),principal_id:e.Opt(e.Principal)}),W=e.Record({percentage_to_merge:e.Nat32}),le=e.Record({e8s:e.Nat64}),Y=e.Record({to_account:e.Opt(N),amount:e.Opt(le)}),me=e.Variant({Split:q,Follow:U,DisburseMaturity:V,Configure:B,RegisterVote:z,SyncCommand:e.Record({}),MakeProposal:S,FinalizeDisburseMaturity:de,ClaimOrRefreshNeuron:Q,RemoveNeuronPermissions:C,AddNeuronPermissions:j,MergeMaturity:W,Disburse:Y}),Ne=e.Record({command:e.Opt(me),timestamp:e.Nat64}),Oe=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),Re=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),ge=e.Record({timestamp_of_disbursement_seconds:e.Nat64,amount_e8s:e.Nat64,account_to_disburse_to:e.Opt(N),finalize_disbursement_timestamp_seconds:e.Opt(e.Nat64)}),P=e.Record({id:e.Opt(_),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),permissions:e.Vec(Oe),maturity_e8s_equivalent:e.Nat64,cached_neuron_stake_e8s:e.Nat64,created_timestamp_seconds:e.Nat64,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(Re),voting_power_percentage_multiplier:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64),disburse_maturity_in_progress:e.Vec(ge),followees:e.Vec(e.Tuple(e.Nat64,c)),neuron_fees_e8s:e.Nat64}),Fe=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(t),cached_upgrade_steps:e.Opt(o),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,i)),metrics:e.Opt(d),maturity_modulation:e.Opt(l),mode:e.Int32,parameters:e.Opt(g),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(s),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(y),pending_version:e.Opt(v),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,x)),in_flight_commands:e.Vec(e.Tuple(e.Text,Ne)),sns_metadata:e.Opt(G),neurons:e.Vec(e.Tuple(e.Text,P)),target_version:e.Opt(s),genesis_timestamp_seconds:e.Nat64}),ye=e.Record({id:e.Opt(_),amount_e8s:e.Opt(e.Nat64)}),fe=e.Record({new_maturity_e8s:e.Opt(e.Nat64)}),ve=e.Record({target_version:e.Opt(s)}),Se=e.Record({}),Pe=e.Record({principals:e.Vec(e.Principal)}),he=e.Record({nns_neuron_hotkeys:e.Opt(Pe),nns_neuron_controller:e.Opt(e.Principal),nns_neuron_id:e.Opt(e.Nat64)}),ke=e.Variant({NeuronsFund:he,Direct:e.Record({})}),Ae=e.Record({neuron_ids:e.Vec(_)}),Ge=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),participant:e.Opt(ke),stake_e8s:e.Opt(e.Nat64),followees:e.Opt(Ae),neuron_id:e.Opt(_)}),Ee=e.Record({neuron_recipes:e.Vec(Ge)}),qe=e.Record({neuron_recipes:e.Opt(Ee)}),Ue=e.Record({id:e.Opt(_),status:e.Int32}),Be=e.Record({swap_neurons:e.Vec(Ue)}),ze=e.Variant({Ok:Be,Err:e.Int32}),Qe=e.Record({claim_swap_neurons_result:e.Opt(ze)}),je=e.Record({maturity_modulation:e.Opt(l)}),We=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),we=e.Record({mode:e.Opt(e.Int32)}),Ye=e.Record({neuron_id:e.Opt(_)}),He=e.Variant({Error:R,Neuron:P}),Je=e.Record({result:e.Opt(He)}),Ve=e.Record({proposal_id:e.Opt(O)}),$e=e.Variant({Error:R,Proposal:x}),Xe=e.Record({result:e.Opt($e)}),Ke=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),Ze=e.Record({freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),Ie=e.Record({status:Ke,memory_size:e.Nat,cycles:e.Nat,settings:Ze,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),De=e.Record({deployed_version:e.Opt(s),pending_version:e.Opt(v)}),Le=e.Record({sns_initialization_parameters:e.Text}),et=e.Record({timers:e.Opt(t)}),tt=e.Record({}),st=e.Record({upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),target_version:e.Opt(s)}),nt=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(i)}),ot=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(_)}),rt=e.Record({neurons:e.Vec(P)}),at=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(O),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_status:e.Vec(e.Int32)}),it=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(x)}),ct=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),_t=e.Variant({Split:q,Follow:U,DisburseMaturity:V,ClaimOrRefresh:Q,Configure:B,RegisterVote:z,MakeProposal:S,StakeMaturity:ct,RemoveNeuronPermissions:C,AddNeuronPermissions:j,MergeMaturity:W,Disburse:Y}),pt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(_t)}),dt=e.Record({created_neuron_id:e.Opt(_)}),ut=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),lt=e.Record({refreshed_neuron_id:e.Opt(_)}),mt=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),Nt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),kt=e.Record({transfer_block_height:e.Nat64}),At=e.Variant({Error:R,Split:dt,Follow:e.Record({}),DisburseMaturity:ut,ClaimOrRefresh:lt,Configure:e.Record({}),RegisterVote:e.Record({}),MakeProposal:Ve,RemoveNeuronPermission:e.Record({}),StakeMaturity:mt,MergeMaturity:Nt,Disburse:kt,AddNeuronPermission:e.Record({})}),Gt=e.Record({command:e.Opt(At)}),Et=e.Record({recipient:e.Opt(N),amount_e8s:e.Opt(e.Nat64)}),qt=e.Record({mode:e.Int32});return e.Service({add_maturity:e.Func([ye],[fe],[]),advance_target_version:e.Func([ve],[Se],[]),claim_swap_neurons:e.Func([qe],[Qe],[]),fail_stuck_upgrade_in_progress:e.Func([e.Record({})],[e.Record({})],[]),get_build_metadata:e.Func([],[e.Text],[]),get_latest_reward_event:e.Func([],[y],[]),get_maturity_modulation:e.Func([e.Record({})],[je],[]),get_metadata:e.Func([e.Record({})],[We],[]),get_mode:e.Func([e.Record({})],[we],[]),get_nervous_system_parameters:e.Func([e.Null],[g],[]),get_neuron:e.Func([Ye],[Je],[]),get_proposal:e.Func([Ve],[Xe],[]),get_root_canister_status:e.Func([e.Null],[Ie],[]),get_running_sns_version:e.Func([e.Record({})],[De],[]),get_sns_initialization_parameters:e.Func([e.Record({})],[Le],[]),get_timers:e.Func([e.Record({})],[et],[]),get_upgrade_journal:e.Func([tt],[st],[]),list_nervous_system_functions:e.Func([],[nt],[]),list_neurons:e.Func([ot],[rt],[]),list_proposals:e.Func([at],[it],[]),manage_neuron:e.Func([pt],[Gt],[]),mint_tokens:e.Func([Et],[e.Record({})],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([qt],[e.Record({})],[]),update_neuron:e.Func([P],[e.Opt(R)],[])})};var Rs=({IDL:e})=>{let t=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64)}),s=e.Record({archive_wasm_hash:e.Vec(e.Nat8),root_wasm_hash:e.Vec(e.Nat8),swap_wasm_hash:e.Vec(e.Nat8),ledger_wasm_hash:e.Vec(e.Nat8),governance_wasm_hash:e.Vec(e.Nat8),index_wasm_hash:e.Vec(e.Nat8)}),n=e.Record({versions:e.Vec(s)}),o=e.Record({upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),a=e.Record({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)}),r=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:a}),i=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(r)}),d=e.Record({not_dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),garbage_collectable_neurons_count:e.Nat64,neurons_with_invalid_stake_count:e.Nat64,not_dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),neurons_with_less_than_6_months_dissolve_delay_count:e.Nat64,dissolved_neurons_count:e.Nat64,total_staked_e8s:e.Nat64,total_supply_governance_tokens:e.Nat64,not_dissolving_neurons_count:e.Nat64,dissolved_neurons_e8s:e.Nat64,neurons_with_less_than_6_months_dissolve_delay_e8s:e.Nat64,dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),dissolving_neurons_count:e.Nat64,dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),timestamp_seconds:e.Nat64}),l=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),_=e.Record({id:e.Vec(e.Nat8)}),c=e.Record({followees:e.Vec(_)}),u=e.Record({followees:e.Vec(e.Tuple(e.Nat64,c))}),m=e.Record({permissions:e.Vec(e.Int32)}),w=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)}),g=e.Record({default_followees:e.Opt(u),max_dissolve_delay_seconds:e.Opt(e.Nat64),max_dissolve_delay_bonus_percentage:e.Opt(e.Nat64),max_followees_per_function:e.Opt(e.Nat64),neuron_claimer_permissions:e.Opt(m),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(m),voting_rewards_parameters:e.Opt(w),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),O=e.Record({id:e.Nat64}),y=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(O)}),v=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Nat64,target_version:e.Opt(s)}),R=e.Record({error_message:e.Text,error_type:e.Int32}),f=e.Record({subaccount:e.Vec(e.Nat8)}),N=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(f)}),h=e.Record({human_readable:e.Opt(e.Text)}),K=e.Record({e8s:e.Opt(e.Nat64)}),Z=e.Record({xdrs_per_icp:e.Opt(h),icps_per_token:e.Opt(h),tokens:e.Opt(K)}),I=e.Record({token:e.Opt(e.Int32),account:e.Opt(N),valuation_factors:e.Opt(Z),timestamp_seconds:e.Opt(e.Nat64)}),M=e.Record({valuation:e.Opt(I)}),D=e.Variant({TransferSnsTreasuryFunds:M,MintSnsTokens:M}),F=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),k=e.Record({basis_points:e.Opt(e.Nat64)}),L=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),J=e.Record({freezing_threshold:e.Opt(e.Nat64),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)}),A=e.Record({canister_ids:e.Vec(e.Principal)}),ee=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(f),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),te=e.Record({new_canister_wasm:e.Vec(e.Nat8),mode:e.Opt(e.Int32),canister_id:e.Opt(e.Principal),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),se=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ne=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(f),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),G=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),oe=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),re=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)}),ae=e.Record({motion_text:e.Text}),ie=e.Variant({ManageNervousSystemParameters:g,AddGenericNervousSystemFunction:i,ManageDappCanisterSettings:J,RemoveGenericNervousSystemFunction:e.Nat64,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:A,TransferSnsTreasuryFunds:ee,UpgradeSnsControlledCanister:te,DeregisterDappCanisters:se,MintSnsTokens:ne,Unspecified:e.Record({}),ManageSnsMetadata:G,ExecuteGenericNervousSystemFunction:oe,ManageLedgerParameters:re,Motion:ae}),S=e.Record({url:e.Text,title:e.Text,action:e.Opt(ie),summary:e.Text}),E=e.Record({current_deadline_timestamp_seconds:e.Nat64}),x=e.Record({id:e.Opt(O),payload_text_rendering:e.Opt(e.Text),action:e.Nat64,failure_reason:e.Opt(R),action_auxiliary:e.Opt(D),ballots:e.Vec(e.Tuple(e.Text,F)),minimum_yes_proportion_of_total:e.Opt(k),reward_event_round:e.Nat64,failed_timestamp_seconds:e.Nat64,reward_event_end_timestamp_seconds:e.Opt(e.Nat64),proposal_creation_timestamp_seconds:e.Nat64,initial_voting_period_seconds:e.Nat64,reject_cost_e8s:e.Nat64,latest_tally:e.Opt(L),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(S),proposer:e.Opt(_),wait_for_quiet_state:e.Opt(E),minimum_yes_proportion_of_exercised:e.Opt(k),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),q=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),U=e.Record({function_id:e.Nat64,followees:e.Vec(_)}),V=e.Record({to_account:e.Opt(N),percentage_to_disburse:e.Nat32}),ce=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),_e=e.Record({additional_dissolve_delay_seconds:e.Nat32}),pe=e.Record({dissolve_timestamp_seconds:e.Nat64}),$=e.Variant({ChangeAutoStakeMaturity:ce,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:_e,SetDissolveTimestamp:pe}),B=e.Record({operation:e.Opt($)}),z=e.Record({vote:e.Int32,proposal:e.Opt(O)}),de=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(N)}),X=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),ue=e.Variant({MemoAndController:X,NeuronId:e.Record({})}),Q=e.Record({by:e.Opt(ue)}),C=e.Record({permissions_to_remove:e.Opt(m),principal_id:e.Opt(e.Principal)}),j=e.Record({permissions_to_add:e.Opt(m),principal_id:e.Opt(e.Principal)}),W=e.Record({percentage_to_merge:e.Nat32}),le=e.Record({e8s:e.Nat64}),Y=e.Record({to_account:e.Opt(N),amount:e.Opt(le)}),me=e.Variant({Split:q,Follow:U,DisburseMaturity:V,Configure:B,RegisterVote:z,SyncCommand:e.Record({}),MakeProposal:S,FinalizeDisburseMaturity:de,ClaimOrRefreshNeuron:Q,RemoveNeuronPermissions:C,AddNeuronPermissions:j,MergeMaturity:W,Disburse:Y}),Ne=e.Record({command:e.Opt(me),timestamp:e.Nat64}),Oe=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),Re=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),ge=e.Record({timestamp_of_disbursement_seconds:e.Nat64,amount_e8s:e.Nat64,account_to_disburse_to:e.Opt(N),finalize_disbursement_timestamp_seconds:e.Opt(e.Nat64)}),P=e.Record({id:e.Opt(_),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),permissions:e.Vec(Oe),maturity_e8s_equivalent:e.Nat64,cached_neuron_stake_e8s:e.Nat64,created_timestamp_seconds:e.Nat64,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(Re),voting_power_percentage_multiplier:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64),disburse_maturity_in_progress:e.Vec(ge),followees:e.Vec(e.Tuple(e.Nat64,c)),neuron_fees_e8s:e.Nat64}),Fe=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(t),cached_upgrade_steps:e.Opt(o),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,i)),metrics:e.Opt(d),maturity_modulation:e.Opt(l),mode:e.Int32,parameters:e.Opt(g),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(s),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(y),pending_version:e.Opt(v),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,x)),in_flight_commands:e.Vec(e.Tuple(e.Text,Ne)),sns_metadata:e.Opt(G),neurons:e.Vec(e.Tuple(e.Text,P)),target_version:e.Opt(s),genesis_timestamp_seconds:e.Nat64}),ye=e.Record({id:e.Opt(_),amount_e8s:e.Opt(e.Nat64)}),fe=e.Record({new_maturity_e8s:e.Opt(e.Nat64)}),ve=e.Record({target_version:e.Opt(s)}),Se=e.Record({}),Pe=e.Record({principals:e.Vec(e.Principal)}),he=e.Record({nns_neuron_hotkeys:e.Opt(Pe),nns_neuron_controller:e.Opt(e.Principal),nns_neuron_id:e.Opt(e.Nat64)}),ke=e.Variant({NeuronsFund:he,Direct:e.Record({})}),Ae=e.Record({neuron_ids:e.Vec(_)}),Ge=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),participant:e.Opt(ke),stake_e8s:e.Opt(e.Nat64),followees:e.Opt(Ae),neuron_id:e.Opt(_)}),Ee=e.Record({neuron_recipes:e.Vec(Ge)}),qe=e.Record({neuron_recipes:e.Opt(Ee)}),Ue=e.Record({id:e.Opt(_),status:e.Int32}),Be=e.Record({swap_neurons:e.Vec(Ue)}),ze=e.Variant({Ok:Be,Err:e.Int32}),Qe=e.Record({claim_swap_neurons_result:e.Opt(ze)}),je=e.Record({maturity_modulation:e.Opt(l)}),We=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),we=e.Record({mode:e.Opt(e.Int32)}),Ye=e.Record({neuron_id:e.Opt(_)}),He=e.Variant({Error:R,Neuron:P}),Je=e.Record({result:e.Opt(He)}),Ve=e.Record({proposal_id:e.Opt(O)}),$e=e.Variant({Error:R,Proposal:x}),Xe=e.Record({result:e.Opt($e)}),Ke=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),Ze=e.Record({freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),Ie=e.Record({status:Ke,memory_size:e.Nat,cycles:e.Nat,settings:Ze,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),De=e.Record({deployed_version:e.Opt(s),pending_version:e.Opt(v)}),Le=e.Record({sns_initialization_parameters:e.Text}),et=e.Record({timers:e.Opt(t)}),tt=e.Record({}),st=e.Record({upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),target_version:e.Opt(s)}),nt=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(i)}),ot=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(_)}),rt=e.Record({neurons:e.Vec(P)}),at=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(O),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_status:e.Vec(e.Int32)}),it=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(x)}),ct=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),_t=e.Variant({Split:q,Follow:U,DisburseMaturity:V,ClaimOrRefresh:Q,Configure:B,RegisterVote:z,MakeProposal:S,StakeMaturity:ct,RemoveNeuronPermissions:C,AddNeuronPermissions:j,MergeMaturity:W,Disburse:Y}),pt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(_t)}),dt=e.Record({created_neuron_id:e.Opt(_)}),ut=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),lt=e.Record({refreshed_neuron_id:e.Opt(_)}),mt=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),Nt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),kt=e.Record({transfer_block_height:e.Nat64}),At=e.Variant({Error:R,Split:dt,Follow:e.Record({}),DisburseMaturity:ut,ClaimOrRefresh:lt,Configure:e.Record({}),RegisterVote:e.Record({}),MakeProposal:Ve,RemoveNeuronPermission:e.Record({}),StakeMaturity:mt,MergeMaturity:Nt,Disburse:kt,AddNeuronPermission:e.Record({})}),Gt=e.Record({command:e.Opt(At)}),Et=e.Record({recipient:e.Opt(N),amount_e8s:e.Opt(e.Nat64)}),qt=e.Record({mode:e.Int32});return e.Service({add_maturity:e.Func([ye],[fe],[]),advance_target_version:e.Func([ve],[Se],[]),claim_swap_neurons:e.Func([qe],[Qe],[]),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([],[y],["query"]),get_maturity_modulation:e.Func([e.Record({})],[je],[]),get_metadata:e.Func([e.Record({})],[We],["query"]),get_mode:e.Func([e.Record({})],[we],["query"]),get_nervous_system_parameters:e.Func([e.Null],[g],["query"]),get_neuron:e.Func([Ye],[Je],["query"]),get_proposal:e.Func([Ve],[Xe],["query"]),get_root_canister_status:e.Func([e.Null],[Ie],[]),get_running_sns_version:e.Func([e.Record({})],[De],["query"]),get_sns_initialization_parameters:e.Func([e.Record({})],[Le],["query"]),get_timers:e.Func([e.Record({})],[et],["query"]),get_upgrade_journal:e.Func([tt],[st],["query"]),list_nervous_system_functions:e.Func([],[nt],["query"]),list_neurons:e.Func([ot],[rt],["query"]),list_proposals:e.Func([at],[it],["query"]),manage_neuron:e.Func([pt],[Gt],[]),mint_tokens:e.Func([Et],[e.Record({})],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([qt],[e.Record({})],[]),update_neuron:e.Func([P],[e.Opt(R)],[])})};var Tt=class e extends xe.Canister{constructor(){super(...arguments);this.addMaturity=async s=>{let{id:n,amountE8s:o}=s,{new_maturity_e8s:a}=await this.caller(s).add_maturity({id:(0,xe.toNullable)(n),amount_e8s:(0,xe.toNullable)(o)}),r=(0,xe.fromNullable)(a);if((0,xe.isNullish)(r)||r<o)throw new b("No maturity added")}}static create(s){let{service:n,certifiedService:o,canisterId:a}=(0,xe.createServices)({options:s,idlFactory:Rs,certifiedIdlFactory:Os});return new e(a,n,o)}};var wt=require("@dfinity/utils");var gs=({IDL:e})=>{let t=e.Record({dapp_canister_ids:e.Vec(e.Principal),testflight:e.Bool,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)}),s=e.Record({canister_id:e.Principal}),n=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),o=e.Variant({controllers:e.Null,public:e.Null}),a=e.Record({freezing_threshold:e.Opt(e.Nat),controllers:e.Vec(e.Principal),reserved_cycles_limit:e.Opt(e.Nat),log_visibility:e.Opt(o),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Opt(e.Nat),compute_allocation:e.Opt(e.Nat)}),r=e.Record({status:n,memory_size:e.Nat,cycles:e.Nat,settings:a,idle_cycles_burned_per_day:e.Opt(e.Nat),module_hash:e.Opt(e.Vec(e.Nat8)),reserved_cycles:e.Opt(e.Nat)}),i=e.Variant({reinstall:e.Null,upgrade:e.Null,install:e.Null}),d=e.Record({arg:e.Vec(e.Nat8),wasm_module:e.Vec(e.Nat8),stop_before_installing:e.Bool,mode:i,canister_id:e.Principal,memory_allocation:e.Opt(e.Nat),compute_allocation:e.Opt(e.Nat)}),l=e.Record({update_canister_list:e.Opt(e.Bool)}),_=e.Record({freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),c=e.Record({status:n,memory_size:e.Nat,cycles:e.Nat,settings:_,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),u=e.Record({status:e.Opt(c),canister_id:e.Opt(e.Principal)}),m=e.Record({root:e.Opt(u),swap:e.Opt(u),ledger:e.Opt(u),index:e.Opt(u),governance:e.Opt(u),dapps:e.Vec(u),archives:e.Vec(u)}),w=e.Record({root:e.Opt(e.Principal),swap:e.Opt(e.Principal),ledger:e.Opt(e.Principal),index:e.Opt(e.Principal),governance:e.Opt(e.Principal),dapps:e.Vec(e.Principal),archives:e.Vec(e.Principal)}),g=e.Record({freezing_threshold:e.Opt(e.Nat64),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)}),O=e.Record({failure_reason:e.Opt(e.Text)}),y=e.Record({canister_id:e.Opt(e.Principal)}),v=e.Record({canister_ids:e.Vec(e.Principal)}),R=e.Record({canister_ids:e.Opt(v),controller_principal_ids:e.Vec(e.Principal)}),f=e.Record({code:e.Opt(e.Int32),description:e.Text}),N=e.Record({err:e.Opt(f),dapp_canister_id:e.Opt(e.Principal)}),h=e.Record({failed_updates:e.Vec(N)});return e.Service({canister_status:e.Func([s],[r],[]),change_canister:e.Func([d],[],[]),get_build_metadata:e.Func([],[e.Text],[]),get_sns_canisters_summary:e.Func([l],[m],[]),list_sns_canisters:e.Func([e.Record({})],[w],[]),manage_dapp_canister_settings:e.Func([g],[O],[]),register_dapp_canister:e.Func([y],[e.Record({})],[]),register_dapp_canisters:e.Func([v],[e.Record({})],[]),set_dapp_controllers:e.Func([R],[h],[])})};var ys=({IDL:e})=>{let t=e.Record({dapp_canister_ids:e.Vec(e.Principal),testflight:e.Bool,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)}),s=e.Record({canister_id:e.Principal}),n=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),o=e.Variant({controllers:e.Null,public:e.Null}),a=e.Record({freezing_threshold:e.Opt(e.Nat),controllers:e.Vec(e.Principal),reserved_cycles_limit:e.Opt(e.Nat),log_visibility:e.Opt(o),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Opt(e.Nat),compute_allocation:e.Opt(e.Nat)}),r=e.Record({status:n,memory_size:e.Nat,cycles:e.Nat,settings:a,idle_cycles_burned_per_day:e.Opt(e.Nat),module_hash:e.Opt(e.Vec(e.Nat8)),reserved_cycles:e.Opt(e.Nat)}),i=e.Variant({reinstall:e.Null,upgrade:e.Null,install:e.Null}),d=e.Record({arg:e.Vec(e.Nat8),wasm_module:e.Vec(e.Nat8),stop_before_installing:e.Bool,mode:i,canister_id:e.Principal,memory_allocation:e.Opt(e.Nat),compute_allocation:e.Opt(e.Nat)}),l=e.Record({update_canister_list:e.Opt(e.Bool)}),_=e.Record({freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),c=e.Record({status:n,memory_size:e.Nat,cycles:e.Nat,settings:_,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),u=e.Record({status:e.Opt(c),canister_id:e.Opt(e.Principal)}),m=e.Record({root:e.Opt(u),swap:e.Opt(u),ledger:e.Opt(u),index:e.Opt(u),governance:e.Opt(u),dapps:e.Vec(u),archives:e.Vec(u)}),w=e.Record({root:e.Opt(e.Principal),swap:e.Opt(e.Principal),ledger:e.Opt(e.Principal),index:e.Opt(e.Principal),governance:e.Opt(e.Principal),dapps:e.Vec(e.Principal),archives:e.Vec(e.Principal)}),g=e.Record({freezing_threshold:e.Opt(e.Nat64),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)}),O=e.Record({failure_reason:e.Opt(e.Text)}),y=e.Record({canister_id:e.Opt(e.Principal)}),v=e.Record({canister_ids:e.Vec(e.Principal)}),R=e.Record({canister_ids:e.Opt(v),controller_principal_ids:e.Vec(e.Principal)}),f=e.Record({code:e.Opt(e.Int32),description:e.Text}),N=e.Record({err:e.Opt(f),dapp_canister_id:e.Opt(e.Principal)}),h=e.Record({failed_updates:e.Vec(N)});return e.Service({canister_status:e.Func([s],[r],[]),change_canister:e.Func([d],[],[]),get_build_metadata:e.Func([],[e.Text],["query"]),get_sns_canisters_summary:e.Func([l],[m],[]),list_sns_canisters:e.Func([e.Record({})],[w],["query"]),manage_dapp_canister_settings:e.Func([g],[O],[]),register_dapp_canister:e.Func([y],[e.Record({})],[]),register_dapp_canisters:e.Func([v],[e.Record({})],[]),set_dapp_controllers:e.Func([R],[h],[])})};var gt=class e extends wt.Canister{constructor(){super(...arguments);this.listSnsCanisters=async({certified:s=!0})=>this.caller({certified:s}).list_sns_canisters({})}static create(s){let{service:n,certifiedService:o,canisterId:a}=(0,wt.createServices)({options:s,idlFactory:ys,certifiedIdlFactory:gs});return new e(a,n,o)}};var Ft=require("@dfinity/ledger-icrc"),Te=require("@dfinity/utils");var xt=require("@dfinity/utils");var yt=require("@dfinity/utils");function Js(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}function zt(e,...t){if(!Js(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${e.length}`)}function Qt(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 fs(e,t){zt(e);let s=t.outputLen;if(e.length<s)throw new Error(`digestInto() expects output buffer of length at least ${s}`)}var Ct=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),be=(e,t)=>e<<32-t|e>>>t;var Cn=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function $s(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function jt(e){return typeof e=="string"&&(e=$s(e)),zt(e),e}var Vt=class{clone(){return this._cloneInto()}},Mn={}.toString;function vs(e){let t=n=>e().update(jt(n)).digest(),s=e();return t.outputLen=s.outputLen,t.blockLen=s.blockLen,t.create=()=>e(),t}function Xs(e,t,s,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,s,n);let o=BigInt(32),a=BigInt(4294967295),r=Number(s>>o&a),i=Number(s&a),d=n?4:0,l=n?0:4;e.setUint32(t+d,r,n),e.setUint32(t+l,i,n)}var Ss=(e,t,s)=>e&t^~e&s,Ps=(e,t,s)=>e&t^e&s^t&s,Mt=class extends Vt{constructor(t,s,n,o){super(),this.blockLen=t,this.outputLen=s,this.padOffset=n,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=Ct(this.buffer)}update(t){Qt(this);let{view:s,buffer:n,blockLen:o}=this;t=jt(t);let a=t.length;for(let r=0;r<a;){let i=Math.min(o-this.pos,a-r);if(i===o){let d=Ct(t);for(;o<=a-r;r+=o)this.process(d,r);continue}n.set(t.subarray(r,r+i),this.pos),this.pos+=i,r+=i,this.pos===o&&(this.process(s,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Qt(this),fs(t,this),this.finished=!0;let{buffer:s,view:n,blockLen:o,isLE:a}=this,{pos:r}=this;s[r++]=128,this.buffer.subarray(r).fill(0),this.padOffset>o-r&&(this.process(n,0),r=0);for(let c=r;c<o;c++)s[c]=0;Xs(n,o-8,BigInt(this.length*8),a),this.process(n,0);let i=Ct(t),d=this.outputLen;if(d%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let l=d/4,_=this.get();if(l>_.length)throw new Error("_sha2: outputLen bigger than state");for(let c=0;c<l;c++)i.setUint32(4*c,_[c],a)}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:o,finished:a,destroyed:r,pos:i}=this;return t.length=o,t.pos=i,t.finished=a,t.destroyed=r,o%s&&t.buffer.set(n),t}};var Ks=new Uint32Array([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]),Ce=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Me=new Uint32Array(64),Wt=class extends Mt{constructor(){super(64,32,8,!1),this.A=Ce[0]|0,this.B=Ce[1]|0,this.C=Ce[2]|0,this.D=Ce[3]|0,this.E=Ce[4]|0,this.F=Ce[5]|0,this.G=Ce[6]|0,this.H=Ce[7]|0}get(){let{A:t,B:s,C:n,D:o,E:a,F:r,G:i,H:d}=this;return[t,s,n,o,a,r,i,d]}set(t,s,n,o,a,r,i,d){this.A=t|0,this.B=s|0,this.C=n|0,this.D=o|0,this.E=a|0,this.F=r|0,this.G=i|0,this.H=d|0}process(t,s){for(let c=0;c<16;c++,s+=4)Me[c]=t.getUint32(s,!1);for(let c=16;c<64;c++){let u=Me[c-15],m=Me[c-2],w=be(u,7)^be(u,18)^u>>>3,g=be(m,17)^be(m,19)^m>>>10;Me[c]=g+Me[c-7]+w+Me[c-16]|0}let{A:n,B:o,C:a,D:r,E:i,F:d,G:l,H:_}=this;for(let c=0;c<64;c++){let u=be(i,6)^be(i,11)^be(i,25),m=_+u+Ss(i,d,l)+Ks[c]+Me[c]|0,g=(be(n,2)^be(n,13)^be(n,22))+Ps(n,o,a)|0;_=l,l=d,d=i,i=r+m|0,r=a,a=o,o=n,n=m+g|0}n=n+this.A|0,o=o+this.B|0,a=a+this.C|0,r=r+this.D|0,i=i+this.E|0,d=d+this.F|0,l=l+this.G|0,_=_+this.H|0,this.set(n,o,a,r,i,d,l,_)}roundClean(){Me.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var hs=vs(()=>new Wt);var Yt=({index:e,controller:t})=>{let n=[12,...(0,yt.asciiStringToByteArray)("neuron-stake"),...t.toUint8Array(),...(0,yt.numberToUint8Array)(e)],o=hs.create();return o.update((0,yt.arrayOfNumberToUint8Array)(n)),o.digest()};var bt=class{constructor({root:t,governance:s,ledger:n,swap:o,index:a,certified:r}){this.listNeurons=t=>this.governance.listNeurons(this.mergeParams(t));this.listProposals=t=>this.governance.listProposals(this.mergeParams(t));this.getProposal=t=>this.governance.getProposal(this.mergeParams(t));this.listNervousSystemFunctions=t=>this.governance.listNervousSystemFunctions(this.mergeParams(t));this.metadata=t=>Promise.all([this.governance.metadata(this.mergeParams(t)),this.ledger.metadata(this.mergeParams(t))]);this.nervousSystemParameters=t=>this.governance.nervousSystemParameters(this.mergeParams(t));this.ledgerMetadata=t=>this.ledger.metadata(this.mergeParams(t));this.transactionFee=t=>this.ledger.transactionFee(this.mergeParams(t));this.totalTokensSupply=t=>this.ledger.totalTokensSupply(this.mergeParams(t));this.balance=t=>this.ledger.balance(this.mergeParams(t));this.transfer=t=>this.ledger.transfer(t);this.getNeuron=t=>this.governance.getNeuron(this.mergeParams(t));this.queryNeuron=t=>this.governance.queryNeuron(this.mergeParams(t));this.nextNeuronAccount=async t=>{for(let s=0;s<65536;s++){let n=Yt({index:s,controller:t}),o={id:n},a=await this.governance.queryNeuron({neuronId:o,certified:!1});if(a===void 0&&(a=await this.governance.queryNeuron({neuronId:o,certified:!0}),a===void 0))return{account:{...this.owner,subaccount:n},index:BigInt(s)}}throw new b("No more neuron accounts available")};this.stakeNeuron=async({stakeE8s:t,source:s,controller:n,createdAt:o,fee:a})=>{this.assertCertified("stakeNeuron");let{account:r,index:i}=await this.nextNeuronAccount(n);if(r.subaccount===void 0)throw new b("There was an error creating the neuron subaccount");return await this.ledger.transfer({amount:t,to:{owner:r.owner,subaccount:(0,xt.toNullable)(r.subaccount)},from_subaccount:s.subaccount,memo:(0,xt.bigIntToUint8Array)(i),created_at_time:o,fee:a}),this.governance.claimNeuron({memo:BigInt(i),controller:n,subaccount:r.subaccount})};this.increaseStakeNeuron=async({stakeE8s:t,source:s,neuronId:n})=>(this.assertCertified("stakeNeuron"),await this.ledger.transfer({amount:t,to:{...this.owner,subaccount:(0,xt.toNullable)(Uint8Array.from(n.id))},from_subaccount:s.subaccount}),this.governance.refreshNeuron(n));this.getNeuronBalance=async t=>{let s={...this.owner,subaccount:Uint8Array.from(t.id)};return this.ledger.balance({...s,certified:this.certified})};this.addNeuronPermissions=t=>this.governance.addNeuronPermissions(t);this.refreshNeuron=t=>this.governance.refreshNeuron(t);this.claimNeuron=t=>this.governance.claimNeuron(t);this.removeNeuronPermissions=t=>this.governance.removeNeuronPermissions(t);this.splitNeuron=t=>this.governance.splitNeuron(t);this.disburse=t=>this.governance.disburse(t);this.startDissolving=t=>this.governance.startDissolving(t);this.stopDissolving=t=>this.governance.stopDissolving(t);this.setDissolveTimestamp=t=>this.governance.setDissolveTimestamp(t);this.increaseDissolveDelay=t=>this.governance.increaseDissolveDelay(t);this.setTopicFollowees=t=>this.governance.setTopicFollowees(t);this.registerVote=async t=>this.governance.registerVote(t);this.swapState=t=>this.swap.state(this.mergeParams(t));this.notifyPaymentFailure=()=>this.swap.notifyPaymentFailure();this.notifyParticipation=t=>this.swap.notifyParticipation(t);this.getUserCommitment=t=>this.swap.getUserCommitment(this.mergeParams(t));this.getOpenTicket=t=>this.swap.getOpenTicket(this.mergeParams(t));this.newSaleTicket=t=>this.swap.newSaleTicket(t);this.getLifecycle=t=>this.swap.getLifecycle(this.mergeParams(t));this.getFinalizationStatus=t=>this.swap.getFinalizationStatus(this.mergeParams(t));this.getSaleParameters=t=>this.swap.getSaleParameters(this.mergeParams(t));this.getDerivedState=t=>this.swap.getDerivedState(this.mergeParams(t));this.getTransactions=t=>this.index.getTransactions(t);this.stakeMaturity=t=>this.governance.stakeMaturity(t);this.disburseMaturity=t=>this.governance.disburseMaturity(t);this.autoStakeMaturity=t=>this.governance.autoStakeMaturity(t);this.assertCertified=t=>{if(!this.certified)throw new b(`Call to ${t} needs to be certified`)};this.root=t,this.governance=s,this.ledger=n,this.swap=o,this.index=a,this.certified=r}get canisterIds(){return{rootCanisterId:this.root.canisterId,ledgerCanisterId:this.ledger.canisterId,governanceCanisterId:this.governance.canisterId,swapCanisterId:this.swap.canisterId,indexCanisterId:this.index.canisterId}}mergeParams(t){return{...t,certified:this.certified}}get owner(){return{owner:this.canisterIds.governanceCanisterId}}};var H=require("@dfinity/utils");var xs=({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)}),o=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)}),a=e.Record({iso_codes:e.Vec(e.Text)}),r=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(o),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(a),min_icp_e8s:e.Opt(e.Nat64),max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),i=e.Record({source_principal_id:e.Opt(e.Principal)}),d=e.Record({block_height:e.Opt(e.Nat64)}),l=e.Record({description:e.Opt(e.Text),error_type:e.Opt(e.Int32)}),_=e.Variant({Ok:d,Err:l}),c=e.Record({result:e.Opt(_)}),u=e.Record({code:e.Opt(e.Int32),description:e.Text}),m=e.Record({err:e.Opt(u),dapp_canister_id:e.Opt(e.Principal)}),w=e.Record({failed_updates:e.Vec(m)}),g=e.Variant({Ok:w,Err:u}),O=e.Record({possibility:e.Opt(g)}),y=e.Record({failure:e.Nat32,skipped:e.Nat32,invalid:e.Nat32,success:e.Nat32,global_failures:e.Nat32}),v=e.Record({error_message:e.Text,error_type:e.Int32}),R=e.Record({governance_error:e.Opt(v)}),f=e.Variant({Ok:R,Err:u}),N=e.Record({possibility:e.Opt(f)}),h=e.Record({neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),neurons_fund_neurons_count:e.Opt(e.Nat64)}),K=e.Record({message:e.Opt(e.Text)}),Z=e.Variant({Ok:h,Err:K}),I=e.Record({possibility:e.Opt(Z)}),M=e.Variant({Ok:e.Record({}),Err:u}),D=e.Record({possibility:e.Opt(M)}),F=e.Record({set_dapp_controllers_call_result:e.Opt(O),create_sns_neuron_recipes_result:e.Opt(y),settle_community_fund_participation_result:e.Opt(N),error_message:e.Opt(e.Text),settle_neurons_fund_participation_result:e.Opt(I),set_mode_call_result:e.Opt(D),sweep_icp_result:e.Opt(y),claim_neuron_result:e.Opt(y),sweep_sns_result:e.Opt(y)}),k=e.Record({auto_finalize_swap_response:e.Opt(F),has_auto_finalize_been_attempted:e.Opt(e.Bool),is_auto_finalize_enabled:e.Opt(e.Bool)}),L=e.Record({principal_id:e.Opt(e.Principal)}),J=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}),A=e.Record({icp:e.Opt(J),has_created_neuron_recipes:e.Opt(e.Bool)}),ee=e.Record({buyer_state:e.Opt(A)}),te=e.Record({buyers_total:e.Nat64}),se=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),ne=e.Record({freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),G=e.Record({status:se,memory_size:e.Nat,cycles:e.Nat,settings:ne,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),oe=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)}),re=e.Record({init:e.Opt(r)}),ae=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)}),ie=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(e.Vec(e.Nat8))}),S=e.Record({creation_time:e.Nat64,ticket_id:e.Nat64,account:e.Opt(ie),amount_icp_e8s:e.Nat64}),E=e.Record({ticket:e.Opt(S)}),x=e.Record({error_type:e.Opt(e.Int32)}),q=e.Variant({Ok:E,Err:x}),U=e.Record({result:e.Opt(q)}),V=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)}),ce=e.Record({params:e.Opt(V)}),_e=e.Record({id:e.Vec(e.Nat8)}),pe=e.Record({dissolve_delay_seconds:e.Nat64,memo:e.Nat64,followees:e.Vec(_e)}),$=e.Record({principals:e.Vec(e.Principal)}),B=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,hotkeys:e.Opt($),nns_neuron_id:e.Nat64}),z=e.Record({buyer_principal:e.Text}),de=e.Variant({CommunityFund:B,Direct:z}),X=e.Record({sns:e.Opt(J),claimed_status:e.Opt(e.Int32),neuron_attributes:e.Opt(pe),investor:e.Opt(de)}),ue=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)}),Q=e.Record({has_created_neuron_recipes:e.Opt(e.Bool),hotkeys:e.Opt($),nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),C=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,cf_neurons:e.Vec(Q)}),j=e.Record({auto_finalize_swap_response:e.Opt(F),neuron_recipes:e.Vec(X),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(ue),cf_participants:e.Vec(C),init:e.Opt(r),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,A)),params:e.Opt(V),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),W=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)}),le=e.Record({swap:e.Opt(j),derived:e.Opt(W)}),Y=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat32)}),me=e.Record({cf_participants:e.Vec(C)}),Ne=e.Record({offset:e.Opt(e.Nat32),limit:e.Opt(e.Nat32)}),Oe=e.Record({participation:e.Opt(A),participant_id:e.Opt(e.Principal)}),Re=e.Record({participants:e.Vec(Oe)}),ge=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat32)}),P=e.Record({sns_neuron_recipes:e.Vec(X)}),Fe=e.Record({subaccount:e.Opt(e.Vec(e.Nat8)),amount_icp_e8s:e.Nat64}),ye=e.Record({min_amount_icp_e8s_included:e.Nat64,max_amount_icp_e8s_included:e.Nat64}),fe=e.Record({invalid_user_amount:e.Opt(ye),existing_ticket:e.Opt(S),error_type:e.Int32}),ve=e.Variant({Ok:E,Err:fe}),Se=e.Record({result:e.Opt(ve)}),Pe=e.Record({confirmation_text:e.Opt(e.Text),buyer:e.Text}),he=e.Record({icp_accepted_participation_e8s:e.Nat64,icp_ledger_account_balance_e8s:e.Nat64});return e.Service({error_refund_icp:e.Func([i],[c],[]),finalize_swap:e.Func([e.Record({})],[F],[]),get_auto_finalization_status:e.Func([e.Record({})],[k],[]),get_buyer_state:e.Func([L],[ee],[]),get_buyers_total:e.Func([e.Record({})],[te],[]),get_canister_status:e.Func([e.Record({})],[G],[]),get_derived_state:e.Func([e.Record({})],[oe],[]),get_init:e.Func([e.Record({})],[re],[]),get_lifecycle:e.Func([e.Record({})],[ae],[]),get_open_ticket:e.Func([e.Record({})],[U],[]),get_sale_parameters:e.Func([e.Record({})],[ce],[]),get_state:e.Func([e.Record({})],[le],[]),list_community_fund_participants:e.Func([Y],[me],[]),list_direct_participants:e.Func([Ne],[Re],[]),list_sns_neuron_recipes:e.Func([ge],[P],[]),new_sale_ticket:e.Func([Fe],[Se],[]),notify_payment_failure:e.Func([e.Record({})],[E],[]),refresh_buyer_tokens:e.Func([Pe],[he],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[])})};var bs=({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)}),o=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)}),a=e.Record({iso_codes:e.Vec(e.Text)}),r=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(o),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(a),min_icp_e8s:e.Opt(e.Nat64),max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),i=e.Record({source_principal_id:e.Opt(e.Principal)}),d=e.Record({block_height:e.Opt(e.Nat64)}),l=e.Record({description:e.Opt(e.Text),error_type:e.Opt(e.Int32)}),_=e.Variant({Ok:d,Err:l}),c=e.Record({result:e.Opt(_)}),u=e.Record({code:e.Opt(e.Int32),description:e.Text}),m=e.Record({err:e.Opt(u),dapp_canister_id:e.Opt(e.Principal)}),w=e.Record({failed_updates:e.Vec(m)}),g=e.Variant({Ok:w,Err:u}),O=e.Record({possibility:e.Opt(g)}),y=e.Record({failure:e.Nat32,skipped:e.Nat32,invalid:e.Nat32,success:e.Nat32,global_failures:e.Nat32}),v=e.Record({error_message:e.Text,error_type:e.Int32}),R=e.Record({governance_error:e.Opt(v)}),f=e.Variant({Ok:R,Err:u}),N=e.Record({possibility:e.Opt(f)}),h=e.Record({neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),neurons_fund_neurons_count:e.Opt(e.Nat64)}),K=e.Record({message:e.Opt(e.Text)}),Z=e.Variant({Ok:h,Err:K}),I=e.Record({possibility:e.Opt(Z)}),M=e.Variant({Ok:e.Record({}),Err:u}),D=e.Record({possibility:e.Opt(M)}),F=e.Record({set_dapp_controllers_call_result:e.Opt(O),create_sns_neuron_recipes_result:e.Opt(y),settle_community_fund_participation_result:e.Opt(N),error_message:e.Opt(e.Text),settle_neurons_fund_participation_result:e.Opt(I),set_mode_call_result:e.Opt(D),sweep_icp_result:e.Opt(y),claim_neuron_result:e.Opt(y),sweep_sns_result:e.Opt(y)}),k=e.Record({auto_finalize_swap_response:e.Opt(F),has_auto_finalize_been_attempted:e.Opt(e.Bool),is_auto_finalize_enabled:e.Opt(e.Bool)}),L=e.Record({principal_id:e.Opt(e.Principal)}),J=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}),A=e.Record({icp:e.Opt(J),has_created_neuron_recipes:e.Opt(e.Bool)}),ee=e.Record({buyer_state:e.Opt(A)}),te=e.Record({buyers_total:e.Nat64}),se=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),ne=e.Record({freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),G=e.Record({status:se,memory_size:e.Nat,cycles:e.Nat,settings:ne,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),oe=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)}),re=e.Record({init:e.Opt(r)}),ae=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)}),ie=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(e.Vec(e.Nat8))}),S=e.Record({creation_time:e.Nat64,ticket_id:e.Nat64,account:e.Opt(ie),amount_icp_e8s:e.Nat64}),E=e.Record({ticket:e.Opt(S)}),x=e.Record({error_type:e.Opt(e.Int32)}),q=e.Variant({Ok:E,Err:x}),U=e.Record({result:e.Opt(q)}),V=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)}),ce=e.Record({params:e.Opt(V)}),_e=e.Record({id:e.Vec(e.Nat8)}),pe=e.Record({dissolve_delay_seconds:e.Nat64,memo:e.Nat64,followees:e.Vec(_e)}),$=e.Record({principals:e.Vec(e.Principal)}),B=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,hotkeys:e.Opt($),nns_neuron_id:e.Nat64}),z=e.Record({buyer_principal:e.Text}),de=e.Variant({CommunityFund:B,Direct:z}),X=e.Record({sns:e.Opt(J),claimed_status:e.Opt(e.Int32),neuron_attributes:e.Opt(pe),investor:e.Opt(de)}),ue=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)}),Q=e.Record({has_created_neuron_recipes:e.Opt(e.Bool),hotkeys:e.Opt($),nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),C=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,cf_neurons:e.Vec(Q)}),j=e.Record({auto_finalize_swap_response:e.Opt(F),neuron_recipes:e.Vec(X),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(ue),cf_participants:e.Vec(C),init:e.Opt(r),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,A)),params:e.Opt(V),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),W=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)}),le=e.Record({swap:e.Opt(j),derived:e.Opt(W)}),Y=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat32)}),me=e.Record({cf_participants:e.Vec(C)}),Ne=e.Record({offset:e.Opt(e.Nat32),limit:e.Opt(e.Nat32)}),Oe=e.Record({participation:e.Opt(A),participant_id:e.Opt(e.Principal)}),Re=e.Record({participants:e.Vec(Oe)}),ge=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat32)}),P=e.Record({sns_neuron_recipes:e.Vec(X)}),Fe=e.Record({subaccount:e.Opt(e.Vec(e.Nat8)),amount_icp_e8s:e.Nat64}),ye=e.Record({min_amount_icp_e8s_included:e.Nat64,max_amount_icp_e8s_included:e.Nat64}),fe=e.Record({invalid_user_amount:e.Opt(ye),existing_ticket:e.Opt(S),error_type:e.Int32}),ve=e.Variant({Ok:E,Err:fe}),Se=e.Record({result:e.Opt(ve)}),Pe=e.Record({confirmation_text:e.Opt(e.Text),buyer:e.Text}),he=e.Record({icp_accepted_participation_e8s:e.Nat64,icp_ledger_account_balance_e8s:e.Nat64});return e.Service({error_refund_icp:e.Func([i],[c],[]),finalize_swap:e.Func([e.Record({})],[F],[]),get_auto_finalization_status:e.Func([e.Record({})],[k],["query"]),get_buyer_state:e.Func([L],[ee],["query"]),get_buyers_total:e.Func([e.Record({})],[te],[]),get_canister_status:e.Func([e.Record({})],[G],[]),get_derived_state:e.Func([e.Record({})],[oe],["query"]),get_init:e.Func([e.Record({})],[re],["query"]),get_lifecycle:e.Func([e.Record({})],[ae],["query"]),get_open_ticket:e.Func([e.Record({})],[U],["query"]),get_sale_parameters:e.Func([e.Record({})],[ce],["query"]),get_state:e.Func([e.Record({})],[le],["query"]),list_community_fund_participants:e.Func([Y],[me],["query"]),list_direct_participants:e.Func([Ne],[Re],["query"]),list_sns_neuron_recipes:e.Func([ge],[P],["query"]),new_sale_ticket:e.Func([Fe],[Se],[]),notify_payment_failure:e.Func([e.Record({})],[E],[]),refresh_buyer_tokens:e.Func([Pe],[he],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[])})};var Ts=({subaccount:e,amount_icp_e8s:t})=>({subaccount:e===void 0?[]:[e],amount_icp_e8s:t});var ws=require("@dfinity/utils"),Vs=e=>{if(typeof e=="object"&&(0,ws.nonNullish)(e)&&"message"in e){let t=e.message;return t.includes("has no update method")||t.includes("has no query method")}return!1};var ft=class e extends H.Canister{constructor(){super(...arguments);this.state=s=>this.caller(s).get_state({});this.notifyPaymentFailure=async()=>{let{ticket:s}=await this.caller({certified:!0}).notify_payment_failure({});return(0,H.fromNullable)(s)};this.notifyParticipation=async s=>await this.caller({certified:!0}).refresh_buyer_tokens(s);this.getUserCommitment=async s=>{let{buyer_state:n}=await this.caller({certified:s.certified}).get_buyer_state({principal_id:s.principal_id});return(0,H.fromNullable)(n)};this.getDerivedState=async({certified:s})=>this.caller({certified:s}).get_derived_state({});this.getSaleParameters=async({certified:s})=>this.caller({certified:s}).get_sale_parameters({});this.getOpenTicket=async s=>{var r;let{result:n}=await this.caller({certified:s.certified}).get_open_ticket({}),o=(0,H.fromDefinedNullable)(n);if("Ok"in o)return(0,H.fromNullable)(o.Ok.ticket);let a=(0,H.fromDefinedNullable)((r=o==null?void 0:o.Err)==null?void 0:r.error_type);throw new ht(a)};this.newSaleTicket=async s=>{let n=Ts(s),{result:o}=await this.caller({certified:!0}).new_sale_ticket(n),a=(0,H.fromDefinedNullable)(o);if("Ok"in a)return(0,H.fromDefinedNullable)(a.Ok.ticket);let r=a.Err;throw new Pt({errorType:r.error_type,invalidUserAmount:(0,H.fromNullable)(r.invalid_user_amount??[]),existingTicket:(0,H.fromNullable)(r.existing_ticket??[])})};this.getLifecycle=async s=>this.caller(s).get_lifecycle({});this.getFinalizationStatus=async s=>{try{return await this.caller(s).get_auto_finalization_status({})}catch(n){throw Vs(n)?new St("getFinalizationStatus"):n}}}static create(s){let{service:n,certifiedService:o,canisterId:a}=(0,H.createServices)({options:s,idlFactory:bs,certifiedIdlFactory:xs});return new e(a,n,o)}};var Is=async({agent:e,rootOptions:t,certified:s=!0})=>{let n=gt.create({...t,agent:e}),{ledger:o,swap:a,governance:r,index:i}=await n.listSnsCanisters({certified:s}),d=(0,Te.fromNullable)(r),l=(0,Te.fromNullable)(o),_=(0,Te.fromNullable)(a),c=(0,Te.fromNullable)(i);return(0,Te.assertNonNullish)(d),(0,Te.assertNonNullish)(l),(0,Te.assertNonNullish)(_),(0,Te.assertNonNullish)(c),new bt({root:n,governance:Rt.create({canisterId:d,agent:e}),ledger:Ft.IcrcLedgerCanister.create({canisterId:l,agent:e}),swap:ft.create({canisterId:_,agent:e}),index:Ft.IcrcIndexCanister.create({canisterId:c,agent:e}),certified:s})};0&&(module.exports={GetOpenTicketErrorType,NewSaleTicketResponseErrorType,SnsGovernanceCanister,SnsGovernanceError,SnsGovernanceTestCanister,SnsNeuronPermissionType,SnsProposalDecisionStatus,SnsProposalRewardStatus,SnsRootCanister,SnsSwapCanister,SnsSwapGetOpenTicketError,SnsSwapLifecycle,SnsSwapNewTicketError,SnsVote,SnsWrapper,UnsupportedMethodError,fromCandidAction,initSnsWrapper,neuronSubaccount});
1
+ "use strict";var $t=Object.defineProperty;var Bs=Object.getOwnPropertyDescriptor;var zs=Object.getOwnPropertyNames;var js=Object.prototype.hasOwnProperty;var Qs=(e,s)=>{for(var t in s)$t(e,t,{get:s[t],enumerable:!0})},Ws=(e,s,t,n)=>{if(s&&typeof s=="object"||typeof s=="function")for(let o of zs(s))!js.call(e,o)&&o!==t&&$t(e,o,{get:()=>s[o],enumerable:!(n=Bs(s,o))||n.enumerable});return e};var Js=e=>Ws($t({},"__esModule",{value:!0}),e);var cn={};Qs(cn,{GetOpenTicketErrorType:()=>vs,NewSaleTicketResponseErrorType:()=>Ss,SnsGovernanceCanister:()=>xt,SnsGovernanceError:()=>V,SnsGovernanceTestCanister:()=>Ut,SnsNeuronPermissionType:()=>Os,SnsProposalDecisionStatus:()=>gs,SnsProposalRewardStatus:()=>Rs,SnsRootCanister:()=>Tt,SnsSwapCanister:()=>Vt,SnsSwapGetOpenTicketError:()=>Ft,SnsSwapLifecycle:()=>fs,SnsSwapNewTicketError:()=>Ct,SnsVote:()=>ys,SnsWrapper:()=>At,UnsupportedMethodError:()=>kt,fromCandidAction:()=>Ns,initSnsWrapper:()=>an,neuronSubaccount:()=>Lt});module.exports=Js(cn);var d=require("@dfinity/utils");var ht=({neuronId:{id:e},command:s})=>({subaccount:e,command:[s]}),wt=({neuronId:e,operation:s})=>ht({neuronId:e,command:{Configure:{operation:[s]}}}),es=({owner:e,subaccount:s})=>({owner:(0,d.toNullable)(e),subaccount:s===void 0?[]:(0,d.toNullable)({subaccount:s})}),ts=({neuronId:e,permissions:s,principal:t})=>ht({neuronId:e,command:{AddNeuronPermissions:{permissions_to_add:[{permissions:Int32Array.from(s)}],principal_id:[t]}}}),ss=({neuronId:e,permissions:s,principal:t})=>ht({neuronId:e,command:{RemoveNeuronPermissions:{permissions_to_remove:[{permissions:Int32Array.from(s)}],principal_id:[t]}}}),ns=({neuronId:e,memo:s,amount:t})=>ht({neuronId:e,command:{Split:{memo:s,amount_e8s:t}}}),os=({neuronId:e,amount:s,toAccount:t})=>ht({neuronId:e,command:{Disburse:{to_account:t===void 0?[]:(0,d.toNullable)(es(t)),amount:s===void 0?[]:[{e8s:s}]}}}),rs=e=>wt({neuronId:e,operation:{StartDissolving:{}}}),as=e=>wt({neuronId:e,operation:{StopDissolving:{}}}),is=({neuronId:e,percentageToStake:s})=>ht({neuronId:e,command:{StakeMaturity:{percentage_to_stake:(0,d.toNullable)(s)}}}),cs=({neuronId:e,percentageToDisburse:s,toAccount:t})=>ht({neuronId:e,command:{DisburseMaturity:{to_account:t===void 0?[]:(0,d.toNullable)(es(t)),percentage_to_disburse:s}}}),_s=({neuronId:e,autoStake:s})=>wt({neuronId:e,operation:{ChangeAutoStakeMaturity:{requested_setting_for_auto_stake_maturity:s}}}),ps=({neuronId:e,dissolveTimestampSeconds:s})=>wt({neuronId:e,operation:{SetDissolveTimestamp:{dissolve_timestamp_seconds:s}}}),ds=({neuronId:e,additionalDissolveDelaySeconds:s})=>wt({neuronId:e,operation:{IncreaseDissolveDelay:{additional_dissolve_delay_seconds:s}}}),us=({neuronId:e,functionId:s,followees:t})=>({subaccount:e.id,command:[{Follow:{function_id:s,followees:t}}]}),ls=({neuronId:e,proposalId:s,vote:t})=>({subaccount:e.id,command:[{RegisterVote:{vote:t,proposal:[s]}}]}),Xt=({subaccount:e,memo:s,controller:t})=>({subaccount:e,command:[{ClaimOrRefresh:{by:[s===void 0?{NeuronId:{}}:{MemoAndController:{memo:s,controller:(0,d.toNullable)(t)}}]}}]}),ms=({excludeType:e,beforeProposal:s,includeRewardStatus:t,includeStatus:n,limit:o})=>({exclude_type:BigUint64Array.from(e??[]),before_proposal:(0,d.toNullable)(s),include_reward_status:Int32Array.from(t??[]),include_status:Int32Array.from(n??[]),limit:o??10}),Ns=e=>{if("ManageNervousSystemParameters"in e)return{ManageNervousSystemParameters:Ls(e.ManageNervousSystemParameters)};if("AddGenericNervousSystemFunction"in e)return{AddGenericNervousSystemFunction:Is(e.AddGenericNervousSystemFunction)};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:Xs(e.TransferSnsTreasuryFunds)};if("UpgradeSnsControlledCanister"in e)return{UpgradeSnsControlledCanister:$s(e.UpgradeSnsControlledCanister)};if("DeregisterDappCanisters"in e)return{DeregisterDappCanisters:e.DeregisterDappCanisters};if("Unspecified"in e)return{Unspecified:e.Unspecified};if("ManageSnsMetadata"in e)return{ManageSnsMetadata:Hs(e.ManageSnsMetadata)};if("ExecuteGenericNervousSystemFunction"in e)return{ExecuteGenericNervousSystemFunction:e.ExecuteGenericNervousSystemFunction};if("Motion"in e)return{Motion:e.Motion};throw new Error(`Unknown action type ${JSON.stringify(e)}`)},Hs=e=>({url:(0,d.fromNullable)(e.url),logo:(0,d.fromNullable)(e.logo),name:(0,d.fromNullable)(e.name),description:(0,d.fromNullable)(e.description)}),$s=e=>({new_canister_wasm:e.new_canister_wasm,canister_id:(0,d.fromNullable)(e.canister_id),canister_upgrade_arg:(0,d.fromNullable)(e.canister_upgrade_arg),mode:(0,d.fromNullable)(e.mode)}),Xs=e=>({from_treasury:e.from_treasury,to_principal:(0,d.fromNullable)(e.to_principal),to_subaccount:(0,d.fromNullable)(e.to_subaccount),memo:(0,d.fromNullable)(e.memo),amount_e8s:e.amount_e8s}),Ks=e=>({validator_canister_id:(0,d.fromNullable)(e.validator_canister_id),target_canister_id:(0,d.fromNullable)(e.target_canister_id),validator_method_name:(0,d.fromNullable)(e.validator_method_name),target_method_name:(0,d.fromNullable)(e.target_method_name)}),Zs=e=>{if(e!==void 0){if("NativeNervousSystemFunction"in e)return{NativeNervousSystemFunction:e.NativeNervousSystemFunction};if("GenericNervousSystemFunction"in e)return{GenericNervousSystemFunction:Ks(e.GenericNervousSystemFunction)};throw new Error(`Unknown FunctionType ${JSON.stringify(e)}`)}},Is=e=>({id:e.id,name:e.name,description:(0,d.fromNullable)(e.description),function_type:Zs((0,d.fromNullable)(e.function_type))}),Ds=e=>e&&{final_reward_rate_basis_points:(0,d.fromNullable)(e.final_reward_rate_basis_points),initial_reward_rate_basis_points:(0,d.fromNullable)(e.initial_reward_rate_basis_points),reward_rate_transition_duration_seconds:(0,d.fromNullable)(e.reward_rate_transition_duration_seconds),round_duration_seconds:(0,d.fromNullable)(e.round_duration_seconds)},Ls=e=>({default_followees:(0,d.fromNullable)(e.default_followees),max_dissolve_delay_seconds:(0,d.fromNullable)(e.max_dissolve_delay_seconds),max_dissolve_delay_bonus_percentage:(0,d.fromNullable)(e.max_dissolve_delay_bonus_percentage),max_followees_per_function:(0,d.fromNullable)(e.max_followees_per_function),neuron_claimer_permissions:(0,d.fromNullable)(e.neuron_claimer_permissions),neuron_minimum_stake_e8s:(0,d.fromNullable)(e.neuron_minimum_stake_e8s),max_neuron_age_for_age_bonus:(0,d.fromNullable)(e.max_neuron_age_for_age_bonus),initial_voting_period_seconds:(0,d.fromNullable)(e.initial_voting_period_seconds),neuron_minimum_dissolve_delay_to_vote_seconds:(0,d.fromNullable)(e.neuron_minimum_dissolve_delay_to_vote_seconds),reject_cost_e8s:(0,d.fromNullable)(e.reject_cost_e8s),max_proposals_to_keep_per_action:(0,d.fromNullable)(e.max_proposals_to_keep_per_action),wait_for_quiet_deadline_increase_seconds:(0,d.fromNullable)(e.wait_for_quiet_deadline_increase_seconds),max_number_of_neurons:(0,d.fromNullable)(e.max_number_of_neurons),transaction_fee_e8s:(0,d.fromNullable)(e.transaction_fee_e8s),max_number_of_proposals_with_ballots:(0,d.fromNullable)(e.max_number_of_proposals_with_ballots),max_age_bonus_percentage:(0,d.fromNullable)(e.max_age_bonus_percentage),neuron_grantable_permissions:(0,d.fromNullable)(e.neuron_grantable_permissions),voting_rewards_parameters:Ds((0,d.fromNullable)(e.voting_rewards_parameters)),max_number_of_principals_per_neuron:(0,d.fromNullable)(e.max_number_of_principals_per_neuron)});var Os=(c=>(c[c.NEURON_PERMISSION_TYPE_UNSPECIFIED=0]="NEURON_PERMISSION_TYPE_UNSPECIFIED",c[c.NEURON_PERMISSION_TYPE_CONFIGURE_DISSOLVE_STATE=1]="NEURON_PERMISSION_TYPE_CONFIGURE_DISSOLVE_STATE",c[c.NEURON_PERMISSION_TYPE_MANAGE_PRINCIPALS=2]="NEURON_PERMISSION_TYPE_MANAGE_PRINCIPALS",c[c.NEURON_PERMISSION_TYPE_SUBMIT_PROPOSAL=3]="NEURON_PERMISSION_TYPE_SUBMIT_PROPOSAL",c[c.NEURON_PERMISSION_TYPE_VOTE=4]="NEURON_PERMISSION_TYPE_VOTE",c[c.NEURON_PERMISSION_TYPE_DISBURSE=5]="NEURON_PERMISSION_TYPE_DISBURSE",c[c.NEURON_PERMISSION_TYPE_SPLIT=6]="NEURON_PERMISSION_TYPE_SPLIT",c[c.NEURON_PERMISSION_TYPE_MERGE_MATURITY=7]="NEURON_PERMISSION_TYPE_MERGE_MATURITY",c[c.NEURON_PERMISSION_TYPE_DISBURSE_MATURITY=8]="NEURON_PERMISSION_TYPE_DISBURSE_MATURITY",c[c.NEURON_PERMISSION_TYPE_STAKE_MATURITY=9]="NEURON_PERMISSION_TYPE_STAKE_MATURITY",c[c.NEURON_PERMISSION_TYPE_MANAGE_VOTING_PERMISSION=10]="NEURON_PERMISSION_TYPE_MANAGE_VOTING_PERMISSION",c))(Os||{}),Rs=(o=>(o[o.PROPOSAL_REWARD_STATUS_UNSPECIFIED=0]="PROPOSAL_REWARD_STATUS_UNSPECIFIED",o[o.PROPOSAL_REWARD_STATUS_ACCEPT_VOTES=1]="PROPOSAL_REWARD_STATUS_ACCEPT_VOTES",o[o.PROPOSAL_REWARD_STATUS_READY_TO_SETTLE=2]="PROPOSAL_REWARD_STATUS_READY_TO_SETTLE",o[o.PROPOSAL_REWARD_STATUS_SETTLED=3]="PROPOSAL_REWARD_STATUS_SETTLED",o))(Rs||{}),gs=(r=>(r[r.PROPOSAL_DECISION_STATUS_UNSPECIFIED=0]="PROPOSAL_DECISION_STATUS_UNSPECIFIED",r[r.PROPOSAL_DECISION_STATUS_OPEN=1]="PROPOSAL_DECISION_STATUS_OPEN",r[r.PROPOSAL_DECISION_STATUS_REJECTED=2]="PROPOSAL_DECISION_STATUS_REJECTED",r[r.PROPOSAL_DECISION_STATUS_ADOPTED=3]="PROPOSAL_DECISION_STATUS_ADOPTED",r[r.PROPOSAL_DECISION_STATUS_EXECUTED=4]="PROPOSAL_DECISION_STATUS_EXECUTED",r[r.PROPOSAL_DECISION_STATUS_FAILED=5]="PROPOSAL_DECISION_STATUS_FAILED",r))(gs||{}),ys=(n=>(n[n.Unspecified=0]="Unspecified",n[n.Yes=1]="Yes",n[n.No=2]="No",n))(ys||{});var fs=(r=>(r[r.Unspecified=0]="Unspecified",r[r.Pending=1]="Pending",r[r.Open=2]="Open",r[r.Committed=3]="Committed",r[r.Aborted=4]="Aborted",r[r.Adopted=5]="Adopted",r))(fs||{}),vs=(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))(vs||{}),Ss=(i=>(i[i.TYPE_UNSPECIFIED=0]="TYPE_UNSPECIFIED",i[i.TYPE_SALE_NOT_OPEN=1]="TYPE_SALE_NOT_OPEN",i[i.TYPE_SALE_CLOSED=2]="TYPE_SALE_CLOSED",i[i.TYPE_TICKET_EXISTS=3]="TYPE_TICKET_EXISTS",i[i.TYPE_INVALID_USER_AMOUNT=4]="TYPE_INVALID_USER_AMOUNT",i[i.TYPE_INVALID_SUBACCOUNT=5]="TYPE_INVALID_SUBACCOUNT",i[i.TYPE_INVALID_PRINCIPAL=6]="TYPE_INVALID_PRINCIPAL",i))(Ss||{});var kt=class extends Error{constructor(t){super();this.methodName=t}};var V=class extends Error{};var Ct=class extends Error{constructor({errorType:s,invalidUserAmount:t,existingTicket:n}){super(),this.errorType=s,this.invalidUserAmount=t,this.existingTicket=n}},Ft=class extends Error{constructor(t){super();this.errorType=t}};var w=require("@dfinity/utils");var Ps=({IDL:e})=>{let s=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),t=e.Record({archive_wasm_hash:e.Vec(e.Nat8),root_wasm_hash:e.Vec(e.Nat8),swap_wasm_hash:e.Vec(e.Nat8),ledger_wasm_hash:e.Vec(e.Nat8),governance_wasm_hash:e.Vec(e.Nat8),index_wasm_hash:e.Vec(e.Nat8)}),n=e.Record({versions:e.Vec(t)}),o=e.Record({upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),a=e.Record({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)}),r=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:a}),i=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(r)}),u=e.Record({not_dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),garbage_collectable_neurons_count:e.Nat64,neurons_with_invalid_stake_count:e.Nat64,not_dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),neurons_with_less_than_6_months_dissolve_delay_count:e.Nat64,dissolved_neurons_count:e.Nat64,total_staked_e8s:e.Nat64,total_supply_governance_tokens:e.Nat64,not_dissolving_neurons_count:e.Nat64,dissolved_neurons_e8s:e.Nat64,neurons_with_less_than_6_months_dissolve_delay_e8s:e.Nat64,dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),dissolving_neurons_count:e.Nat64,dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),timestamp_seconds:e.Nat64}),l=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),N=e.Record({old_target_version:e.Opt(t),new_target_version:e.Opt(t)}),c=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(n)}),O=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(t)})})),human_readable:e.Opt(e.Text)}),p=e.Record({id:e.Nat64}),k=e.Record({current_version:e.Opt(t),expected_version:e.Opt(t),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:p,BehindTargetVersion:e.Record({})}))}),h=e.Record({upgrade_steps:e.Opt(n)}),F=e.Record({old_target_version:e.Opt(t),new_target_version:e.Opt(t)}),v=e.Record({event:e.Opt(e.Variant({TargetVersionSet:N,UpgradeStepsReset:c,UpgradeOutcome:O,UpgradeStarted:k,UpgradeStepsRefreshed:h,TargetVersionReset:F})),timestamp_seconds:e.Opt(e.Nat64)}),x=e.Record({entries:e.Vec(v)}),_=e.Record({id:e.Vec(e.Nat8)}),S=e.Record({followees:e.Vec(_)}),M=e.Record({followees:e.Vec(e.Tuple(e.Nat64,S))}),R=e.Record({permissions:e.Vec(e.Int32)}),A=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)}),y=e.Record({default_followees:e.Opt(M),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),neuron_claimer_permissions:e.Opt(R),neuron_minimum_stake_e8s:e.Opt(e.Nat64),max_neuron_age_for_age_bonus:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),reject_cost_e8s:e.Opt(e.Nat64),max_proposals_to_keep_per_action:e.Opt(e.Nat32),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),max_number_of_neurons:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),max_number_of_proposals_with_ballots:e.Opt(e.Nat64),max_age_bonus_percentage:e.Opt(e.Nat64),neuron_grantable_permissions:e.Opt(R),voting_rewards_parameters:e.Opt(A),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),U=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(p)}),oe=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Nat64,target_version:e.Opt(t)}),g=e.Record({error_message:e.Text,error_type:e.Int32}),f=e.Record({subaccount:e.Vec(e.Nat8)}),m=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(f)}),G=e.Record({human_readable:e.Opt(e.Text)}),D=e.Record({e8s:e.Opt(e.Nat64)}),E=e.Record({xdrs_per_icp:e.Opt(G),icps_per_token:e.Opt(G),tokens:e.Opt(D)}),re=e.Record({token:e.Opt(e.Int32),account:e.Opt(m),valuation_factors:e.Opt(E),timestamp_seconds:e.Opt(e.Nat64)}),q=e.Record({valuation:e.Opt(re)}),ae=e.Variant({TransferSnsTreasuryFunds:q,MintSnsTokens:q}),ie=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),B=e.Record({basis_points:e.Opt(e.Nat64)}),ce=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),_e=e.Record({freezing_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)}),pe=e.Record({canister_ids:e.Vec(e.Principal)}),de=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(f),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),L=e.Record({new_canister_wasm:e.Vec(e.Nat8),mode:e.Opt(e.Int32),canister_id:e.Opt(e.Principal),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),z=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ue=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(f),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),j=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),le=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),ee=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)}),me=e.Record({motion_text:e.Text}),Ne=e.Variant({ManageNervousSystemParameters:y,AddGenericNervousSystemFunction:i,ManageDappCanisterSettings:_e,RemoveGenericNervousSystemFunction:e.Nat64,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:pe,TransferSnsTreasuryFunds:de,UpgradeSnsControlledCanister:L,DeregisterDappCanisters:z,MintSnsTokens:ue,Unspecified:e.Record({}),ManageSnsMetadata:j,ExecuteGenericNervousSystemFunction:le,ManageLedgerParameters:ee,Motion:me}),T=e.Record({url:e.Text,title:e.Text,action:e.Opt(Ne),summary:e.Text}),te=e.Record({current_deadline_timestamp_seconds:e.Nat64}),b=e.Record({id:e.Opt(p),payload_text_rendering:e.Opt(e.Text),action:e.Nat64,failure_reason:e.Opt(g),action_auxiliary:e.Opt(ae),ballots:e.Vec(e.Tuple(e.Text,ie)),minimum_yes_proportion_of_total:e.Opt(B),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(ce),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(T),proposer:e.Opt(_),wait_for_quiet_state:e.Opt(te),minimum_yes_proportion_of_exercised:e.Opt(B),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),Q=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),W=e.Record({function_id:e.Nat64,followees:e.Vec(_)}),C=e.Record({to_account:e.Opt(m),percentage_to_disburse:e.Nat32}),se=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),Oe=e.Record({additional_dissolve_delay_seconds:e.Nat32}),ne=e.Record({dissolve_timestamp_seconds:e.Nat64}),Re=e.Variant({ChangeAutoStakeMaturity:se,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:Oe,SetDissolveTimestamp:ne}),J=e.Record({operation:e.Opt(Re)}),Y=e.Record({vote:e.Int32,proposal:e.Opt(p)}),ge=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(m)}),ye=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),fe=e.Variant({MemoAndController:ye,NeuronId:e.Record({})}),H=e.Record({by:e.Opt(fe)}),$=e.Record({permissions_to_remove:e.Opt(R),principal_id:e.Opt(e.Principal)}),X=e.Record({permissions_to_add:e.Opt(R),principal_id:e.Opt(e.Principal)}),K=e.Record({percentage_to_merge:e.Nat32}),ve=e.Record({e8s:e.Nat64}),Z=e.Record({to_account:e.Opt(m),amount:e.Opt(ve)}),Se=e.Variant({Split:Q,Follow:W,DisburseMaturity:C,Configure:J,RegisterVote:Y,SyncCommand:e.Record({}),MakeProposal:T,FinalizeDisburseMaturity:ge,ClaimOrRefreshNeuron:H,RemoveNeuronPermissions:$,AddNeuronPermissions:X,MergeMaturity:K,Disburse:Z}),Pe=e.Record({command:e.Opt(Se),timestamp:e.Nat64}),he=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),xe=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),Te=e.Record({timestamp_of_disbursement_seconds:e.Nat64,amount_e8s:e.Nat64,account_to_disburse_to:e.Opt(m),finalize_disbursement_timestamp_seconds:e.Opt(e.Nat64)}),P=e.Record({id:e.Opt(_),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),permissions:e.Vec(he),maturity_e8s_equivalent:e.Nat64,cached_neuron_stake_e8s:e.Nat64,created_timestamp_seconds:e.Nat64,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(xe),voting_power_percentage_multiplier:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64),disburse_maturity_in_progress:e.Vec(Te),followees:e.Vec(e.Tuple(e.Nat64,S)),neuron_fees_e8s:e.Nat64}),jt=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(s),cached_upgrade_steps:e.Opt(o),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,i)),metrics:e.Opt(u),maturity_modulation:e.Opt(l),upgrade_journal:e.Opt(x),mode:e.Int32,parameters:e.Opt(y),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(t),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(U),pending_version:e.Opt(oe),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,b)),in_flight_commands:e.Vec(e.Tuple(e.Text,Pe)),sns_metadata:e.Opt(j),neurons:e.Vec(e.Tuple(e.Text,P)),target_version:e.Opt(t),genesis_timestamp_seconds:e.Nat64}),Ae=e.Record({principals:e.Vec(e.Principal)}),Ue=e.Record({nns_neuron_hotkeys:e.Opt(Ae),nns_neuron_controller:e.Opt(e.Principal),nns_neuron_id:e.Opt(e.Nat64)}),Ge=e.Variant({NeuronsFund:Ue,Direct:e.Record({})}),Ee=e.Record({neuron_ids:e.Vec(_)}),qe=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),participant:e.Opt(Ge),stake_e8s:e.Opt(e.Nat64),followees:e.Opt(Ee),neuron_id:e.Opt(_)}),Be=e.Record({neuron_recipes:e.Vec(qe)}),ze=e.Record({neuron_recipes:e.Opt(Be)}),je=e.Record({id:e.Opt(_),status:e.Int32}),Qe=e.Record({swap_neurons:e.Vec(je)}),We=e.Variant({Ok:Qe,Err:e.Int32}),Je=e.Record({claim_swap_neurons_result:e.Opt(We)}),Ye=e.Record({maturity_modulation:e.Opt(l)}),He=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),$e=e.Record({mode:e.Opt(e.Int32)}),Xe=e.Record({neuron_id:e.Opt(_)}),Ke=e.Variant({Error:g,Neuron:P}),Ze=e.Record({result:e.Opt(Ke)}),ke=e.Record({proposal_id:e.Opt(p)}),Ie=e.Variant({Error:g,Proposal:b}),De=e.Record({result:e.Opt(Ie)}),Le=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),Ce=e.Record({freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),et=e.Record({status:Le,memory_size:e.Nat,cycles:e.Nat,settings:Ce,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),tt=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Nat64,target_version:e.Opt(t)}),st=e.Record({deployed_version:e.Opt(t),pending_version:e.Opt(tt)}),nt=e.Record({sns_initialization_parameters:e.Text}),ot=e.Record({timers:e.Opt(s)}),rt=e.Record({}),at=e.Record({upgrade_journal:e.Opt(x),upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),target_version:e.Opt(t)}),it=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(i)}),ct=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(_)}),_t=e.Record({neurons:e.Vec(P)}),pt=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(p),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_status:e.Vec(e.Int32)}),dt=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(b)}),ut=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),lt=e.Variant({Split:Q,Follow:W,DisburseMaturity:C,ClaimOrRefresh:H,Configure:J,RegisterVote:Y,MakeProposal:T,StakeMaturity:ut,RemoveNeuronPermissions:$,AddNeuronPermissions:X,MergeMaturity:K,Disburse:Z}),mt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(lt)}),Nt=e.Record({created_neuron_id:e.Opt(_)}),Ot=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),Rt=e.Record({refreshed_neuron_id:e.Opt(_)}),gt=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),yt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),ft=e.Record({transfer_block_height:e.Nat64}),vt=e.Variant({Error:g,Split:Nt,Follow:e.Record({}),DisburseMaturity:Ot,ClaimOrRefresh:Rt,Configure:e.Record({}),RegisterVote:e.Record({}),MakeProposal:ke,RemoveNeuronPermission:e.Record({}),StakeMaturity:gt,MergeMaturity:yt,Disburse:ft,AddNeuronPermission:e.Record({})}),St=e.Record({command:e.Opt(vt)}),Pt=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([ze],[Je],[]),fail_stuck_upgrade_in_progress:e.Func([e.Record({})],[e.Record({})],[]),get_build_metadata:e.Func([],[e.Text],[]),get_latest_reward_event:e.Func([],[U],[]),get_maturity_modulation:e.Func([e.Record({})],[Ye],[]),get_metadata:e.Func([e.Record({})],[He],[]),get_mode:e.Func([e.Record({})],[$e],[]),get_nervous_system_parameters:e.Func([e.Null],[y],[]),get_neuron:e.Func([Xe],[Ze],[]),get_proposal:e.Func([ke],[De],[]),get_root_canister_status:e.Func([e.Null],[et],[]),get_running_sns_version:e.Func([e.Record({})],[st],[]),get_sns_initialization_parameters:e.Func([e.Record({})],[nt],[]),get_timers:e.Func([e.Record({})],[ot],[]),get_upgrade_journal:e.Func([rt],[at],[]),list_nervous_system_functions:e.Func([],[it],[]),list_neurons:e.Func([ct],[_t],[]),list_proposals:e.Func([pt],[dt],[]),manage_neuron:e.Func([mt],[St],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([Pt],[e.Record({})],[])})};var hs=({IDL:e})=>{let s=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),t=e.Record({archive_wasm_hash:e.Vec(e.Nat8),root_wasm_hash:e.Vec(e.Nat8),swap_wasm_hash:e.Vec(e.Nat8),ledger_wasm_hash:e.Vec(e.Nat8),governance_wasm_hash:e.Vec(e.Nat8),index_wasm_hash:e.Vec(e.Nat8)}),n=e.Record({versions:e.Vec(t)}),o=e.Record({upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),a=e.Record({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)}),r=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:a}),i=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(r)}),u=e.Record({not_dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),garbage_collectable_neurons_count:e.Nat64,neurons_with_invalid_stake_count:e.Nat64,not_dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),neurons_with_less_than_6_months_dissolve_delay_count:e.Nat64,dissolved_neurons_count:e.Nat64,total_staked_e8s:e.Nat64,total_supply_governance_tokens:e.Nat64,not_dissolving_neurons_count:e.Nat64,dissolved_neurons_e8s:e.Nat64,neurons_with_less_than_6_months_dissolve_delay_e8s:e.Nat64,dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),dissolving_neurons_count:e.Nat64,dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),timestamp_seconds:e.Nat64}),l=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),N=e.Record({old_target_version:e.Opt(t),new_target_version:e.Opt(t)}),c=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(n)}),O=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(t)})})),human_readable:e.Opt(e.Text)}),p=e.Record({id:e.Nat64}),k=e.Record({current_version:e.Opt(t),expected_version:e.Opt(t),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:p,BehindTargetVersion:e.Record({})}))}),h=e.Record({upgrade_steps:e.Opt(n)}),F=e.Record({old_target_version:e.Opt(t),new_target_version:e.Opt(t)}),v=e.Record({event:e.Opt(e.Variant({TargetVersionSet:N,UpgradeStepsReset:c,UpgradeOutcome:O,UpgradeStarted:k,UpgradeStepsRefreshed:h,TargetVersionReset:F})),timestamp_seconds:e.Opt(e.Nat64)}),x=e.Record({entries:e.Vec(v)}),_=e.Record({id:e.Vec(e.Nat8)}),S=e.Record({followees:e.Vec(_)}),M=e.Record({followees:e.Vec(e.Tuple(e.Nat64,S))}),R=e.Record({permissions:e.Vec(e.Int32)}),A=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)}),y=e.Record({default_followees:e.Opt(M),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),neuron_claimer_permissions:e.Opt(R),neuron_minimum_stake_e8s:e.Opt(e.Nat64),max_neuron_age_for_age_bonus:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),reject_cost_e8s:e.Opt(e.Nat64),max_proposals_to_keep_per_action:e.Opt(e.Nat32),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),max_number_of_neurons:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),max_number_of_proposals_with_ballots:e.Opt(e.Nat64),max_age_bonus_percentage:e.Opt(e.Nat64),neuron_grantable_permissions:e.Opt(R),voting_rewards_parameters:e.Opt(A),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),U=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(p)}),oe=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Nat64,target_version:e.Opt(t)}),g=e.Record({error_message:e.Text,error_type:e.Int32}),f=e.Record({subaccount:e.Vec(e.Nat8)}),m=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(f)}),G=e.Record({human_readable:e.Opt(e.Text)}),D=e.Record({e8s:e.Opt(e.Nat64)}),E=e.Record({xdrs_per_icp:e.Opt(G),icps_per_token:e.Opt(G),tokens:e.Opt(D)}),re=e.Record({token:e.Opt(e.Int32),account:e.Opt(m),valuation_factors:e.Opt(E),timestamp_seconds:e.Opt(e.Nat64)}),q=e.Record({valuation:e.Opt(re)}),ae=e.Variant({TransferSnsTreasuryFunds:q,MintSnsTokens:q}),ie=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),B=e.Record({basis_points:e.Opt(e.Nat64)}),ce=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),_e=e.Record({freezing_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)}),pe=e.Record({canister_ids:e.Vec(e.Principal)}),de=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(f),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),L=e.Record({new_canister_wasm:e.Vec(e.Nat8),mode:e.Opt(e.Int32),canister_id:e.Opt(e.Principal),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),z=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ue=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(f),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),j=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),le=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),ee=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)}),me=e.Record({motion_text:e.Text}),Ne=e.Variant({ManageNervousSystemParameters:y,AddGenericNervousSystemFunction:i,ManageDappCanisterSettings:_e,RemoveGenericNervousSystemFunction:e.Nat64,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:pe,TransferSnsTreasuryFunds:de,UpgradeSnsControlledCanister:L,DeregisterDappCanisters:z,MintSnsTokens:ue,Unspecified:e.Record({}),ManageSnsMetadata:j,ExecuteGenericNervousSystemFunction:le,ManageLedgerParameters:ee,Motion:me}),T=e.Record({url:e.Text,title:e.Text,action:e.Opt(Ne),summary:e.Text}),te=e.Record({current_deadline_timestamp_seconds:e.Nat64}),b=e.Record({id:e.Opt(p),payload_text_rendering:e.Opt(e.Text),action:e.Nat64,failure_reason:e.Opt(g),action_auxiliary:e.Opt(ae),ballots:e.Vec(e.Tuple(e.Text,ie)),minimum_yes_proportion_of_total:e.Opt(B),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(ce),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(T),proposer:e.Opt(_),wait_for_quiet_state:e.Opt(te),minimum_yes_proportion_of_exercised:e.Opt(B),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),Q=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),W=e.Record({function_id:e.Nat64,followees:e.Vec(_)}),C=e.Record({to_account:e.Opt(m),percentage_to_disburse:e.Nat32}),se=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),Oe=e.Record({additional_dissolve_delay_seconds:e.Nat32}),ne=e.Record({dissolve_timestamp_seconds:e.Nat64}),Re=e.Variant({ChangeAutoStakeMaturity:se,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:Oe,SetDissolveTimestamp:ne}),J=e.Record({operation:e.Opt(Re)}),Y=e.Record({vote:e.Int32,proposal:e.Opt(p)}),ge=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(m)}),ye=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),fe=e.Variant({MemoAndController:ye,NeuronId:e.Record({})}),H=e.Record({by:e.Opt(fe)}),$=e.Record({permissions_to_remove:e.Opt(R),principal_id:e.Opt(e.Principal)}),X=e.Record({permissions_to_add:e.Opt(R),principal_id:e.Opt(e.Principal)}),K=e.Record({percentage_to_merge:e.Nat32}),ve=e.Record({e8s:e.Nat64}),Z=e.Record({to_account:e.Opt(m),amount:e.Opt(ve)}),Se=e.Variant({Split:Q,Follow:W,DisburseMaturity:C,Configure:J,RegisterVote:Y,SyncCommand:e.Record({}),MakeProposal:T,FinalizeDisburseMaturity:ge,ClaimOrRefreshNeuron:H,RemoveNeuronPermissions:$,AddNeuronPermissions:X,MergeMaturity:K,Disburse:Z}),Pe=e.Record({command:e.Opt(Se),timestamp:e.Nat64}),he=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),xe=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),Te=e.Record({timestamp_of_disbursement_seconds:e.Nat64,amount_e8s:e.Nat64,account_to_disburse_to:e.Opt(m),finalize_disbursement_timestamp_seconds:e.Opt(e.Nat64)}),P=e.Record({id:e.Opt(_),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),permissions:e.Vec(he),maturity_e8s_equivalent:e.Nat64,cached_neuron_stake_e8s:e.Nat64,created_timestamp_seconds:e.Nat64,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(xe),voting_power_percentage_multiplier:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64),disburse_maturity_in_progress:e.Vec(Te),followees:e.Vec(e.Tuple(e.Nat64,S)),neuron_fees_e8s:e.Nat64}),jt=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(s),cached_upgrade_steps:e.Opt(o),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,i)),metrics:e.Opt(u),maturity_modulation:e.Opt(l),upgrade_journal:e.Opt(x),mode:e.Int32,parameters:e.Opt(y),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(t),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(U),pending_version:e.Opt(oe),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,b)),in_flight_commands:e.Vec(e.Tuple(e.Text,Pe)),sns_metadata:e.Opt(j),neurons:e.Vec(e.Tuple(e.Text,P)),target_version:e.Opt(t),genesis_timestamp_seconds:e.Nat64}),Ae=e.Record({principals:e.Vec(e.Principal)}),Ue=e.Record({nns_neuron_hotkeys:e.Opt(Ae),nns_neuron_controller:e.Opt(e.Principal),nns_neuron_id:e.Opt(e.Nat64)}),Ge=e.Variant({NeuronsFund:Ue,Direct:e.Record({})}),Ee=e.Record({neuron_ids:e.Vec(_)}),qe=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),participant:e.Opt(Ge),stake_e8s:e.Opt(e.Nat64),followees:e.Opt(Ee),neuron_id:e.Opt(_)}),Be=e.Record({neuron_recipes:e.Vec(qe)}),ze=e.Record({neuron_recipes:e.Opt(Be)}),je=e.Record({id:e.Opt(_),status:e.Int32}),Qe=e.Record({swap_neurons:e.Vec(je)}),We=e.Variant({Ok:Qe,Err:e.Int32}),Je=e.Record({claim_swap_neurons_result:e.Opt(We)}),Ye=e.Record({maturity_modulation:e.Opt(l)}),He=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),$e=e.Record({mode:e.Opt(e.Int32)}),Xe=e.Record({neuron_id:e.Opt(_)}),Ke=e.Variant({Error:g,Neuron:P}),Ze=e.Record({result:e.Opt(Ke)}),ke=e.Record({proposal_id:e.Opt(p)}),Ie=e.Variant({Error:g,Proposal:b}),De=e.Record({result:e.Opt(Ie)}),Le=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),Ce=e.Record({freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),et=e.Record({status:Le,memory_size:e.Nat,cycles:e.Nat,settings:Ce,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),tt=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Nat64,target_version:e.Opt(t)}),st=e.Record({deployed_version:e.Opt(t),pending_version:e.Opt(tt)}),nt=e.Record({sns_initialization_parameters:e.Text}),ot=e.Record({timers:e.Opt(s)}),rt=e.Record({}),at=e.Record({upgrade_journal:e.Opt(x),upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),target_version:e.Opt(t)}),it=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(i)}),ct=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(_)}),_t=e.Record({neurons:e.Vec(P)}),pt=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(p),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_status:e.Vec(e.Int32)}),dt=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(b)}),ut=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),lt=e.Variant({Split:Q,Follow:W,DisburseMaturity:C,ClaimOrRefresh:H,Configure:J,RegisterVote:Y,MakeProposal:T,StakeMaturity:ut,RemoveNeuronPermissions:$,AddNeuronPermissions:X,MergeMaturity:K,Disburse:Z}),mt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(lt)}),Nt=e.Record({created_neuron_id:e.Opt(_)}),Ot=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),Rt=e.Record({refreshed_neuron_id:e.Opt(_)}),gt=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),yt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),ft=e.Record({transfer_block_height:e.Nat64}),vt=e.Variant({Error:g,Split:Nt,Follow:e.Record({}),DisburseMaturity:Ot,ClaimOrRefresh:Rt,Configure:e.Record({}),RegisterVote:e.Record({}),MakeProposal:ke,RemoveNeuronPermission:e.Record({}),StakeMaturity:gt,MergeMaturity:yt,Disburse:ft,AddNeuronPermission:e.Record({})}),St=e.Record({command:e.Opt(vt)}),Pt=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([ze],[Je],[]),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([],[U],["query"]),get_maturity_modulation:e.Func([e.Record({})],[Ye],[]),get_metadata:e.Func([e.Record({})],[He],["query"]),get_mode:e.Func([e.Record({})],[$e],["query"]),get_nervous_system_parameters:e.Func([e.Null],[y],["query"]),get_neuron:e.Func([Xe],[Ze],["query"]),get_proposal:e.Func([ke],[De],["query"]),get_root_canister_status:e.Func([e.Null],[et],[]),get_running_sns_version:e.Func([e.Record({})],[st],["query"]),get_sns_initialization_parameters:e.Func([e.Record({})],[nt],["query"]),get_timers:e.Func([e.Record({})],[ot],["query"]),get_upgrade_journal:e.Func([rt],[at],["query"]),list_nervous_system_functions:e.Func([],[it],["query"]),list_neurons:e.Func([ct],[_t],["query"]),list_proposals:e.Func([pt],[dt],["query"]),manage_neuron:e.Func([mt],[St],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([Pt],[e.Record({})],[])})};var xt=class e extends w.Canister{constructor(){super(...arguments);this.listNeurons=async t=>{let{principal:n,limit:o,beforeNeuronId:a}=t,{neurons:r}=await this.caller(t).list_neurons({of_principal:(0,w.toNullable)(n),limit:o??100,start_page_at:(0,w.toNullable)(a)});return r};this.listProposals=async t=>{let{certified:n}=t;return await this.caller({certified:n}).list_proposals(ms(t))};this.getProposal=async t=>{let{proposalId:n}=t,{result:o}=await this.caller(t).get_proposal({proposal_id:(0,w.toNullable)(n)}),a=(0,w.fromNullable)(o);if(a===void 0||"Error"in a)throw new V((a==null?void 0:a.Error.error_message)??"Response type not supported");return a.Proposal};this.listNervousSystemFunctions=async t=>this.caller(t).list_nervous_system_functions();this.metadata=t=>this.caller(t).get_metadata({});this.nervousSystemParameters=t=>this.caller(t).get_nervous_system_parameters(null);this.getNeuron=async t=>{let{neuronId:n}=t,{result:o}=await this.caller(t).get_neuron({neuron_id:(0,w.toNullable)(n)}),a=(0,w.fromNullable)(o);if(a===void 0||"Error"in a)throw new V((a==null?void 0:a.Error.error_message)??"Response type not supported");return a.Neuron};this.queryNeuron=async t=>{try{return await this.getNeuron(t)}catch(n){if(n instanceof Error&&n.message.includes("No neuron for given NeuronId"))return;throw n}};this.manageNeuron=async t=>{let n=await this.caller({certified:!0}).manage_neuron(t);return this.assertManageNeuronError(n),n};this.addNeuronPermissions=async t=>{let n=ts(t);await this.manageNeuron(n)};this.removeNeuronPermissions=async t=>{let n=ss(t);await this.manageNeuron(n)};this.splitNeuron=async t=>{let n=ns(t),{command:o}=await this.manageNeuron(n),a=(0,w.fromNullable)(o),r=i=>`Split neuron failed (${i})`;if(a===void 0)throw new V(r("no response"));if("Split"in a){let i=a.Split,u=(0,w.fromNullable)(i.created_neuron_id);if(u!==void 0)return u;throw new V(r("no id"))}throw new V(r("unknown"))};this.disburse=async t=>{let n=os(t);await this.manageNeuron(n)};this.startDissolving=async t=>{let n=rs(t);await this.manageNeuron(n)};this.stopDissolving=async t=>{let n=as(t);await this.manageNeuron(n)};this.stakeMaturity=async({neuronId:t,percentageToStake:n})=>{(0,w.assertPercentageNumber)(n??100);let o=is({neuronId:t,percentageToStake:n});await this.manageNeuron(o)};this.disburseMaturity=async t=>{(0,w.assertPercentageNumber)(t.percentageToDisburse);let n=cs(t);await this.manageNeuron(n)};this.autoStakeMaturity=async t=>{let n=_s(t);await this.manageNeuron(n)};this.setDissolveTimestamp=async t=>{let n=ps(t);await this.manageNeuron(n)};this.increaseDissolveDelay=async t=>{let n=ds(t);await this.manageNeuron(n)};this.setTopicFollowees=async t=>{let n=us(t);await this.manageNeuron(n)};this.registerVote=async t=>{let n=ls(t);await this.manageNeuron(n)};this.refreshNeuron=async t=>{let n=Xt({subaccount:t.id});await this.manageNeuron(n)};this.claimNeuron=async({memo:t,controller:n,subaccount:o})=>{let a=Xt({subaccount:o,memo:t,controller:n}),{command:r}=await this.manageNeuron(a),i=(0,w.fromNullable)(r);if(i===void 0)throw new V("Claim neuron failed");if("ClaimOrRefresh"in i){let u=(0,w.fromNullable)(i.ClaimOrRefresh.refreshed_neuron_id);if(u===void 0)throw new V("Claim neuron failed");return u}throw new V("Claim neuron failed")};this.assertManageNeuronError=({command:t})=>{let n=t[0];if(n!==void 0&&"Error"in n)throw new V(n.Error.error_message)}}static create(t){let{service:n,certifiedService:o,canisterId:a}=(0,w.createServices)({options:t,idlFactory:hs,certifiedIdlFactory:Ps});return new e(a,n,o)}};var be=require("@dfinity/utils");var xs=({IDL:e})=>{let s=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),t=e.Record({archive_wasm_hash:e.Vec(e.Nat8),root_wasm_hash:e.Vec(e.Nat8),swap_wasm_hash:e.Vec(e.Nat8),ledger_wasm_hash:e.Vec(e.Nat8),governance_wasm_hash:e.Vec(e.Nat8),index_wasm_hash:e.Vec(e.Nat8)}),n=e.Record({versions:e.Vec(t)}),o=e.Record({upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),a=e.Record({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)}),r=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:a}),i=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(r)}),u=e.Record({not_dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),garbage_collectable_neurons_count:e.Nat64,neurons_with_invalid_stake_count:e.Nat64,not_dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),neurons_with_less_than_6_months_dissolve_delay_count:e.Nat64,dissolved_neurons_count:e.Nat64,total_staked_e8s:e.Nat64,total_supply_governance_tokens:e.Nat64,not_dissolving_neurons_count:e.Nat64,dissolved_neurons_e8s:e.Nat64,neurons_with_less_than_6_months_dissolve_delay_e8s:e.Nat64,dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),dissolving_neurons_count:e.Nat64,dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),timestamp_seconds:e.Nat64}),l=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),N=e.Record({old_target_version:e.Opt(t),new_target_version:e.Opt(t)}),c=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(n)}),O=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(t)})})),human_readable:e.Opt(e.Text)}),p=e.Record({id:e.Nat64}),k=e.Record({current_version:e.Opt(t),expected_version:e.Opt(t),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:p,BehindTargetVersion:e.Record({})}))}),h=e.Record({upgrade_steps:e.Opt(n)}),F=e.Record({old_target_version:e.Opt(t),new_target_version:e.Opt(t)}),v=e.Record({event:e.Opt(e.Variant({TargetVersionSet:N,UpgradeStepsReset:c,UpgradeOutcome:O,UpgradeStarted:k,UpgradeStepsRefreshed:h,TargetVersionReset:F})),timestamp_seconds:e.Opt(e.Nat64)}),x=e.Record({entries:e.Vec(v)}),_=e.Record({id:e.Vec(e.Nat8)}),S=e.Record({followees:e.Vec(_)}),M=e.Record({followees:e.Vec(e.Tuple(e.Nat64,S))}),R=e.Record({permissions:e.Vec(e.Int32)}),A=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)}),y=e.Record({default_followees:e.Opt(M),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),neuron_claimer_permissions:e.Opt(R),neuron_minimum_stake_e8s:e.Opt(e.Nat64),max_neuron_age_for_age_bonus:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),reject_cost_e8s:e.Opt(e.Nat64),max_proposals_to_keep_per_action:e.Opt(e.Nat32),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),max_number_of_neurons:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),max_number_of_proposals_with_ballots:e.Opt(e.Nat64),max_age_bonus_percentage:e.Opt(e.Nat64),neuron_grantable_permissions:e.Opt(R),voting_rewards_parameters:e.Opt(A),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),U=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(p)}),oe=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Nat64,target_version:e.Opt(t)}),g=e.Record({error_message:e.Text,error_type:e.Int32}),f=e.Record({subaccount:e.Vec(e.Nat8)}),m=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(f)}),G=e.Record({human_readable:e.Opt(e.Text)}),D=e.Record({e8s:e.Opt(e.Nat64)}),E=e.Record({xdrs_per_icp:e.Opt(G),icps_per_token:e.Opt(G),tokens:e.Opt(D)}),re=e.Record({token:e.Opt(e.Int32),account:e.Opt(m),valuation_factors:e.Opt(E),timestamp_seconds:e.Opt(e.Nat64)}),q=e.Record({valuation:e.Opt(re)}),ae=e.Variant({TransferSnsTreasuryFunds:q,MintSnsTokens:q}),ie=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),B=e.Record({basis_points:e.Opt(e.Nat64)}),ce=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),_e=e.Record({freezing_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)}),pe=e.Record({canister_ids:e.Vec(e.Principal)}),de=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(f),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),L=e.Record({new_canister_wasm:e.Vec(e.Nat8),mode:e.Opt(e.Int32),canister_id:e.Opt(e.Principal),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),z=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ue=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(f),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),j=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),le=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),ee=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)}),me=e.Record({motion_text:e.Text}),Ne=e.Variant({ManageNervousSystemParameters:y,AddGenericNervousSystemFunction:i,ManageDappCanisterSettings:_e,RemoveGenericNervousSystemFunction:e.Nat64,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:pe,TransferSnsTreasuryFunds:de,UpgradeSnsControlledCanister:L,DeregisterDappCanisters:z,MintSnsTokens:ue,Unspecified:e.Record({}),ManageSnsMetadata:j,ExecuteGenericNervousSystemFunction:le,ManageLedgerParameters:ee,Motion:me}),T=e.Record({url:e.Text,title:e.Text,action:e.Opt(Ne),summary:e.Text}),te=e.Record({current_deadline_timestamp_seconds:e.Nat64}),b=e.Record({id:e.Opt(p),payload_text_rendering:e.Opt(e.Text),action:e.Nat64,failure_reason:e.Opt(g),action_auxiliary:e.Opt(ae),ballots:e.Vec(e.Tuple(e.Text,ie)),minimum_yes_proportion_of_total:e.Opt(B),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(ce),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(T),proposer:e.Opt(_),wait_for_quiet_state:e.Opt(te),minimum_yes_proportion_of_exercised:e.Opt(B),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),Q=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),W=e.Record({function_id:e.Nat64,followees:e.Vec(_)}),C=e.Record({to_account:e.Opt(m),percentage_to_disburse:e.Nat32}),se=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),Oe=e.Record({additional_dissolve_delay_seconds:e.Nat32}),ne=e.Record({dissolve_timestamp_seconds:e.Nat64}),Re=e.Variant({ChangeAutoStakeMaturity:se,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:Oe,SetDissolveTimestamp:ne}),J=e.Record({operation:e.Opt(Re)}),Y=e.Record({vote:e.Int32,proposal:e.Opt(p)}),ge=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(m)}),ye=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),fe=e.Variant({MemoAndController:ye,NeuronId:e.Record({})}),H=e.Record({by:e.Opt(fe)}),$=e.Record({permissions_to_remove:e.Opt(R),principal_id:e.Opt(e.Principal)}),X=e.Record({permissions_to_add:e.Opt(R),principal_id:e.Opt(e.Principal)}),K=e.Record({percentage_to_merge:e.Nat32}),ve=e.Record({e8s:e.Nat64}),Z=e.Record({to_account:e.Opt(m),amount:e.Opt(ve)}),Se=e.Variant({Split:Q,Follow:W,DisburseMaturity:C,Configure:J,RegisterVote:Y,SyncCommand:e.Record({}),MakeProposal:T,FinalizeDisburseMaturity:ge,ClaimOrRefreshNeuron:H,RemoveNeuronPermissions:$,AddNeuronPermissions:X,MergeMaturity:K,Disburse:Z}),Pe=e.Record({command:e.Opt(Se),timestamp:e.Nat64}),he=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),xe=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),Te=e.Record({timestamp_of_disbursement_seconds:e.Nat64,amount_e8s:e.Nat64,account_to_disburse_to:e.Opt(m),finalize_disbursement_timestamp_seconds:e.Opt(e.Nat64)}),P=e.Record({id:e.Opt(_),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),permissions:e.Vec(he),maturity_e8s_equivalent:e.Nat64,cached_neuron_stake_e8s:e.Nat64,created_timestamp_seconds:e.Nat64,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(xe),voting_power_percentage_multiplier:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64),disburse_maturity_in_progress:e.Vec(Te),followees:e.Vec(e.Tuple(e.Nat64,S)),neuron_fees_e8s:e.Nat64}),jt=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(s),cached_upgrade_steps:e.Opt(o),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,i)),metrics:e.Opt(u),maturity_modulation:e.Opt(l),upgrade_journal:e.Opt(x),mode:e.Int32,parameters:e.Opt(y),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(t),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(U),pending_version:e.Opt(oe),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,b)),in_flight_commands:e.Vec(e.Tuple(e.Text,Pe)),sns_metadata:e.Opt(j),neurons:e.Vec(e.Tuple(e.Text,P)),target_version:e.Opt(t),genesis_timestamp_seconds:e.Nat64}),Ae=e.Record({id:e.Opt(_),amount_e8s:e.Opt(e.Nat64)}),Ue=e.Record({new_maturity_e8s:e.Opt(e.Nat64)}),Ge=e.Record({target_version:e.Opt(t)}),Ee=e.Record({}),qe=e.Record({principals:e.Vec(e.Principal)}),Be=e.Record({nns_neuron_hotkeys:e.Opt(qe),nns_neuron_controller:e.Opt(e.Principal),nns_neuron_id:e.Opt(e.Nat64)}),ze=e.Variant({NeuronsFund:Be,Direct:e.Record({})}),je=e.Record({neuron_ids:e.Vec(_)}),Qe=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),participant:e.Opt(ze),stake_e8s:e.Opt(e.Nat64),followees:e.Opt(je),neuron_id:e.Opt(_)}),We=e.Record({neuron_recipes:e.Vec(Qe)}),Je=e.Record({neuron_recipes:e.Opt(We)}),Ye=e.Record({id:e.Opt(_),status:e.Int32}),He=e.Record({swap_neurons:e.Vec(Ye)}),$e=e.Variant({Ok:He,Err:e.Int32}),Xe=e.Record({claim_swap_neurons_result:e.Opt($e)}),Ke=e.Record({maturity_modulation:e.Opt(l)}),Ze=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),ke=e.Record({mode:e.Opt(e.Int32)}),Ie=e.Record({neuron_id:e.Opt(_)}),De=e.Variant({Error:g,Neuron:P}),Le=e.Record({result:e.Opt(De)}),Ce=e.Record({proposal_id:e.Opt(p)}),et=e.Variant({Error:g,Proposal:b}),tt=e.Record({result:e.Opt(et)}),st=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),nt=e.Record({freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),ot=e.Record({status:st,memory_size:e.Nat,cycles:e.Nat,settings:nt,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),rt=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Nat64,target_version:e.Opt(t)}),at=e.Record({deployed_version:e.Opt(t),pending_version:e.Opt(rt)}),it=e.Record({sns_initialization_parameters:e.Text}),ct=e.Record({timers:e.Opt(s)}),_t=e.Record({}),pt=e.Record({upgrade_journal:e.Opt(x),upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),target_version:e.Opt(t)}),dt=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(i)}),ut=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(_)}),lt=e.Record({neurons:e.Vec(P)}),mt=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(p),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_status:e.Vec(e.Int32)}),Nt=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(b)}),Ot=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),Rt=e.Variant({Split:Q,Follow:W,DisburseMaturity:C,ClaimOrRefresh:H,Configure:J,RegisterVote:Y,MakeProposal:T,StakeMaturity:Ot,RemoveNeuronPermissions:$,AddNeuronPermissions:X,MergeMaturity:K,Disburse:Z}),gt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(Rt)}),yt=e.Record({created_neuron_id:e.Opt(_)}),ft=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),vt=e.Record({refreshed_neuron_id:e.Opt(_)}),St=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),Pt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),Qt=e.Record({transfer_block_height:e.Nat64}),Wt=e.Variant({Error:g,Split:yt,Follow:e.Record({}),DisburseMaturity:ft,ClaimOrRefresh:vt,Configure:e.Record({}),RegisterVote:e.Record({}),MakeProposal:Ce,RemoveNeuronPermission:e.Record({}),StakeMaturity:St,MergeMaturity:Pt,Disburse:Qt,AddNeuronPermission:e.Record({})}),Jt=e.Record({command:e.Opt(Wt)}),Yt=e.Record({recipient:e.Opt(m),amount_e8s:e.Opt(e.Nat64)}),Ht=e.Record({mode:e.Int32});return e.Service({add_maturity:e.Func([Ae],[Ue],[]),advance_target_version:e.Func([Ge],[Ee],[]),claim_swap_neurons:e.Func([Je],[Xe],[]),fail_stuck_upgrade_in_progress:e.Func([e.Record({})],[e.Record({})],[]),get_build_metadata:e.Func([],[e.Text],[]),get_latest_reward_event:e.Func([],[U],[]),get_maturity_modulation:e.Func([e.Record({})],[Ke],[]),get_metadata:e.Func([e.Record({})],[Ze],[]),get_mode:e.Func([e.Record({})],[ke],[]),get_nervous_system_parameters:e.Func([e.Null],[y],[]),get_neuron:e.Func([Ie],[Le],[]),get_proposal:e.Func([Ce],[tt],[]),get_root_canister_status:e.Func([e.Null],[ot],[]),get_running_sns_version:e.Func([e.Record({})],[at],[]),get_sns_initialization_parameters:e.Func([e.Record({})],[it],[]),get_timers:e.Func([e.Record({})],[ct],[]),get_upgrade_journal:e.Func([_t],[pt],[]),list_nervous_system_functions:e.Func([],[dt],[]),list_neurons:e.Func([ut],[lt],[]),list_proposals:e.Func([mt],[Nt],[]),manage_neuron:e.Func([gt],[Jt],[]),mint_tokens:e.Func([Yt],[e.Record({})],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([Ht],[e.Record({})],[]),update_neuron:e.Func([P],[e.Opt(g)],[])})};var Ts=({IDL:e})=>{let s=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),t=e.Record({archive_wasm_hash:e.Vec(e.Nat8),root_wasm_hash:e.Vec(e.Nat8),swap_wasm_hash:e.Vec(e.Nat8),ledger_wasm_hash:e.Vec(e.Nat8),governance_wasm_hash:e.Vec(e.Nat8),index_wasm_hash:e.Vec(e.Nat8)}),n=e.Record({versions:e.Vec(t)}),o=e.Record({upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),requested_timestamp_seconds:e.Opt(e.Nat64)}),a=e.Record({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)}),r=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:a}),i=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(r)}),u=e.Record({not_dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),garbage_collectable_neurons_count:e.Nat64,neurons_with_invalid_stake_count:e.Nat64,not_dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),neurons_with_less_than_6_months_dissolve_delay_count:e.Nat64,dissolved_neurons_count:e.Nat64,total_staked_e8s:e.Nat64,total_supply_governance_tokens:e.Nat64,not_dissolving_neurons_count:e.Nat64,dissolved_neurons_e8s:e.Nat64,neurons_with_less_than_6_months_dissolve_delay_e8s:e.Nat64,dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),dissolving_neurons_count:e.Nat64,dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),timestamp_seconds:e.Nat64}),l=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),N=e.Record({old_target_version:e.Opt(t),new_target_version:e.Opt(t)}),c=e.Record({human_readable:e.Opt(e.Text),upgrade_steps:e.Opt(n)}),O=e.Record({status:e.Opt(e.Variant({Success:e.Record({}),Timeout:e.Record({}),ExternalFailure:e.Record({}),InvalidState:e.Record({version:e.Opt(t)})})),human_readable:e.Opt(e.Text)}),p=e.Record({id:e.Nat64}),k=e.Record({current_version:e.Opt(t),expected_version:e.Opt(t),reason:e.Opt(e.Variant({UpgradeSnsToNextVersionProposal:p,BehindTargetVersion:e.Record({})}))}),h=e.Record({upgrade_steps:e.Opt(n)}),F=e.Record({old_target_version:e.Opt(t),new_target_version:e.Opt(t)}),v=e.Record({event:e.Opt(e.Variant({TargetVersionSet:N,UpgradeStepsReset:c,UpgradeOutcome:O,UpgradeStarted:k,UpgradeStepsRefreshed:h,TargetVersionReset:F})),timestamp_seconds:e.Opt(e.Nat64)}),x=e.Record({entries:e.Vec(v)}),_=e.Record({id:e.Vec(e.Nat8)}),S=e.Record({followees:e.Vec(_)}),M=e.Record({followees:e.Vec(e.Tuple(e.Nat64,S))}),R=e.Record({permissions:e.Vec(e.Int32)}),A=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)}),y=e.Record({default_followees:e.Opt(M),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),neuron_claimer_permissions:e.Opt(R),neuron_minimum_stake_e8s:e.Opt(e.Nat64),max_neuron_age_for_age_bonus:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),reject_cost_e8s:e.Opt(e.Nat64),max_proposals_to_keep_per_action:e.Opt(e.Nat32),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),max_number_of_neurons:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),max_number_of_proposals_with_ballots:e.Opt(e.Nat64),max_age_bonus_percentage:e.Opt(e.Nat64),neuron_grantable_permissions:e.Opt(R),voting_rewards_parameters:e.Opt(A),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),U=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(p)}),oe=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Nat64,target_version:e.Opt(t)}),g=e.Record({error_message:e.Text,error_type:e.Int32}),f=e.Record({subaccount:e.Vec(e.Nat8)}),m=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(f)}),G=e.Record({human_readable:e.Opt(e.Text)}),D=e.Record({e8s:e.Opt(e.Nat64)}),E=e.Record({xdrs_per_icp:e.Opt(G),icps_per_token:e.Opt(G),tokens:e.Opt(D)}),re=e.Record({token:e.Opt(e.Int32),account:e.Opt(m),valuation_factors:e.Opt(E),timestamp_seconds:e.Opt(e.Nat64)}),q=e.Record({valuation:e.Opt(re)}),ae=e.Variant({TransferSnsTreasuryFunds:q,MintSnsTokens:q}),ie=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),B=e.Record({basis_points:e.Opt(e.Nat64)}),ce=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),_e=e.Record({freezing_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)}),pe=e.Record({canister_ids:e.Vec(e.Principal)}),de=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(f),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),L=e.Record({new_canister_wasm:e.Vec(e.Nat8),mode:e.Opt(e.Int32),canister_id:e.Opt(e.Principal),canister_upgrade_arg:e.Opt(e.Vec(e.Nat8))}),z=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),ue=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(f),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),j=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),le=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),ee=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)}),me=e.Record({motion_text:e.Text}),Ne=e.Variant({ManageNervousSystemParameters:y,AddGenericNervousSystemFunction:i,ManageDappCanisterSettings:_e,RemoveGenericNervousSystemFunction:e.Nat64,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:pe,TransferSnsTreasuryFunds:de,UpgradeSnsControlledCanister:L,DeregisterDappCanisters:z,MintSnsTokens:ue,Unspecified:e.Record({}),ManageSnsMetadata:j,ExecuteGenericNervousSystemFunction:le,ManageLedgerParameters:ee,Motion:me}),T=e.Record({url:e.Text,title:e.Text,action:e.Opt(Ne),summary:e.Text}),te=e.Record({current_deadline_timestamp_seconds:e.Nat64}),b=e.Record({id:e.Opt(p),payload_text_rendering:e.Opt(e.Text),action:e.Nat64,failure_reason:e.Opt(g),action_auxiliary:e.Opt(ae),ballots:e.Vec(e.Tuple(e.Text,ie)),minimum_yes_proportion_of_total:e.Opt(B),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(ce),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(T),proposer:e.Opt(_),wait_for_quiet_state:e.Opt(te),minimum_yes_proportion_of_exercised:e.Opt(B),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),Q=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),W=e.Record({function_id:e.Nat64,followees:e.Vec(_)}),C=e.Record({to_account:e.Opt(m),percentage_to_disburse:e.Nat32}),se=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),Oe=e.Record({additional_dissolve_delay_seconds:e.Nat32}),ne=e.Record({dissolve_timestamp_seconds:e.Nat64}),Re=e.Variant({ChangeAutoStakeMaturity:se,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:Oe,SetDissolveTimestamp:ne}),J=e.Record({operation:e.Opt(Re)}),Y=e.Record({vote:e.Int32,proposal:e.Opt(p)}),ge=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(m)}),ye=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),fe=e.Variant({MemoAndController:ye,NeuronId:e.Record({})}),H=e.Record({by:e.Opt(fe)}),$=e.Record({permissions_to_remove:e.Opt(R),principal_id:e.Opt(e.Principal)}),X=e.Record({permissions_to_add:e.Opt(R),principal_id:e.Opt(e.Principal)}),K=e.Record({percentage_to_merge:e.Nat32}),ve=e.Record({e8s:e.Nat64}),Z=e.Record({to_account:e.Opt(m),amount:e.Opt(ve)}),Se=e.Variant({Split:Q,Follow:W,DisburseMaturity:C,Configure:J,RegisterVote:Y,SyncCommand:e.Record({}),MakeProposal:T,FinalizeDisburseMaturity:ge,ClaimOrRefreshNeuron:H,RemoveNeuronPermissions:$,AddNeuronPermissions:X,MergeMaturity:K,Disburse:Z}),Pe=e.Record({command:e.Opt(Se),timestamp:e.Nat64}),he=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),xe=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),Te=e.Record({timestamp_of_disbursement_seconds:e.Nat64,amount_e8s:e.Nat64,account_to_disburse_to:e.Opt(m),finalize_disbursement_timestamp_seconds:e.Opt(e.Nat64)}),P=e.Record({id:e.Opt(_),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),permissions:e.Vec(he),maturity_e8s_equivalent:e.Nat64,cached_neuron_stake_e8s:e.Nat64,created_timestamp_seconds:e.Nat64,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(xe),voting_power_percentage_multiplier:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64),disburse_maturity_in_progress:e.Vec(Te),followees:e.Vec(e.Tuple(e.Nat64,S)),neuron_fees_e8s:e.Nat64}),jt=e.Record({root_canister_id:e.Opt(e.Principal),timers:e.Opt(s),cached_upgrade_steps:e.Opt(o),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,i)),metrics:e.Opt(u),maturity_modulation:e.Opt(l),upgrade_journal:e.Opt(x),mode:e.Int32,parameters:e.Opt(y),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(t),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(U),pending_version:e.Opt(oe),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,b)),in_flight_commands:e.Vec(e.Tuple(e.Text,Pe)),sns_metadata:e.Opt(j),neurons:e.Vec(e.Tuple(e.Text,P)),target_version:e.Opt(t),genesis_timestamp_seconds:e.Nat64}),Ae=e.Record({id:e.Opt(_),amount_e8s:e.Opt(e.Nat64)}),Ue=e.Record({new_maturity_e8s:e.Opt(e.Nat64)}),Ge=e.Record({target_version:e.Opt(t)}),Ee=e.Record({}),qe=e.Record({principals:e.Vec(e.Principal)}),Be=e.Record({nns_neuron_hotkeys:e.Opt(qe),nns_neuron_controller:e.Opt(e.Principal),nns_neuron_id:e.Opt(e.Nat64)}),ze=e.Variant({NeuronsFund:Be,Direct:e.Record({})}),je=e.Record({neuron_ids:e.Vec(_)}),Qe=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),participant:e.Opt(ze),stake_e8s:e.Opt(e.Nat64),followees:e.Opt(je),neuron_id:e.Opt(_)}),We=e.Record({neuron_recipes:e.Vec(Qe)}),Je=e.Record({neuron_recipes:e.Opt(We)}),Ye=e.Record({id:e.Opt(_),status:e.Int32}),He=e.Record({swap_neurons:e.Vec(Ye)}),$e=e.Variant({Ok:He,Err:e.Int32}),Xe=e.Record({claim_swap_neurons_result:e.Opt($e)}),Ke=e.Record({maturity_modulation:e.Opt(l)}),Ze=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),ke=e.Record({mode:e.Opt(e.Int32)}),Ie=e.Record({neuron_id:e.Opt(_)}),De=e.Variant({Error:g,Neuron:P}),Le=e.Record({result:e.Opt(De)}),Ce=e.Record({proposal_id:e.Opt(p)}),et=e.Variant({Error:g,Proposal:b}),tt=e.Record({result:e.Opt(et)}),st=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),nt=e.Record({freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),ot=e.Record({status:st,memory_size:e.Nat,cycles:e.Nat,settings:nt,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),rt=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Nat64,target_version:e.Opt(t)}),at=e.Record({deployed_version:e.Opt(t),pending_version:e.Opt(rt)}),it=e.Record({sns_initialization_parameters:e.Text}),ct=e.Record({timers:e.Opt(s)}),_t=e.Record({}),pt=e.Record({upgrade_journal:e.Opt(x),upgrade_steps:e.Opt(n),response_timestamp_seconds:e.Opt(e.Nat64),target_version:e.Opt(t)}),dt=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(i)}),ut=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(_)}),lt=e.Record({neurons:e.Vec(P)}),mt=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(p),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_status:e.Vec(e.Int32)}),Nt=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(b)}),Ot=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),Rt=e.Variant({Split:Q,Follow:W,DisburseMaturity:C,ClaimOrRefresh:H,Configure:J,RegisterVote:Y,MakeProposal:T,StakeMaturity:Ot,RemoveNeuronPermissions:$,AddNeuronPermissions:X,MergeMaturity:K,Disburse:Z}),gt=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(Rt)}),yt=e.Record({created_neuron_id:e.Opt(_)}),ft=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),vt=e.Record({refreshed_neuron_id:e.Opt(_)}),St=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),Pt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),Qt=e.Record({transfer_block_height:e.Nat64}),Wt=e.Variant({Error:g,Split:yt,Follow:e.Record({}),DisburseMaturity:ft,ClaimOrRefresh:vt,Configure:e.Record({}),RegisterVote:e.Record({}),MakeProposal:Ce,RemoveNeuronPermission:e.Record({}),StakeMaturity:St,MergeMaturity:Pt,Disburse:Qt,AddNeuronPermission:e.Record({})}),Jt=e.Record({command:e.Opt(Wt)}),Yt=e.Record({recipient:e.Opt(m),amount_e8s:e.Opt(e.Nat64)}),Ht=e.Record({mode:e.Int32});return e.Service({add_maturity:e.Func([Ae],[Ue],[]),advance_target_version:e.Func([Ge],[Ee],[]),claim_swap_neurons:e.Func([Je],[Xe],[]),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([],[U],["query"]),get_maturity_modulation:e.Func([e.Record({})],[Ke],[]),get_metadata:e.Func([e.Record({})],[Ze],["query"]),get_mode:e.Func([e.Record({})],[ke],["query"]),get_nervous_system_parameters:e.Func([e.Null],[y],["query"]),get_neuron:e.Func([Ie],[Le],["query"]),get_proposal:e.Func([Ce],[tt],["query"]),get_root_canister_status:e.Func([e.Null],[ot],[]),get_running_sns_version:e.Func([e.Record({})],[at],["query"]),get_sns_initialization_parameters:e.Func([e.Record({})],[it],["query"]),get_timers:e.Func([e.Record({})],[ct],["query"]),get_upgrade_journal:e.Func([_t],[pt],["query"]),list_nervous_system_functions:e.Func([],[dt],["query"]),list_neurons:e.Func([ut],[lt],["query"]),list_proposals:e.Func([mt],[Nt],["query"]),manage_neuron:e.Func([gt],[Jt],[]),mint_tokens:e.Func([Yt],[e.Record({})],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_mode:e.Func([Ht],[e.Record({})],[]),update_neuron:e.Func([P],[e.Opt(g)],[])})};var Ut=class e extends be.Canister{constructor(){super(...arguments);this.addMaturity=async t=>{let{id:n,amountE8s:o}=t,{new_maturity_e8s:a}=await this.caller(t).add_maturity({id:(0,be.toNullable)(n),amount_e8s:(0,be.toNullable)(o)}),r=(0,be.fromNullable)(a);if((0,be.isNullish)(r)||r<o)throw new V("No maturity added")}}static create(t){let{service:n,certifiedService:o,canisterId:a}=(0,be.createServices)({options:t,idlFactory:Ts,certifiedIdlFactory:xs});return new e(a,n,o)}};var Gt=require("@dfinity/utils");var bs=({IDL:e})=>{let s=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),t=e.Record({dapp_canister_ids:e.Vec(e.Principal),timers:e.Opt(s),testflight:e.Bool,archive_canister_ids:e.Vec(e.Principal),governance_canister_id:e.Opt(e.Principal),index_canister_id:e.Opt(e.Principal),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal)}),n=e.Record({canister_id:e.Principal}),o=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),a=e.Variant({controllers:e.Null,public:e.Null}),r=e.Record({freezing_threshold:e.Opt(e.Nat),controllers:e.Vec(e.Principal),reserved_cycles_limit:e.Opt(e.Nat),log_visibility:e.Opt(a),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Opt(e.Nat),compute_allocation:e.Opt(e.Nat)}),i=e.Record({status:o,memory_size:e.Nat,cycles:e.Nat,settings:r,idle_cycles_burned_per_day:e.Opt(e.Nat),module_hash:e.Opt(e.Vec(e.Nat8)),reserved_cycles:e.Opt(e.Nat)}),u=e.Variant({reinstall:e.Null,upgrade:e.Null,install:e.Null}),l=e.Record({arg:e.Vec(e.Nat8),wasm_module:e.Vec(e.Nat8),stop_before_installing:e.Bool,mode:u,canister_id:e.Principal,memory_allocation:e.Opt(e.Nat),compute_allocation:e.Opt(e.Nat)}),N=e.Record({update_canister_list:e.Opt(e.Bool)}),c=e.Record({freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),O=e.Record({status:o,memory_size:e.Nat,cycles:e.Nat,settings:c,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),p=e.Record({status:e.Opt(O),canister_id:e.Opt(e.Principal)}),k=e.Record({root:e.Opt(p),swap:e.Opt(p),ledger:e.Opt(p),index:e.Opt(p),governance:e.Opt(p),dapps:e.Vec(p),archives:e.Vec(p)}),h=e.Record({timers:e.Opt(s)}),F=e.Record({root:e.Opt(e.Principal),swap:e.Opt(e.Principal),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)}),v=e.Record({freezing_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)}),x=e.Record({failure_reason:e.Opt(e.Text)}),_=e.Record({canister_id:e.Opt(e.Principal)}),S=e.Record({canister_ids:e.Vec(e.Principal)}),M=e.Record({canister_ids:e.Opt(S),controller_principal_ids:e.Vec(e.Principal)}),R=e.Record({code:e.Opt(e.Int32),description:e.Text}),A=e.Record({err:e.Opt(R),dapp_canister_id:e.Opt(e.Principal)}),y=e.Record({failed_updates:e.Vec(A)});return e.Service({canister_status:e.Func([n],[i],[]),change_canister:e.Func([l],[],[]),get_build_metadata:e.Func([],[e.Text],[]),get_sns_canisters_summary:e.Func([N],[k],[]),get_timers:e.Func([e.Record({})],[h],[]),list_sns_canisters:e.Func([e.Record({})],[F],[]),manage_dapp_canister_settings:e.Func([v],[x],[]),register_dapp_canister:e.Func([_],[e.Record({})],[]),register_dapp_canisters:e.Func([S],[e.Record({})],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_dapp_controllers:e.Func([M],[y],[])})};var Vs=({IDL:e})=>{let s=e.Record({last_spawned_timestamp_seconds:e.Opt(e.Nat64),last_reset_timestamp_seconds:e.Opt(e.Nat64),requires_periodic_tasks:e.Opt(e.Bool)}),t=e.Record({dapp_canister_ids:e.Vec(e.Principal),timers:e.Opt(s),testflight:e.Bool,archive_canister_ids:e.Vec(e.Principal),governance_canister_id:e.Opt(e.Principal),index_canister_id:e.Opt(e.Principal),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal)}),n=e.Record({canister_id:e.Principal}),o=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),a=e.Variant({controllers:e.Null,public:e.Null}),r=e.Record({freezing_threshold:e.Opt(e.Nat),controllers:e.Vec(e.Principal),reserved_cycles_limit:e.Opt(e.Nat),log_visibility:e.Opt(a),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Opt(e.Nat),compute_allocation:e.Opt(e.Nat)}),i=e.Record({status:o,memory_size:e.Nat,cycles:e.Nat,settings:r,idle_cycles_burned_per_day:e.Opt(e.Nat),module_hash:e.Opt(e.Vec(e.Nat8)),reserved_cycles:e.Opt(e.Nat)}),u=e.Variant({reinstall:e.Null,upgrade:e.Null,install:e.Null}),l=e.Record({arg:e.Vec(e.Nat8),wasm_module:e.Vec(e.Nat8),stop_before_installing:e.Bool,mode:u,canister_id:e.Principal,memory_allocation:e.Opt(e.Nat),compute_allocation:e.Opt(e.Nat)}),N=e.Record({update_canister_list:e.Opt(e.Bool)}),c=e.Record({freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),O=e.Record({status:o,memory_size:e.Nat,cycles:e.Nat,settings:c,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),p=e.Record({status:e.Opt(O),canister_id:e.Opt(e.Principal)}),k=e.Record({root:e.Opt(p),swap:e.Opt(p),ledger:e.Opt(p),index:e.Opt(p),governance:e.Opt(p),dapps:e.Vec(p),archives:e.Vec(p)}),h=e.Record({timers:e.Opt(s)}),F=e.Record({root:e.Opt(e.Principal),swap:e.Opt(e.Principal),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)}),v=e.Record({freezing_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)}),x=e.Record({failure_reason:e.Opt(e.Text)}),_=e.Record({canister_id:e.Opt(e.Principal)}),S=e.Record({canister_ids:e.Vec(e.Principal)}),M=e.Record({canister_ids:e.Opt(S),controller_principal_ids:e.Vec(e.Principal)}),R=e.Record({code:e.Opt(e.Int32),description:e.Text}),A=e.Record({err:e.Opt(R),dapp_canister_id:e.Opt(e.Principal)}),y=e.Record({failed_updates:e.Vec(A)});return e.Service({canister_status:e.Func([n],[i],[]),change_canister:e.Func([l],[],[]),get_build_metadata:e.Func([],[e.Text],["query"]),get_sns_canisters_summary:e.Func([N],[k],[]),get_timers:e.Func([e.Record({})],[h],["query"]),list_sns_canisters:e.Func([e.Record({})],[F],["query"]),manage_dapp_canister_settings:e.Func([v],[x],[]),register_dapp_canister:e.Func([_],[e.Record({})],[]),register_dapp_canisters:e.Func([S],[e.Record({})],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[]),set_dapp_controllers:e.Func([M],[y],[])})};var Tt=class e extends Gt.Canister{constructor(){super(...arguments);this.listSnsCanisters=async({certified:t=!0})=>this.caller({certified:t}).list_sns_canisters({})}static create(t){let{service:n,certifiedService:o,canisterId:a}=(0,Gt.createServices)({options:t,idlFactory:Vs,certifiedIdlFactory:bs});return new e(a,n,o)}};var zt=require("@dfinity/ledger-icrc"),we=require("@dfinity/utils");var Mt=require("@dfinity/utils");var bt=require("@dfinity/utils");function tn(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}function Kt(e,...s){if(!tn(e))throw new Error("Uint8Array expected");if(s.length>0&&!s.includes(e.length))throw new Error(`Uint8Array expected of length ${s}, not of length=${e.length}`)}function Zt(e,s=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(s&&e.finished)throw new Error("Hash#digest() has already been called")}function ws(e,s){Kt(e);let t=s.outputLen;if(e.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}var qt=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),Ve=(e,s)=>e<<32-s|e>>>s;var Bn=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function sn(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function It(e){return typeof e=="string"&&(e=sn(e)),Kt(e),e}var Et=class{clone(){return this._cloneInto()}},zn={}.toString;function ks(e){let s=n=>e().update(It(n)).digest(),t=e();return s.outputLen=t.outputLen,s.blockLen=t.blockLen,s.create=()=>e(),s}function nn(e,s,t,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(s,t,n);let o=BigInt(32),a=BigInt(4294967295),r=Number(t>>o&a),i=Number(t&a),u=n?4:0,l=n?0:4;e.setUint32(s+u,r,n),e.setUint32(s+l,i,n)}var Cs=(e,s,t)=>e&s^~e&t,Fs=(e,s,t)=>e&s^e&t^s&t,Bt=class extends Et{constructor(s,t,n,o){super(),this.blockLen=s,this.outputLen=t,this.padOffset=n,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(s),this.view=qt(this.buffer)}update(s){Zt(this);let{view:t,buffer:n,blockLen:o}=this;s=It(s);let a=s.length;for(let r=0;r<a;){let i=Math.min(o-this.pos,a-r);if(i===o){let u=qt(s);for(;o<=a-r;r+=o)this.process(u,r);continue}n.set(s.subarray(r,r+i),this.pos),this.pos+=i,r+=i,this.pos===o&&(this.process(t,0),this.pos=0)}return this.length+=s.length,this.roundClean(),this}digestInto(s){Zt(this),ws(s,this),this.finished=!0;let{buffer:t,view:n,blockLen:o,isLE:a}=this,{pos:r}=this;t[r++]=128,this.buffer.subarray(r).fill(0),this.padOffset>o-r&&(this.process(n,0),r=0);for(let c=r;c<o;c++)t[c]=0;nn(n,o-8,BigInt(this.length*8),a),this.process(n,0);let i=qt(s),u=this.outputLen;if(u%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let l=u/4,N=this.get();if(l>N.length)throw new Error("_sha2: outputLen bigger than state");for(let c=0;c<l;c++)i.setUint32(4*c,N[c],a)}digest(){let{buffer:s,outputLen:t}=this;this.digestInto(s);let n=s.slice(0,t);return this.destroy(),n}_cloneInto(s){s||(s=new this.constructor),s.set(...this.get());let{blockLen:t,buffer:n,length:o,finished:a,destroyed:r,pos:i}=this;return s.length=o,s.pos=i,s.finished=a,s.destroyed=r,o%t&&s.buffer.set(n),s}};var on=new Uint32Array([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]),Fe=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Me=new Uint32Array(64),Dt=class extends Bt{constructor(){super(64,32,8,!1),this.A=Fe[0]|0,this.B=Fe[1]|0,this.C=Fe[2]|0,this.D=Fe[3]|0,this.E=Fe[4]|0,this.F=Fe[5]|0,this.G=Fe[6]|0,this.H=Fe[7]|0}get(){let{A:s,B:t,C:n,D:o,E:a,F:r,G:i,H:u}=this;return[s,t,n,o,a,r,i,u]}set(s,t,n,o,a,r,i,u){this.A=s|0,this.B=t|0,this.C=n|0,this.D=o|0,this.E=a|0,this.F=r|0,this.G=i|0,this.H=u|0}process(s,t){for(let c=0;c<16;c++,t+=4)Me[c]=s.getUint32(t,!1);for(let c=16;c<64;c++){let O=Me[c-15],p=Me[c-2],k=Ve(O,7)^Ve(O,18)^O>>>3,h=Ve(p,17)^Ve(p,19)^p>>>10;Me[c]=h+Me[c-7]+k+Me[c-16]|0}let{A:n,B:o,C:a,D:r,E:i,F:u,G:l,H:N}=this;for(let c=0;c<64;c++){let O=Ve(i,6)^Ve(i,11)^Ve(i,25),p=N+O+Cs(i,u,l)+on[c]+Me[c]|0,h=(Ve(n,2)^Ve(n,13)^Ve(n,22))+Fs(n,o,a)|0;N=l,l=u,u=i,i=r+p|0,r=a,a=o,o=n,n=p+h|0}n=n+this.A|0,o=o+this.B|0,a=a+this.C|0,r=r+this.D|0,i=i+this.E|0,u=u+this.F|0,l=l+this.G|0,N=N+this.H|0,this.set(n,o,a,r,i,u,l,N)}roundClean(){Me.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Ms=ks(()=>new Dt);var Lt=({index:e,controller:s})=>{let n=[12,...(0,bt.asciiStringToByteArray)("neuron-stake"),...s.toUint8Array(),...(0,bt.numberToUint8Array)(e)],o=Ms.create();return o.update((0,bt.arrayOfNumberToUint8Array)(n)),o.digest()};var At=class{constructor({root:s,governance:t,ledger:n,swap:o,index:a,certified:r}){this.listNeurons=s=>this.governance.listNeurons(this.mergeParams(s));this.listProposals=s=>this.governance.listProposals(this.mergeParams(s));this.getProposal=s=>this.governance.getProposal(this.mergeParams(s));this.listNervousSystemFunctions=s=>this.governance.listNervousSystemFunctions(this.mergeParams(s));this.metadata=s=>Promise.all([this.governance.metadata(this.mergeParams(s)),this.ledger.metadata(this.mergeParams(s))]);this.nervousSystemParameters=s=>this.governance.nervousSystemParameters(this.mergeParams(s));this.ledgerMetadata=s=>this.ledger.metadata(this.mergeParams(s));this.transactionFee=s=>this.ledger.transactionFee(this.mergeParams(s));this.totalTokensSupply=s=>this.ledger.totalTokensSupply(this.mergeParams(s));this.balance=s=>this.ledger.balance(this.mergeParams(s));this.transfer=s=>this.ledger.transfer(s);this.getNeuron=s=>this.governance.getNeuron(this.mergeParams(s));this.queryNeuron=s=>this.governance.queryNeuron(this.mergeParams(s));this.nextNeuronAccount=async s=>{for(let t=0;t<65536;t++){let n=Lt({index:t,controller:s}),o={id:n},a=await this.governance.queryNeuron({neuronId:o,certified:!1});if(a===void 0&&(a=await this.governance.queryNeuron({neuronId:o,certified:!0}),a===void 0))return{account:{...this.owner,subaccount:n},index:BigInt(t)}}throw new V("No more neuron accounts available")};this.stakeNeuron=async({stakeE8s:s,source:t,controller:n,createdAt:o,fee:a})=>{this.assertCertified("stakeNeuron");let{account:r,index:i}=await this.nextNeuronAccount(n);if(r.subaccount===void 0)throw new V("There was an error creating the neuron subaccount");return await this.ledger.transfer({amount:s,to:{owner:r.owner,subaccount:(0,Mt.toNullable)(r.subaccount)},from_subaccount:t.subaccount,memo:(0,Mt.bigIntToUint8Array)(i),created_at_time:o,fee:a}),this.governance.claimNeuron({memo:BigInt(i),controller:n,subaccount:r.subaccount})};this.increaseStakeNeuron=async({stakeE8s:s,source:t,neuronId:n})=>(this.assertCertified("stakeNeuron"),await this.ledger.transfer({amount:s,to:{...this.owner,subaccount:(0,Mt.toNullable)(Uint8Array.from(n.id))},from_subaccount:t.subaccount}),this.governance.refreshNeuron(n));this.getNeuronBalance=async s=>{let t={...this.owner,subaccount:Uint8Array.from(s.id)};return this.ledger.balance({...t,certified:this.certified})};this.addNeuronPermissions=s=>this.governance.addNeuronPermissions(s);this.refreshNeuron=s=>this.governance.refreshNeuron(s);this.claimNeuron=s=>this.governance.claimNeuron(s);this.removeNeuronPermissions=s=>this.governance.removeNeuronPermissions(s);this.splitNeuron=s=>this.governance.splitNeuron(s);this.disburse=s=>this.governance.disburse(s);this.startDissolving=s=>this.governance.startDissolving(s);this.stopDissolving=s=>this.governance.stopDissolving(s);this.setDissolveTimestamp=s=>this.governance.setDissolveTimestamp(s);this.increaseDissolveDelay=s=>this.governance.increaseDissolveDelay(s);this.setTopicFollowees=s=>this.governance.setTopicFollowees(s);this.registerVote=async s=>this.governance.registerVote(s);this.swapState=s=>this.swap.state(this.mergeParams(s));this.notifyPaymentFailure=()=>this.swap.notifyPaymentFailure();this.notifyParticipation=s=>this.swap.notifyParticipation(s);this.getUserCommitment=s=>this.swap.getUserCommitment(this.mergeParams(s));this.getOpenTicket=s=>this.swap.getOpenTicket(this.mergeParams(s));this.newSaleTicket=s=>this.swap.newSaleTicket(s);this.getLifecycle=s=>this.swap.getLifecycle(this.mergeParams(s));this.getFinalizationStatus=s=>this.swap.getFinalizationStatus(this.mergeParams(s));this.getSaleParameters=s=>this.swap.getSaleParameters(this.mergeParams(s));this.getDerivedState=s=>this.swap.getDerivedState(this.mergeParams(s));this.getTransactions=s=>this.index.getTransactions(s);this.stakeMaturity=s=>this.governance.stakeMaturity(s);this.disburseMaturity=s=>this.governance.disburseMaturity(s);this.autoStakeMaturity=s=>this.governance.autoStakeMaturity(s);this.assertCertified=s=>{if(!this.certified)throw new V(`Call to ${s} needs to be certified`)};this.root=s,this.governance=t,this.ledger=n,this.swap=o,this.index=a,this.certified=r}get canisterIds(){return{rootCanisterId:this.root.canisterId,ledgerCanisterId:this.ledger.canisterId,governanceCanisterId:this.governance.canisterId,swapCanisterId:this.swap.canisterId,indexCanisterId:this.index.canisterId}}mergeParams(s){return{...s,certified:this.certified}}get owner(){return{owner:this.canisterIds.governanceCanisterId}}};var I=require("@dfinity/utils");var As=({IDL:e})=>{let s=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),t=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)}),o=e.Record({coefficient_intervals:e.Vec(t),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)}),a=e.Record({iso_codes:e.Vec(e.Text)}),r=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(s),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(o),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(a),min_icp_e8s:e.Opt(e.Nat64),max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),i=e.Record({source_principal_id:e.Opt(e.Principal)}),u=e.Record({block_height:e.Opt(e.Nat64)}),l=e.Record({description:e.Opt(e.Text),error_type:e.Opt(e.Int32)}),N=e.Variant({Ok:u,Err:l}),c=e.Record({result:e.Opt(N)}),O=e.Record({code:e.Opt(e.Int32),description:e.Text}),p=e.Record({err:e.Opt(O),dapp_canister_id:e.Opt(e.Principal)}),k=e.Record({failed_updates:e.Vec(p)}),h=e.Variant({Ok:k,Err:O}),F=e.Record({possibility:e.Opt(h)}),v=e.Record({failure:e.Nat32,skipped:e.Nat32,invalid:e.Nat32,success:e.Nat32,global_failures:e.Nat32}),x=e.Record({error_message:e.Text,error_type:e.Int32}),_=e.Record({governance_error:e.Opt(x)}),S=e.Variant({Ok:_,Err:O}),M=e.Record({possibility:e.Opt(S)}),R=e.Record({neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),neurons_fund_neurons_count:e.Opt(e.Nat64)}),A=e.Record({message:e.Opt(e.Text)}),y=e.Variant({Ok:R,Err:A}),U=e.Record({possibility:e.Opt(y)}),oe=e.Variant({Ok:e.Record({}),Err:O}),g=e.Record({possibility:e.Opt(oe)}),f=e.Record({set_dapp_controllers_call_result:e.Opt(F),create_sns_neuron_recipes_result:e.Opt(v),settle_community_fund_participation_result:e.Opt(M),error_message:e.Opt(e.Text),settle_neurons_fund_participation_result:e.Opt(U),set_mode_call_result:e.Opt(g),sweep_icp_result:e.Opt(v),claim_neuron_result:e.Opt(v),sweep_sns_result:e.Opt(v)}),m=e.Record({auto_finalize_swap_response:e.Opt(f),has_auto_finalize_been_attempted:e.Opt(e.Bool),is_auto_finalize_enabled:e.Opt(e.Bool)}),G=e.Record({principal_id:e.Opt(e.Principal)}),D=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}),E=e.Record({icp:e.Opt(D),has_created_neuron_recipes:e.Opt(e.Bool)}),re=e.Record({buyer_state:e.Opt(E)}),q=e.Record({buyers_total:e.Nat64}),ae=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),ie=e.Record({freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),B=e.Record({status:ae,memory_size:e.Nat,cycles:e.Nat,settings:ie,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),ce=e.Record({sns_tokens_per_icp:e.Opt(e.Float64),buyer_total_icp_e8s:e.Opt(e.Nat64),cf_participant_count:e.Opt(e.Nat64),neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),direct_participation_icp_e8s:e.Opt(e.Nat64),direct_participant_count:e.Opt(e.Nat64),cf_neuron_count:e.Opt(e.Nat64)}),_e=e.Record({init:e.Opt(r)}),pe=e.Record({decentralization_sale_open_timestamp_seconds:e.Opt(e.Nat64),lifecycle:e.Opt(e.Int32),decentralization_swap_termination_timestamp_seconds:e.Opt(e.Nat64)}),de=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(e.Vec(e.Nat8))}),L=e.Record({creation_time:e.Nat64,ticket_id:e.Nat64,account:e.Opt(de),amount_icp_e8s:e.Nat64}),z=e.Record({ticket:e.Opt(L)}),ue=e.Record({error_type:e.Opt(e.Int32)}),j=e.Variant({Ok:z,Err:ue}),le=e.Record({result:e.Opt(j)}),ee=e.Record({min_participant_icp_e8s:e.Nat64,neuron_basket_construction_parameters:e.Opt(s),max_icp_e8s:e.Nat64,swap_due_timestamp_seconds:e.Nat64,min_participants:e.Nat32,sns_token_e8s:e.Nat64,sale_delay_seconds:e.Opt(e.Nat64),max_participant_icp_e8s:e.Nat64,min_direct_participation_icp_e8s:e.Opt(e.Nat64),min_icp_e8s:e.Nat64,max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),me=e.Record({params:e.Opt(ee)}),Ne=e.Record({id:e.Vec(e.Nat8)}),T=e.Record({dissolve_delay_seconds:e.Nat64,memo:e.Nat64,followees:e.Vec(Ne)}),te=e.Record({principals:e.Vec(e.Principal)}),b=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,hotkeys:e.Opt(te),nns_neuron_id:e.Nat64}),Q=e.Record({buyer_principal:e.Text}),W=e.Variant({CommunityFund:b,Direct:Q}),C=e.Record({sns:e.Opt(D),claimed_status:e.Opt(e.Int32),neuron_attributes:e.Opt(T),investor:e.Opt(W)}),se=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)}),Oe=e.Record({has_created_neuron_recipes:e.Opt(e.Bool),hotkeys:e.Opt(te),nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),ne=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,cf_neurons:e.Vec(Oe)}),Re=e.Record({auto_finalize_swap_response:e.Opt(f),neuron_recipes:e.Vec(C),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(se),cf_participants:e.Vec(ne),init:e.Opt(r),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,E)),params:e.Opt(ee),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),J=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)}),Y=e.Record({swap:e.Opt(Re),derived:e.Opt(J)}),ge=e.Record({timers:e.Opt(se)}),ye=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat32)}),fe=e.Record({cf_participants:e.Vec(ne)}),H=e.Record({offset:e.Opt(e.Nat32),limit:e.Opt(e.Nat32)}),$=e.Record({participation:e.Opt(E),participant_id:e.Opt(e.Principal)}),X=e.Record({participants:e.Vec($)}),K=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat32)}),ve=e.Record({sns_neuron_recipes:e.Vec(C)}),Z=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}),Pe=e.Record({invalid_user_amount:e.Opt(Se),existing_ticket:e.Opt(L),error_type:e.Int32}),he=e.Variant({Ok:z,Err:Pe}),xe=e.Record({result:e.Opt(he)}),Te=e.Record({confirmation_text:e.Opt(e.Text),buyer:e.Text}),P=e.Record({icp_accepted_participation_e8s:e.Nat64,icp_ledger_account_balance_e8s:e.Nat64});return e.Service({error_refund_icp:e.Func([i],[c],[]),finalize_swap:e.Func([e.Record({})],[f],[]),get_auto_finalization_status:e.Func([e.Record({})],[m],[]),get_buyer_state:e.Func([G],[re],[]),get_buyers_total:e.Func([e.Record({})],[q],[]),get_canister_status:e.Func([e.Record({})],[B],[]),get_derived_state:e.Func([e.Record({})],[ce],[]),get_init:e.Func([e.Record({})],[_e],[]),get_lifecycle:e.Func([e.Record({})],[pe],[]),get_open_ticket:e.Func([e.Record({})],[le],[]),get_sale_parameters:e.Func([e.Record({})],[me],[]),get_state:e.Func([e.Record({})],[Y],[]),get_timers:e.Func([e.Record({})],[ge],[]),list_community_fund_participants:e.Func([ye],[fe],[]),list_direct_participants:e.Func([H],[X],[]),list_sns_neuron_recipes:e.Func([K],[ve],[]),new_sale_ticket:e.Func([Z],[xe],[]),notify_payment_failure:e.Func([e.Record({})],[z],[]),refresh_buyer_tokens:e.Func([Te],[P],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[])})};var Us=({IDL:e})=>{let s=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),t=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)}),o=e.Record({coefficient_intervals:e.Vec(t),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)}),a=e.Record({iso_codes:e.Vec(e.Text)}),r=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(s),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(o),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(a),min_icp_e8s:e.Opt(e.Nat64),max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),i=e.Record({source_principal_id:e.Opt(e.Principal)}),u=e.Record({block_height:e.Opt(e.Nat64)}),l=e.Record({description:e.Opt(e.Text),error_type:e.Opt(e.Int32)}),N=e.Variant({Ok:u,Err:l}),c=e.Record({result:e.Opt(N)}),O=e.Record({code:e.Opt(e.Int32),description:e.Text}),p=e.Record({err:e.Opt(O),dapp_canister_id:e.Opt(e.Principal)}),k=e.Record({failed_updates:e.Vec(p)}),h=e.Variant({Ok:k,Err:O}),F=e.Record({possibility:e.Opt(h)}),v=e.Record({failure:e.Nat32,skipped:e.Nat32,invalid:e.Nat32,success:e.Nat32,global_failures:e.Nat32}),x=e.Record({error_message:e.Text,error_type:e.Int32}),_=e.Record({governance_error:e.Opt(x)}),S=e.Variant({Ok:_,Err:O}),M=e.Record({possibility:e.Opt(S)}),R=e.Record({neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),neurons_fund_neurons_count:e.Opt(e.Nat64)}),A=e.Record({message:e.Opt(e.Text)}),y=e.Variant({Ok:R,Err:A}),U=e.Record({possibility:e.Opt(y)}),oe=e.Variant({Ok:e.Record({}),Err:O}),g=e.Record({possibility:e.Opt(oe)}),f=e.Record({set_dapp_controllers_call_result:e.Opt(F),create_sns_neuron_recipes_result:e.Opt(v),settle_community_fund_participation_result:e.Opt(M),error_message:e.Opt(e.Text),settle_neurons_fund_participation_result:e.Opt(U),set_mode_call_result:e.Opt(g),sweep_icp_result:e.Opt(v),claim_neuron_result:e.Opt(v),sweep_sns_result:e.Opt(v)}),m=e.Record({auto_finalize_swap_response:e.Opt(f),has_auto_finalize_been_attempted:e.Opt(e.Bool),is_auto_finalize_enabled:e.Opt(e.Bool)}),G=e.Record({principal_id:e.Opt(e.Principal)}),D=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}),E=e.Record({icp:e.Opt(D),has_created_neuron_recipes:e.Opt(e.Bool)}),re=e.Record({buyer_state:e.Opt(E)}),q=e.Record({buyers_total:e.Nat64}),ae=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),ie=e.Record({freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),wasm_memory_limit:e.Opt(e.Nat),memory_allocation:e.Nat,compute_allocation:e.Nat}),B=e.Record({status:ae,memory_size:e.Nat,cycles:e.Nat,settings:ie,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),ce=e.Record({sns_tokens_per_icp:e.Opt(e.Float64),buyer_total_icp_e8s:e.Opt(e.Nat64),cf_participant_count:e.Opt(e.Nat64),neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),direct_participation_icp_e8s:e.Opt(e.Nat64),direct_participant_count:e.Opt(e.Nat64),cf_neuron_count:e.Opt(e.Nat64)}),_e=e.Record({init:e.Opt(r)}),pe=e.Record({decentralization_sale_open_timestamp_seconds:e.Opt(e.Nat64),lifecycle:e.Opt(e.Int32),decentralization_swap_termination_timestamp_seconds:e.Opt(e.Nat64)}),de=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(e.Vec(e.Nat8))}),L=e.Record({creation_time:e.Nat64,ticket_id:e.Nat64,account:e.Opt(de),amount_icp_e8s:e.Nat64}),z=e.Record({ticket:e.Opt(L)}),ue=e.Record({error_type:e.Opt(e.Int32)}),j=e.Variant({Ok:z,Err:ue}),le=e.Record({result:e.Opt(j)}),ee=e.Record({min_participant_icp_e8s:e.Nat64,neuron_basket_construction_parameters:e.Opt(s),max_icp_e8s:e.Nat64,swap_due_timestamp_seconds:e.Nat64,min_participants:e.Nat32,sns_token_e8s:e.Nat64,sale_delay_seconds:e.Opt(e.Nat64),max_participant_icp_e8s:e.Nat64,min_direct_participation_icp_e8s:e.Opt(e.Nat64),min_icp_e8s:e.Nat64,max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),me=e.Record({params:e.Opt(ee)}),Ne=e.Record({id:e.Vec(e.Nat8)}),T=e.Record({dissolve_delay_seconds:e.Nat64,memo:e.Nat64,followees:e.Vec(Ne)}),te=e.Record({principals:e.Vec(e.Principal)}),b=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,hotkeys:e.Opt(te),nns_neuron_id:e.Nat64}),Q=e.Record({buyer_principal:e.Text}),W=e.Variant({CommunityFund:b,Direct:Q}),C=e.Record({sns:e.Opt(D),claimed_status:e.Opt(e.Int32),neuron_attributes:e.Opt(T),investor:e.Opt(W)}),se=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)}),Oe=e.Record({has_created_neuron_recipes:e.Opt(e.Bool),hotkeys:e.Opt(te),nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),ne=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,cf_neurons:e.Vec(Oe)}),Re=e.Record({auto_finalize_swap_response:e.Opt(f),neuron_recipes:e.Vec(C),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(se),cf_participants:e.Vec(ne),init:e.Opt(r),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,E)),params:e.Opt(ee),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),J=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)}),Y=e.Record({swap:e.Opt(Re),derived:e.Opt(J)}),ge=e.Record({timers:e.Opt(se)}),ye=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat32)}),fe=e.Record({cf_participants:e.Vec(ne)}),H=e.Record({offset:e.Opt(e.Nat32),limit:e.Opt(e.Nat32)}),$=e.Record({participation:e.Opt(E),participant_id:e.Opt(e.Principal)}),X=e.Record({participants:e.Vec($)}),K=e.Record({offset:e.Opt(e.Nat64),limit:e.Opt(e.Nat32)}),ve=e.Record({sns_neuron_recipes:e.Vec(C)}),Z=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}),Pe=e.Record({invalid_user_amount:e.Opt(Se),existing_ticket:e.Opt(L),error_type:e.Int32}),he=e.Variant({Ok:z,Err:Pe}),xe=e.Record({result:e.Opt(he)}),Te=e.Record({confirmation_text:e.Opt(e.Text),buyer:e.Text}),P=e.Record({icp_accepted_participation_e8s:e.Nat64,icp_ledger_account_balance_e8s:e.Nat64});return e.Service({error_refund_icp:e.Func([i],[c],[]),finalize_swap:e.Func([e.Record({})],[f],[]),get_auto_finalization_status:e.Func([e.Record({})],[m],["query"]),get_buyer_state:e.Func([G],[re],["query"]),get_buyers_total:e.Func([e.Record({})],[q],[]),get_canister_status:e.Func([e.Record({})],[B],[]),get_derived_state:e.Func([e.Record({})],[ce],["query"]),get_init:e.Func([e.Record({})],[_e],["query"]),get_lifecycle:e.Func([e.Record({})],[pe],["query"]),get_open_ticket:e.Func([e.Record({})],[le],["query"]),get_sale_parameters:e.Func([e.Record({})],[me],["query"]),get_state:e.Func([e.Record({})],[Y],["query"]),get_timers:e.Func([e.Record({})],[ge],["query"]),list_community_fund_participants:e.Func([ye],[fe],["query"]),list_direct_participants:e.Func([H],[X],["query"]),list_sns_neuron_recipes:e.Func([K],[ve],["query"]),new_sale_ticket:e.Func([Z],[xe],[]),notify_payment_failure:e.Func([e.Record({})],[z],[]),refresh_buyer_tokens:e.Func([Te],[P],[]),reset_timers:e.Func([e.Record({})],[e.Record({})],[])})};var Gs=({subaccount:e,amount_icp_e8s:s})=>({subaccount:e===void 0?[]:[e],amount_icp_e8s:s});var Es=require("@dfinity/utils"),qs=e=>{if(typeof e=="object"&&(0,Es.nonNullish)(e)&&"message"in e){let s=e.message;return s.includes("has no update method")||s.includes("has no query method")}return!1};var Vt=class e extends I.Canister{constructor(){super(...arguments);this.state=t=>this.caller(t).get_state({});this.notifyPaymentFailure=async()=>{let{ticket:t}=await this.caller({certified:!0}).notify_payment_failure({});return(0,I.fromNullable)(t)};this.notifyParticipation=async t=>await this.caller({certified:!0}).refresh_buyer_tokens(t);this.getUserCommitment=async t=>{let{buyer_state:n}=await this.caller({certified:t.certified}).get_buyer_state({principal_id:t.principal_id});return(0,I.fromNullable)(n)};this.getDerivedState=async({certified:t})=>this.caller({certified:t}).get_derived_state({});this.getSaleParameters=async({certified:t})=>this.caller({certified:t}).get_sale_parameters({});this.getOpenTicket=async t=>{var r;let{result:n}=await this.caller({certified:t.certified}).get_open_ticket({}),o=(0,I.fromDefinedNullable)(n);if("Ok"in o)return(0,I.fromNullable)(o.Ok.ticket);let a=(0,I.fromDefinedNullable)((r=o==null?void 0:o.Err)==null?void 0:r.error_type);throw new Ft(a)};this.newSaleTicket=async t=>{let n=Gs(t),{result:o}=await this.caller({certified:!0}).new_sale_ticket(n),a=(0,I.fromDefinedNullable)(o);if("Ok"in a)return(0,I.fromDefinedNullable)(a.Ok.ticket);let r=a.Err;throw new Ct({errorType:r.error_type,invalidUserAmount:(0,I.fromNullable)(r.invalid_user_amount??[]),existingTicket:(0,I.fromNullable)(r.existing_ticket??[])})};this.getLifecycle=async t=>this.caller(t).get_lifecycle({});this.getFinalizationStatus=async t=>{try{return await this.caller(t).get_auto_finalization_status({})}catch(n){throw qs(n)?new kt("getFinalizationStatus"):n}}}static create(t){let{service:n,certifiedService:o,canisterId:a}=(0,I.createServices)({options:t,idlFactory:Us,certifiedIdlFactory:As});return new e(a,n,o)}};var an=async({agent:e,rootOptions:s,certified:t=!0})=>{let n=Tt.create({...s,agent:e}),{ledger:o,swap:a,governance:r,index:i}=await n.listSnsCanisters({certified:t}),u=(0,we.fromNullable)(r),l=(0,we.fromNullable)(o),N=(0,we.fromNullable)(a),c=(0,we.fromNullable)(i);return(0,we.assertNonNullish)(u),(0,we.assertNonNullish)(l),(0,we.assertNonNullish)(N),(0,we.assertNonNullish)(c),new At({root:n,governance:xt.create({canisterId:u,agent:e}),ledger:zt.IcrcLedgerCanister.create({canisterId:l,agent:e}),swap:Vt.create({canisterId:N,agent:e}),index:zt.IcrcIndexCanister.create({canisterId:c,agent:e}),certified:t})};0&&(module.exports={GetOpenTicketErrorType,NewSaleTicketResponseErrorType,SnsGovernanceCanister,SnsGovernanceError,SnsGovernanceTestCanister,SnsNeuronPermissionType,SnsProposalDecisionStatus,SnsProposalRewardStatus,SnsRootCanister,SnsSwapCanister,SnsSwapGetOpenTicketError,SnsSwapLifecycle,SnsSwapNewTicketError,SnsVote,SnsWrapper,UnsupportedMethodError,fromCandidAction,initSnsWrapper,neuronSubaccount});
2
2
  /*! Bundled license information:
3
3
 
4
4
  @noble/hashes/esm/utils.js: