@dfinity/sns 3.0.2 → 3.0.3

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 (38) hide show
  1. package/dist/candid/sns_governance.certified.idl.js +52 -10
  2. package/dist/candid/sns_governance.d.ts +29 -0
  3. package/dist/candid/sns_governance.did +33 -14
  4. package/dist/candid/sns_governance.idl.js +52 -10
  5. package/dist/candid/sns_governance_test.certified.idl.js +52 -10
  6. package/dist/candid/sns_governance_test.d.ts +29 -0
  7. package/dist/candid/sns_governance_test.did +33 -14
  8. package/dist/candid/sns_governance_test.idl.js +52 -10
  9. package/dist/candid/sns_root.certified.idl.js +16 -1
  10. package/dist/candid/sns_root.d.ts +18 -1
  11. package/dist/candid/sns_root.did +17 -6
  12. package/dist/candid/sns_root.idl.js +16 -1
  13. package/dist/candid/sns_swap.d.ts +3 -0
  14. package/dist/candid/sns_swap.did +6 -6
  15. package/dist/cjs/index.cjs.js +1 -1
  16. package/dist/cjs/index.cjs.js.map +4 -4
  17. package/dist/esm/chunk-3PR6E3PT.js +2 -0
  18. package/dist/esm/chunk-3PR6E3PT.js.map +7 -0
  19. package/dist/esm/chunk-CQAJ2SZB.js +7 -0
  20. package/dist/esm/chunk-CQAJ2SZB.js.map +7 -0
  21. package/dist/esm/{chunk-HI3EK7WH.js → chunk-MWSZCO77.js} +2 -2
  22. package/dist/esm/chunk-RZJ6NMPO.js +2 -0
  23. package/dist/esm/chunk-RZJ6NMPO.js.map +7 -0
  24. package/dist/esm/governance.canister.js +1 -1
  25. package/dist/esm/index.js +1 -1
  26. package/dist/esm/index.js.map +3 -3
  27. package/dist/esm/root.canister.js +1 -1
  28. package/dist/esm/sns.js +1 -1
  29. package/dist/esm/sns.wrapper.js +1 -1
  30. package/dist/types/root.canister.d.ts +1 -1
  31. package/package.json +6 -6
  32. package/dist/esm/chunk-HO3ELWLY.js +0 -2
  33. package/dist/esm/chunk-HO3ELWLY.js.map +0 -7
  34. package/dist/esm/chunk-TT4OPWTE.js +0 -2
  35. package/dist/esm/chunk-TT4OPWTE.js.map +0 -7
  36. package/dist/esm/chunk-WQJQSVHV.js +0 -7
  37. package/dist/esm/chunk-WQJQSVHV.js.map +0 -7
  38. /package/dist/esm/{chunk-HI3EK7WH.js.map → chunk-MWSZCO77.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ import{a as u}from"./chunk-4INNMFYU.js";import{assertPercentageNumber as vt,Canister as kt,createServices as At,fromNullable as P,toNullable as Q}from"@dfinity/utils";var ot=({IDL:e})=>{let o=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)}),t=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:o}),s=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(t)}),i=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}),r=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),a=e.Record({id:e.Vec(e.Nat8)}),c=e.Record({followees:e.Vec(a)}),p=e.Record({followees:e.Vec(e.Tuple(e.Nat64,c))}),l=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)}),N=e.Record({default_followees:e.Opt(p),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(l),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(l),voting_rewards_parameters:e.Opt(W),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),g=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)}),_=e.Record({id:e.Nat64}),w=e.Record({rounds_since_last_distribution:e.Opt(e.Nat64),actual_timestamp_seconds:e.Nat64,end_timestamp_seconds:e.Opt(e.Nat64),distributed_e8s_equivalent:e.Nat64,round:e.Nat64,settled_proposals:e.Vec(_)}),M=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Nat64,target_version:e.Opt(g)}),m=e.Record({error_message:e.Text,error_type:e.Int32}),O=e.Record({subaccount:e.Vec(e.Nat8)}),d=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(O)}),b=e.Record({human_readable:e.Opt(e.Text)}),$=e.Record({e8s:e.Opt(e.Nat64)}),J=e.Record({xdrs_per_icp:e.Opt(b),icps_per_token:e.Opt(b),tokens:e.Opt($)}),X=e.Record({token:e.Opt(e.Int32),account:e.Opt(d),valuation_factors:e.Opt(J),timestamp_seconds:e.Opt(e.Nat64)}),V=e.Record({valuation:e.Opt(X)}),H=e.Variant({TransferSnsTreasuryFunds:V,MintSnsTokens:V}),K=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),T=e.Record({basis_points:e.Opt(e.Nat64)}),Y=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),Z=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),memory_allocation:e.Opt(e.Nat64),compute_allocation:e.Opt(e.Nat64)}),D=e.Record({canister_ids:e.Vec(e.Principal)}),I=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(O),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))}),ee=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),te=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(O),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),x=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),se=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),oe=e.Record({transfer_fee:e.Opt(e.Nat64)}),ne=e.Record({motion_text:e.Text}),ae=e.Variant({ManageNervousSystemParameters:N,AddGenericNervousSystemFunction:s,ManageDappCanisterSettings:Z,RemoveGenericNervousSystemFunction:e.Nat64,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:D,TransferSnsTreasuryFunds:I,UpgradeSnsControlledCanister:L,DeregisterDappCanisters:ee,MintSnsTokens:te,Unspecified:e.Record({}),ManageSnsMetadata:x,ExecuteGenericNervousSystemFunction:se,ManageLedgerParameters:oe,Motion:ne}),R=e.Record({url:e.Text,title:e.Text,action:e.Opt(ae),summary:e.Text}),re=e.Record({current_deadline_timestamp_seconds:e.Nat64}),y=e.Record({id:e.Opt(_),payload_text_rendering:e.Opt(e.Text),action:e.Nat64,failure_reason:e.Opt(m),action_auxiliary:e.Opt(H),ballots:e.Vec(e.Tuple(e.Text,K)),minimum_yes_proportion_of_total:e.Opt(T),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(Y),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(R),proposer:e.Opt(a),wait_for_quiet_state:e.Opt(re),minimum_yes_proportion_of_exercised:e.Opt(T),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),h=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),F=e.Record({function_id:e.Nat64,followees:e.Vec(a)}),C=e.Record({to_account:e.Opt(d),percentage_to_disburse:e.Nat32}),ie=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),ce=e.Record({additional_dissolve_delay_seconds:e.Nat32}),_e=e.Record({dissolve_timestamp_seconds:e.Nat64}),de=e.Variant({ChangeAutoStakeMaturity:ie,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:ce,SetDissolveTimestamp:_e}),k=e.Record({operation:e.Opt(de)}),A=e.Record({vote:e.Int32,proposal:e.Opt(_)}),ue=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(d)}),pe=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),le=e.Variant({MemoAndController:pe,NeuronId:e.Record({})}),q=e.Record({by:e.Opt(le)}),G=e.Record({permissions_to_remove:e.Opt(l),principal_id:e.Opt(e.Principal)}),E=e.Record({permissions_to_add:e.Opt(l),principal_id:e.Opt(e.Principal)}),U=e.Record({percentage_to_merge:e.Nat32}),me=e.Record({e8s:e.Nat64}),z=e.Record({to_account:e.Opt(d),amount:e.Opt(me)}),Ne=e.Variant({Split:h,Follow:F,DisburseMaturity:C,Configure:k,RegisterVote:A,SyncCommand:e.Record({}),MakeProposal:R,FinalizeDisburseMaturity:ue,ClaimOrRefreshNeuron:q,RemoveNeuronPermissions:G,AddNeuronPermissions:E,MergeMaturity:U,Disburse:z}),ge=e.Record({command:e.Opt(Ne),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}),ye=e.Record({timestamp_of_disbursement_seconds:e.Nat64,amount_e8s:e.Nat64,account_to_disburse_to:e.Opt(d),finalize_disbursement_timestamp_seconds:e.Opt(e.Nat64)}),v=e.Record({id:e.Opt(a),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(ye),followees:e.Vec(e.Tuple(e.Nat64,c)),neuron_fees_e8s:e.Nat64}),ft=e.Record({root_canister_id:e.Opt(e.Principal),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,s)),metrics:e.Opt(i),maturity_modulation:e.Opt(r),mode:e.Int32,parameters:e.Opt(N),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(g),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(w),pending_version:e.Opt(M),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,y)),in_flight_commands:e.Vec(e.Tuple(e.Text,ge)),sns_metadata:e.Opt(x),neurons:e.Vec(e.Tuple(e.Text,v)),genesis_timestamp_seconds:e.Nat64}),ve=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),source_nns_neuron_id:e.Opt(e.Nat64),stake_e8s:e.Opt(e.Nat64),followees:e.Vec(a),hotkey:e.Opt(e.Principal),neuron_id:e.Opt(a)}),Se=e.Record({neuron_parameters:e.Vec(ve)}),fe=e.Record({id:e.Opt(a),status:e.Int32}),Pe=e.Record({swap_neurons:e.Vec(fe)}),we=e.Variant({Ok:Pe,Err:e.Int32}),Me=e.Record({claim_swap_neurons_result:e.Opt(we)}),be=e.Record({maturity_modulation:e.Opt(r)}),Ve=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),Te=e.Record({mode:e.Opt(e.Int32)}),xe=e.Record({neuron_id:e.Opt(a)}),he=e.Variant({Error:m,Neuron:v}),Fe=e.Record({result:e.Opt(he)}),B=e.Record({proposal_id:e.Opt(_)}),Ce=e.Variant({Error:m,Proposal:y}),ke=e.Record({result:e.Opt(Ce)}),Ae=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),qe=e.Record({freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),memory_allocation:e.Nat,compute_allocation:e.Nat}),Ge=e.Record({status:Ae,memory_size:e.Nat,cycles:e.Nat,settings:qe,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),Ee=e.Record({deployed_version:e.Opt(g),pending_version:e.Opt(M)}),Ue=e.Record({sns_initialization_parameters:e.Text}),ze=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(s)}),Be=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(a)}),je=e.Record({neurons:e.Vec(v)}),Qe=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(_),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_status:e.Vec(e.Int32)}),We=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(y)}),$e=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),Je=e.Variant({Split:h,Follow:F,DisburseMaturity:C,ClaimOrRefresh:q,Configure:k,RegisterVote:A,MakeProposal:R,StakeMaturity:$e,RemoveNeuronPermissions:G,AddNeuronPermissions:E,MergeMaturity:U,Disburse:z}),Xe=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(Je)}),He=e.Record({created_neuron_id:e.Opt(a)}),Ke=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),Ye=e.Record({refreshed_neuron_id:e.Opt(a)}),Ze=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),De=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),Ie=e.Record({transfer_block_height:e.Nat64}),Le=e.Variant({Error:m,Split:He,Follow:e.Record({}),DisburseMaturity:Ke,ClaimOrRefresh:Ye,Configure:e.Record({}),RegisterVote:e.Record({}),MakeProposal:B,RemoveNeuronPermission:e.Record({}),StakeMaturity:Ze,MergeMaturity:De,Disburse:Ie,AddNeuronPermission:e.Record({})}),et=e.Record({command:e.Opt(Le)}),tt=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([Se],[Me],[]),fail_stuck_upgrade_in_progress:e.Func([e.Record({})],[e.Record({})],[]),get_build_metadata:e.Func([],[e.Text],[]),get_latest_reward_event:e.Func([],[w],[]),get_maturity_modulation:e.Func([e.Record({})],[be],[]),get_metadata:e.Func([e.Record({})],[Ve],[]),get_mode:e.Func([e.Record({})],[Te],[]),get_nervous_system_parameters:e.Func([e.Null],[N],[]),get_neuron:e.Func([xe],[Fe],[]),get_proposal:e.Func([B],[ke],[]),get_root_canister_status:e.Func([e.Null],[Ge],[]),get_running_sns_version:e.Func([e.Record({})],[Ee],[]),get_sns_initialization_parameters:e.Func([e.Record({})],[Ue],[]),list_nervous_system_functions:e.Func([],[ze],[]),list_neurons:e.Func([Be],[je],[]),list_proposals:e.Func([Qe],[We],[]),manage_neuron:e.Func([Xe],[et],[]),set_mode:e.Func([tt],[e.Record({})],[])})};var nt=({IDL:e})=>{let o=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)}),t=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:o}),s=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(t)}),i=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}),r=e.Record({current_basis_points:e.Opt(e.Int32),updated_at_timestamp_seconds:e.Opt(e.Nat64)}),a=e.Record({id:e.Vec(e.Nat8)}),c=e.Record({followees:e.Vec(a)}),p=e.Record({followees:e.Vec(e.Tuple(e.Nat64,c))}),l=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)}),N=e.Record({default_followees:e.Opt(p),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(l),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(l),voting_rewards_parameters:e.Opt(W),maturity_modulation_disabled:e.Opt(e.Bool),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),g=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)}),_=e.Record({id:e.Nat64}),w=e.Record({rounds_since_last_distribution:e.Opt(e.Nat64),actual_timestamp_seconds:e.Nat64,end_timestamp_seconds:e.Opt(e.Nat64),distributed_e8s_equivalent:e.Nat64,round:e.Nat64,settled_proposals:e.Vec(_)}),M=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Nat64,target_version:e.Opt(g)}),m=e.Record({error_message:e.Text,error_type:e.Int32}),O=e.Record({subaccount:e.Vec(e.Nat8)}),d=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(O)}),b=e.Record({human_readable:e.Opt(e.Text)}),$=e.Record({e8s:e.Opt(e.Nat64)}),J=e.Record({xdrs_per_icp:e.Opt(b),icps_per_token:e.Opt(b),tokens:e.Opt($)}),X=e.Record({token:e.Opt(e.Int32),account:e.Opt(d),valuation_factors:e.Opt(J),timestamp_seconds:e.Opt(e.Nat64)}),V=e.Record({valuation:e.Opt(X)}),H=e.Variant({TransferSnsTreasuryFunds:V,MintSnsTokens:V}),K=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),T=e.Record({basis_points:e.Opt(e.Nat64)}),Y=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),Z=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),memory_allocation:e.Opt(e.Nat64),compute_allocation:e.Opt(e.Nat64)}),D=e.Record({canister_ids:e.Vec(e.Principal)}),I=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(O),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))}),ee=e.Record({canister_ids:e.Vec(e.Principal),new_controllers:e.Vec(e.Principal)}),te=e.Record({to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(O),memo:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64)}),x=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),se=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),oe=e.Record({transfer_fee:e.Opt(e.Nat64)}),ne=e.Record({motion_text:e.Text}),ae=e.Variant({ManageNervousSystemParameters:N,AddGenericNervousSystemFunction:s,ManageDappCanisterSettings:Z,RemoveGenericNervousSystemFunction:e.Nat64,UpgradeSnsToNextVersion:e.Record({}),RegisterDappCanisters:D,TransferSnsTreasuryFunds:I,UpgradeSnsControlledCanister:L,DeregisterDappCanisters:ee,MintSnsTokens:te,Unspecified:e.Record({}),ManageSnsMetadata:x,ExecuteGenericNervousSystemFunction:se,ManageLedgerParameters:oe,Motion:ne}),R=e.Record({url:e.Text,title:e.Text,action:e.Opt(ae),summary:e.Text}),re=e.Record({current_deadline_timestamp_seconds:e.Nat64}),y=e.Record({id:e.Opt(_),payload_text_rendering:e.Opt(e.Text),action:e.Nat64,failure_reason:e.Opt(m),action_auxiliary:e.Opt(H),ballots:e.Vec(e.Tuple(e.Text,K)),minimum_yes_proportion_of_total:e.Opt(T),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(Y),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(R),proposer:e.Opt(a),wait_for_quiet_state:e.Opt(re),minimum_yes_proportion_of_exercised:e.Opt(T),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),h=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),F=e.Record({function_id:e.Nat64,followees:e.Vec(a)}),C=e.Record({to_account:e.Opt(d),percentage_to_disburse:e.Nat32}),ie=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),ce=e.Record({additional_dissolve_delay_seconds:e.Nat32}),_e=e.Record({dissolve_timestamp_seconds:e.Nat64}),de=e.Variant({ChangeAutoStakeMaturity:ie,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:ce,SetDissolveTimestamp:_e}),k=e.Record({operation:e.Opt(de)}),A=e.Record({vote:e.Int32,proposal:e.Opt(_)}),ue=e.Record({amount_to_be_disbursed_e8s:e.Nat64,to_account:e.Opt(d)}),pe=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),le=e.Variant({MemoAndController:pe,NeuronId:e.Record({})}),q=e.Record({by:e.Opt(le)}),G=e.Record({permissions_to_remove:e.Opt(l),principal_id:e.Opt(e.Principal)}),E=e.Record({permissions_to_add:e.Opt(l),principal_id:e.Opt(e.Principal)}),U=e.Record({percentage_to_merge:e.Nat32}),me=e.Record({e8s:e.Nat64}),z=e.Record({to_account:e.Opt(d),amount:e.Opt(me)}),Ne=e.Variant({Split:h,Follow:F,DisburseMaturity:C,Configure:k,RegisterVote:A,SyncCommand:e.Record({}),MakeProposal:R,FinalizeDisburseMaturity:ue,ClaimOrRefreshNeuron:q,RemoveNeuronPermissions:G,AddNeuronPermissions:E,MergeMaturity:U,Disburse:z}),ge=e.Record({command:e.Opt(Ne),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}),ye=e.Record({timestamp_of_disbursement_seconds:e.Nat64,amount_e8s:e.Nat64,account_to_disburse_to:e.Opt(d),finalize_disbursement_timestamp_seconds:e.Opt(e.Nat64)}),v=e.Record({id:e.Opt(a),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(ye),followees:e.Vec(e.Tuple(e.Nat64,c)),neuron_fees_e8s:e.Nat64}),ft=e.Record({root_canister_id:e.Opt(e.Principal),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,s)),metrics:e.Opt(i),maturity_modulation:e.Opt(r),mode:e.Int32,parameters:e.Opt(N),is_finalizing_disburse_maturity:e.Opt(e.Bool),deployed_version:e.Opt(g),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(w),pending_version:e.Opt(M),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,y)),in_flight_commands:e.Vec(e.Tuple(e.Text,ge)),sns_metadata:e.Opt(x),neurons:e.Vec(e.Tuple(e.Text,v)),genesis_timestamp_seconds:e.Nat64}),ve=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),source_nns_neuron_id:e.Opt(e.Nat64),stake_e8s:e.Opt(e.Nat64),followees:e.Vec(a),hotkey:e.Opt(e.Principal),neuron_id:e.Opt(a)}),Se=e.Record({neuron_parameters:e.Vec(ve)}),fe=e.Record({id:e.Opt(a),status:e.Int32}),Pe=e.Record({swap_neurons:e.Vec(fe)}),we=e.Variant({Ok:Pe,Err:e.Int32}),Me=e.Record({claim_swap_neurons_result:e.Opt(we)}),be=e.Record({maturity_modulation:e.Opt(r)}),Ve=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),Te=e.Record({mode:e.Opt(e.Int32)}),xe=e.Record({neuron_id:e.Opt(a)}),he=e.Variant({Error:m,Neuron:v}),Fe=e.Record({result:e.Opt(he)}),B=e.Record({proposal_id:e.Opt(_)}),Ce=e.Variant({Error:m,Proposal:y}),ke=e.Record({result:e.Opt(Ce)}),Ae=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),qe=e.Record({freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),memory_allocation:e.Nat,compute_allocation:e.Nat}),Ge=e.Record({status:Ae,memory_size:e.Nat,cycles:e.Nat,settings:qe,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),Ee=e.Record({deployed_version:e.Opt(g),pending_version:e.Opt(M)}),Ue=e.Record({sns_initialization_parameters:e.Text}),ze=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(s)}),Be=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(a)}),je=e.Record({neurons:e.Vec(v)}),Qe=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(_),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_status:e.Vec(e.Int32)}),We=e.Record({include_ballots_by_caller:e.Opt(e.Bool),proposals:e.Vec(y)}),$e=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),Je=e.Variant({Split:h,Follow:F,DisburseMaturity:C,ClaimOrRefresh:q,Configure:k,RegisterVote:A,MakeProposal:R,StakeMaturity:$e,RemoveNeuronPermissions:G,AddNeuronPermissions:E,MergeMaturity:U,Disburse:z}),Xe=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(Je)}),He=e.Record({created_neuron_id:e.Opt(a)}),Ke=e.Record({amount_disbursed_e8s:e.Nat64,amount_deducted_e8s:e.Opt(e.Nat64)}),Ye=e.Record({refreshed_neuron_id:e.Opt(a)}),Ze=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),De=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),Ie=e.Record({transfer_block_height:e.Nat64}),Le=e.Variant({Error:m,Split:He,Follow:e.Record({}),DisburseMaturity:Ke,ClaimOrRefresh:Ye,Configure:e.Record({}),RegisterVote:e.Record({}),MakeProposal:B,RemoveNeuronPermission:e.Record({}),StakeMaturity:Ze,MergeMaturity:De,Disburse:Ie,AddNeuronPermission:e.Record({})}),et=e.Record({command:e.Opt(Le)}),tt=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([Se],[Me],[]),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([],[w],["query"]),get_maturity_modulation:e.Func([e.Record({})],[be],[]),get_metadata:e.Func([e.Record({})],[Ve],["query"]),get_mode:e.Func([e.Record({})],[Te],["query"]),get_nervous_system_parameters:e.Func([e.Null],[N],["query"]),get_neuron:e.Func([xe],[Fe],["query"]),get_proposal:e.Func([B],[ke],["query"]),get_root_canister_status:e.Func([e.Null],[Ge],[]),get_running_sns_version:e.Func([e.Record({})],[Ee],["query"]),get_sns_initialization_parameters:e.Func([e.Record({})],[Ue],["query"]),list_nervous_system_functions:e.Func([],[ze],["query"]),list_neurons:e.Func([Be],[je],["query"]),list_proposals:e.Func([Qe],[We],["query"]),manage_neuron:e.Func([Xe],[et],[]),set_mode:e.Func([tt],[e.Record({})],[])})};import{fromNullable as n,toNullable as S}from"@dfinity/utils";var f=({neuronId:{id:e},command:o})=>({subaccount:e,command:[o]}),j=({neuronId:e,operation:o})=>f({neuronId:e,command:{Configure:{operation:[o]}}}),at=({owner:e,subaccount:o})=>({owner:S(e),subaccount:o===void 0?[]:S({subaccount:o})}),rt=({neuronId:e,permissions:o,principal:t})=>f({neuronId:e,command:{AddNeuronPermissions:{permissions_to_add:[{permissions:Int32Array.from(o)}],principal_id:[t]}}}),it=({neuronId:e,permissions:o,principal:t})=>f({neuronId:e,command:{RemoveNeuronPermissions:{permissions_to_remove:[{permissions:Int32Array.from(o)}],principal_id:[t]}}}),ct=({neuronId:e,memo:o,amount:t})=>f({neuronId:e,command:{Split:{memo:o,amount_e8s:t}}}),_t=({neuronId:e,amount:o,toAccount:t})=>f({neuronId:e,command:{Disburse:{to_account:t===void 0?[]:S(at(t)),amount:o===void 0?[]:[{e8s:o}]}}}),dt=e=>j({neuronId:e,operation:{StartDissolving:{}}}),ut=e=>j({neuronId:e,operation:{StopDissolving:{}}}),pt=({neuronId:e,percentageToStake:o})=>f({neuronId:e,command:{StakeMaturity:{percentage_to_stake:S(o)}}}),lt=({neuronId:e,percentageToDisburse:o,toAccount:t})=>f({neuronId:e,command:{DisburseMaturity:{to_account:t===void 0?[]:S(at(t)),percentage_to_disburse:o}}}),mt=({neuronId:e,autoStake:o})=>j({neuronId:e,operation:{ChangeAutoStakeMaturity:{requested_setting_for_auto_stake_maturity:o}}}),Nt=({neuronId:e,dissolveTimestampSeconds:o})=>j({neuronId:e,operation:{SetDissolveTimestamp:{dissolve_timestamp_seconds:o}}}),gt=({neuronId:e,additionalDissolveDelaySeconds:o})=>j({neuronId:e,operation:{IncreaseDissolveDelay:{additional_dissolve_delay_seconds:o}}}),Ot=({neuronId:e,functionId:o,followees:t})=>({subaccount:e.id,command:[{Follow:{function_id:o,followees:t}}]}),Rt=({neuronId:e,proposalId:o,vote:t})=>({subaccount:e.id,command:[{RegisterVote:{vote:t,proposal:[o]}}]}),st=({subaccount:e,memo:o,controller:t})=>({subaccount:e,command:[{ClaimOrRefresh:{by:[o===void 0?{NeuronId:{}}:{MemoAndController:{memo:o,controller:S(t)}}]}}]}),yt=({excludeType:e,beforeProposal:o,includeRewardStatus:t,includeStatus:s,limit:i})=>({exclude_type:BigUint64Array.from(e??[]),before_proposal:S(o),include_reward_status:Int32Array.from(t??[]),include_status:Int32Array.from(s??[]),limit:i??10}),zt=e=>{if("ManageNervousSystemParameters"in e)return{ManageNervousSystemParameters:Ft(e.ManageNervousSystemParameters)};if("AddGenericNervousSystemFunction"in e)return{AddGenericNervousSystemFunction:xt(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:bt(e.TransferSnsTreasuryFunds)};if("UpgradeSnsControlledCanister"in e)return{UpgradeSnsControlledCanister:Mt(e.UpgradeSnsControlledCanister)};if("DeregisterDappCanisters"in e)return{DeregisterDappCanisters:e.DeregisterDappCanisters};if("Unspecified"in e)return{Unspecified:e.Unspecified};if("ManageSnsMetadata"in e)return{ManageSnsMetadata:wt(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)}`)},wt=e=>({url:n(e.url),logo:n(e.logo),name:n(e.name),description:n(e.description)}),Mt=e=>({new_canister_wasm:e.new_canister_wasm,canister_id:n(e.canister_id),canister_upgrade_arg:n(e.canister_upgrade_arg),mode:n(e.mode)}),bt=e=>({from_treasury:e.from_treasury,to_principal:n(e.to_principal),to_subaccount:n(e.to_subaccount),memo:n(e.memo),amount_e8s:e.amount_e8s}),Vt=e=>({validator_canister_id:n(e.validator_canister_id),target_canister_id:n(e.target_canister_id),validator_method_name:n(e.validator_method_name),target_method_name:n(e.target_method_name)}),Tt=e=>{if(e!==void 0){if("NativeNervousSystemFunction"in e)return{NativeNervousSystemFunction:e.NativeNervousSystemFunction};if("GenericNervousSystemFunction"in e)return{GenericNervousSystemFunction:Vt(e.GenericNervousSystemFunction)};throw new Error(`Unknown FunctionType ${JSON.stringify(e)}`)}},xt=e=>({id:e.id,name:e.name,description:n(e.description),function_type:Tt(n(e.function_type))}),ht=e=>e&&{final_reward_rate_basis_points:n(e.final_reward_rate_basis_points),initial_reward_rate_basis_points:n(e.initial_reward_rate_basis_points),reward_rate_transition_duration_seconds:n(e.reward_rate_transition_duration_seconds),round_duration_seconds:n(e.round_duration_seconds)},Ft=e=>({default_followees:n(e.default_followees),max_dissolve_delay_seconds:n(e.max_dissolve_delay_seconds),max_dissolve_delay_bonus_percentage:n(e.max_dissolve_delay_bonus_percentage),max_followees_per_function:n(e.max_followees_per_function),neuron_claimer_permissions:n(e.neuron_claimer_permissions),neuron_minimum_stake_e8s:n(e.neuron_minimum_stake_e8s),max_neuron_age_for_age_bonus:n(e.max_neuron_age_for_age_bonus),initial_voting_period_seconds:n(e.initial_voting_period_seconds),neuron_minimum_dissolve_delay_to_vote_seconds:n(e.neuron_minimum_dissolve_delay_to_vote_seconds),reject_cost_e8s:n(e.reject_cost_e8s),max_proposals_to_keep_per_action:n(e.max_proposals_to_keep_per_action),wait_for_quiet_deadline_increase_seconds:n(e.wait_for_quiet_deadline_increase_seconds),max_number_of_neurons:n(e.max_number_of_neurons),transaction_fee_e8s:n(e.transaction_fee_e8s),max_number_of_proposals_with_ballots:n(e.max_number_of_proposals_with_ballots),max_age_bonus_percentage:n(e.max_age_bonus_percentage),neuron_grantable_permissions:n(e.neuron_grantable_permissions),voting_rewards_parameters:ht(n(e.voting_rewards_parameters)),max_number_of_principals_per_neuron:n(e.max_number_of_principals_per_neuron)});var St=class e extends kt{constructor(){super(...arguments);this.listNeurons=async t=>{let{principal:s,limit:i,beforeNeuronId:r}=t,{neurons:a}=await this.caller(t).list_neurons({of_principal:Q(s),limit:i??100,start_page_at:Q(r)});return a};this.listProposals=async t=>{let{certified:s}=t;return await this.caller({certified:s}).list_proposals(yt(t))};this.getProposal=async t=>{let{proposalId:s}=t,{result:i}=await this.caller(t).get_proposal({proposal_id:Q(s)}),r=P(i);if(r===void 0||"Error"in r)throw new u(r?.Error.error_message??"Response type not supported");return r.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:s}=t,{result:i}=await this.caller(t).get_neuron({neuron_id:Q(s)}),r=P(i);if(r===void 0||"Error"in r)throw new u(r?.Error.error_message??"Response type not supported");return r.Neuron};this.queryNeuron=async t=>{try{return await this.getNeuron(t)}catch(s){if(s instanceof Error&&s.message.includes("No neuron for given NeuronId"))return;throw s}};this.manageNeuron=async t=>{let s=await this.caller({certified:!0}).manage_neuron(t);return this.assertManageNeuronError(s),s};this.addNeuronPermissions=async t=>{let s=rt(t);await this.manageNeuron(s)};this.removeNeuronPermissions=async t=>{let s=it(t);await this.manageNeuron(s)};this.splitNeuron=async t=>{let s=ct(t),{command:i}=await this.manageNeuron(s),r=P(i),a=c=>`Split neuron failed (${c})`;if(r===void 0)throw new u(a("no response"));if("Split"in r){let c=r.Split,p=P(c.created_neuron_id);if(p!==void 0)return p;throw new u(a("no id"))}throw new u(a("unknown"))};this.disburse=async t=>{let s=_t(t);await this.manageNeuron(s)};this.startDissolving=async t=>{let s=dt(t);await this.manageNeuron(s)};this.stopDissolving=async t=>{let s=ut(t);await this.manageNeuron(s)};this.stakeMaturity=async({neuronId:t,percentageToStake:s})=>{vt(s??100);let i=pt({neuronId:t,percentageToStake:s});await this.manageNeuron(i)};this.disburseMaturity=async t=>{vt(t.percentageToDisburse);let s=lt(t);await this.manageNeuron(s)};this.autoStakeMaturity=async t=>{let s=mt(t);await this.manageNeuron(s)};this.setDissolveTimestamp=async t=>{let s=Nt(t);await this.manageNeuron(s)};this.increaseDissolveDelay=async t=>{let s=gt(t);await this.manageNeuron(s)};this.setTopicFollowees=async t=>{let s=Ot(t);await this.manageNeuron(s)};this.registerVote=async t=>{let s=Rt(t);await this.manageNeuron(s)};this.refreshNeuron=async t=>{let s=st({subaccount:t.id});await this.manageNeuron(s)};this.claimNeuron=async({memo:t,controller:s,subaccount:i})=>{let r=st({subaccount:i,memo:t,controller:s}),{command:a}=await this.manageNeuron(r),c=P(a);if(c===void 0)throw new u("Claim neuron failed");if("ClaimOrRefresh"in c){let p=P(c.ClaimOrRefresh.refreshed_neuron_id);if(p===void 0)throw new u("Claim neuron failed");return p}throw new u("Claim neuron failed")};this.assertManageNeuronError=({command:t})=>{let s=t[0];if(s!==void 0&&"Error"in s)throw new u(s.Error.error_message)}}static create(t){let{service:s,certifiedService:i,canisterId:r}=At({options:t,idlFactory:nt,certifiedIdlFactory:ot});return new e(r,s,i)}};export{zt as a,St as b};
2
+ //# sourceMappingURL=chunk-3PR6E3PT.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/governance.canister.ts", "../../candid/sns_governance.certified.idl.js", "../../candid/sns_governance.idl.js", "../../src/converters/governance.converters.ts"],
4
+ "sourcesContent": ["import type { Principal } from \"@dfinity/principal\";\nimport type { QueryParams } from \"@dfinity/utils\";\nimport {\n assertPercentageNumber,\n Canister,\n createServices,\n fromNullable,\n toNullable,\n} from \"@dfinity/utils\";\nimport type {\n GetMetadataResponse,\n ListNervousSystemFunctionsResponse,\n ListProposalsResponse,\n ManageNeuron,\n ManageNeuronResponse,\n NervousSystemParameters,\n Neuron,\n NeuronId,\n ProposalData,\n _SERVICE as SnsGovernanceService,\n SplitResponse,\n} from \"../candid/sns_governance\";\nimport { idlFactory as certifiedIdlFactory } from \"../candid/sns_governance.certified.idl\";\nimport { idlFactory } from \"../candid/sns_governance.idl\";\nimport { MAX_LIST_NEURONS_RESULTS } from \"./constants/governance.constants\";\nimport {\n toAddPermissionsRequest,\n toAutoStakeMaturityNeuronRequest,\n toClaimOrRefreshRequest,\n toDisburseMaturityRequest,\n toDisburseNeuronRequest,\n toFollowRequest,\n toIncreaseDissolveDelayRequest,\n toListProposalRequest,\n toRegisterVoteRequest,\n toRemovePermissionsRequest,\n toSetDissolveTimestampRequest,\n toSplitNeuronRequest,\n toStakeMaturityRequest,\n toStartDissolvingNeuronRequest,\n toStopDissolvingNeuronRequest,\n} from \"./converters/governance.converters\";\nimport { SnsGovernanceError } from \"./errors/governance.errors\";\nimport type { SnsCanisterOptions } from \"./types/canister.options\";\nimport type {\n SnsClaimNeuronParams,\n SnsDisburseNeuronParams,\n SnsGetNeuronParams,\n SnsGetProposalParams,\n SnsIncreaseDissolveDelayParams,\n SnsListNeuronsParams,\n SnsListProposalsParams,\n SnsNeuronAutoStakeMaturityParams,\n SnsNeuronDisburseMaturityParams,\n SnsNeuronPermissionsParams,\n SnsNeuronStakeMaturityParams,\n SnsRegisterVoteParams,\n SnsSetDissolveTimestampParams,\n SnsSetTopicFollowees,\n SnsSplitNeuronParams,\n} from \"./types/governance.params\";\n\nexport class SnsGovernanceCanister extends Canister<SnsGovernanceService> {\n /**\n * Instantiate a canister to interact with the governance of a Sns project.\n *\n * @param {SnsCanisterOptions} options Miscellaneous options to initialize the canister. Its ID being the only mandatory parammeter.\n */\n static create(options: SnsCanisterOptions<SnsGovernanceService>) {\n const { service, certifiedService, canisterId } =\n createServices<SnsGovernanceService>({\n options,\n idlFactory,\n certifiedIdlFactory,\n });\n\n return new SnsGovernanceCanister(canisterId, service, certifiedService);\n }\n\n /**\n * List the neurons of the Sns\n */\n listNeurons = async (params: SnsListNeuronsParams): Promise<Neuron[]> => {\n const { principal, limit, beforeNeuronId } = params;\n\n const { neurons } = await this.caller(params).list_neurons({\n of_principal: toNullable<Principal>(principal),\n limit: limit ?? MAX_LIST_NEURONS_RESULTS,\n start_page_at: toNullable<NeuronId>(beforeNeuronId),\n });\n return neurons;\n };\n\n /**\n * List the proposals of the Sns\n */\n listProposals = async (\n params: SnsListProposalsParams,\n ): Promise<ListProposalsResponse> => {\n const { certified } = params;\n\n const response = await this.caller({ certified }).list_proposals(\n toListProposalRequest(params),\n );\n return response;\n };\n\n /**\n * Get the proposal of the Sns\n */\n getProposal = async (params: SnsGetProposalParams): Promise<ProposalData> => {\n const { proposalId } = params;\n\n const { result } = await this.caller(params).get_proposal({\n proposal_id: toNullable(proposalId),\n });\n const data = fromNullable(result);\n if (data === undefined || \"Error\" in data) {\n throw new SnsGovernanceError(\n data?.Error.error_message ?? \"Response type not supported\",\n );\n }\n return data.Proposal;\n };\n\n /**\n * List Nervous System Functions\n * Neurons can follow other neurons in specific Nervous System Functions.\n */\n listNervousSystemFunctions = async (\n params: QueryParams,\n ): Promise<ListNervousSystemFunctionsResponse> =>\n this.caller(params).list_nervous_system_functions();\n\n /**\n * Get the Sns metadata (title, description, etc.)\n */\n metadata = (params: QueryParams): Promise<GetMetadataResponse> =>\n this.caller(params).get_metadata({});\n\n /**\n * Get the Sns nervous system parameters (default followees, max dissolve delay, max number of neurons, etc.)\n */\n nervousSystemParameters = (\n params: QueryParams,\n ): Promise<NervousSystemParameters> =>\n this.caller(params).get_nervous_system_parameters(null);\n\n /**\n * Get the neuron of the Sns\n */\n getNeuron = async (params: SnsGetNeuronParams): Promise<Neuron> => {\n const { neuronId } = params;\n\n const { result } = await this.caller(params).get_neuron({\n neuron_id: toNullable(neuronId),\n });\n const data = fromNullable(result);\n if (data === undefined || \"Error\" in data) {\n throw new SnsGovernanceError(\n data?.Error.error_message ?? \"Response type not supported\",\n );\n }\n return data.Neuron;\n };\n\n /**\n * Same as `getNeuron` but returns undefined instead of raising error when not found.\n */\n queryNeuron = async (\n params: SnsGetNeuronParams,\n ): Promise<Neuron | undefined> => {\n try {\n return await this.getNeuron(params);\n } catch (error: unknown) {\n // Source: https://github.com/dfinity/ic/blob/master/rs/sns/governance/src/governance.rs#L914\n if (\n error instanceof Error &&\n error.message.includes(\"No neuron for given NeuronId\")\n ) {\n return undefined;\n }\n throw error;\n }\n };\n\n /**\n * Manage neuron. For advanced users.\n */\n manageNeuron = async (\n request: ManageNeuron,\n ): Promise<ManageNeuronResponse> => {\n const response = await this.caller({ certified: true }).manage_neuron(\n request,\n );\n this.assertManageNeuronError(response);\n return response;\n };\n\n /**\n * Add permissions to a neuron for a specific principal\n */\n addNeuronPermissions = async (\n params: SnsNeuronPermissionsParams,\n ): Promise<void> => {\n const request: ManageNeuron = toAddPermissionsRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Remove permissions to a neuron for a specific principal\n */\n removeNeuronPermissions = async (\n params: SnsNeuronPermissionsParams,\n ): Promise<void> => {\n const request: ManageNeuron = toRemovePermissionsRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Split neuron\n */\n public splitNeuron = async (\n params: SnsSplitNeuronParams,\n ): Promise<NeuronId | undefined> => {\n const request: ManageNeuron = toSplitNeuronRequest(params);\n const { command } = await this.manageNeuron(request);\n const response = fromNullable(command);\n const errorMessage = (details: string) =>\n `Split neuron failed (${details})`;\n\n // Validate response\n if (response === undefined) {\n throw new SnsGovernanceError(errorMessage(\"no response\"));\n }\n\n if (\"Split\" in response) {\n const split = response.Split as SplitResponse;\n const neuronId = fromNullable(split.created_neuron_id) as NeuronId;\n\n if (neuronId !== undefined) {\n return neuronId;\n }\n\n throw new SnsGovernanceError(errorMessage(\"no id\"));\n }\n\n throw new SnsGovernanceError(errorMessage(\"unknown\"));\n };\n\n /**\n * Disburse neuron on Account\n */\n disburse = async (params: SnsDisburseNeuronParams): Promise<void> => {\n const request: ManageNeuron = toDisburseNeuronRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Start dissolving process of a neuron\n */\n startDissolving = async (neuronId: NeuronId): Promise<void> => {\n const request: ManageNeuron = toStartDissolvingNeuronRequest(neuronId);\n await this.manageNeuron(request);\n };\n\n /**\n * Stop dissolving process of a neuron\n */\n stopDissolving = async (neuronId: NeuronId): Promise<void> => {\n const request: ManageNeuron = toStopDissolvingNeuronRequest(neuronId);\n await this.manageNeuron(request);\n };\n\n /**\n * Stake the maturity of a neuron.\n *\n * @param {neuronId: NeuronId; percentageToStake: number;} params\n * @param {NeuronId} neuronId The id of the neuron for which to stake the maturity\n * @param {number} percentageToStake Optional. Percentage of the current maturity to stake. If not provided, all of the neuron's current maturity will be staked.\n */\n stakeMaturity = async ({\n neuronId,\n percentageToStake,\n }: SnsNeuronStakeMaturityParams): Promise<void> => {\n assertPercentageNumber(percentageToStake ?? 100);\n\n const request: ManageNeuron = toStakeMaturityRequest({\n neuronId,\n percentageToStake,\n });\n await this.manageNeuron(request);\n };\n\n /**\n * Disburse the maturity of a neuron.\n *\n * @param {neuronId: NeuronId; toAccount?: IcrcAccount; percentageToDisburse: number; } params\n * @param {IcrcAccount} toAccount. Account to disburse maturity.\n * @param {NeuronId} neuronId The id of the neuron for which to disburse the maturity\n * @param {number} percentageToDisburse What percentage of the available maturity to disburse.\n */\n disburseMaturity = async (\n params: SnsNeuronDisburseMaturityParams,\n ): Promise<void> => {\n assertPercentageNumber(params.percentageToDisburse);\n\n const request: ManageNeuron = toDisburseMaturityRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Changes auto-stake maturity for a Neuron.\n *\n * @param {neuronId: NeuronId; autoStake: boolean;} params\n * @param {NeuronId} neuronId The id of the neuron for which to request a change of the auto stake feature\n * @param {number} autoStake `true` to enable the auto-stake maturity for this neuron, `false` to turn it off\n */\n autoStakeMaturity = async (\n params: SnsNeuronAutoStakeMaturityParams,\n ): Promise<void> => {\n const request: ManageNeuron = toAutoStakeMaturityNeuronRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Increase dissolve delay of a neuron\n */\n setDissolveTimestamp = async (\n params: SnsSetDissolveTimestampParams,\n ): Promise<void> => {\n const request: ManageNeuron = toSetDissolveTimestampRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Increase dissolve delay of a neuron\n */\n increaseDissolveDelay = async (\n params: SnsIncreaseDissolveDelayParams,\n ): Promise<void> => {\n const request: ManageNeuron = toIncreaseDissolveDelayRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Sets followees of a neuron for a specific Nervous System Function (topic)\n */\n setTopicFollowees = async (params: SnsSetTopicFollowees): Promise<void> => {\n const request: ManageNeuron = toFollowRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Registers vote for a proposal from the neuron passed.\n */\n registerVote = async (params: SnsRegisterVoteParams): Promise<void> => {\n const request: ManageNeuron = toRegisterVoteRequest(params);\n await this.manageNeuron(request);\n };\n\n /**\n * Refresh neuron\n */\n refreshNeuron = async (neuronId: NeuronId): Promise<void> => {\n const request: ManageNeuron = toClaimOrRefreshRequest({\n subaccount: neuronId.id,\n });\n await this.manageNeuron(request);\n };\n\n /**\n * Claim neuron\n */\n claimNeuron = async ({\n memo,\n controller,\n subaccount,\n }: SnsClaimNeuronParams): Promise<NeuronId> => {\n const request: ManageNeuron = toClaimOrRefreshRequest({\n subaccount,\n memo,\n controller,\n });\n const { command } = await this.manageNeuron(request);\n const response = fromNullable(command);\n // Edge case. This should not happen\n if (response === undefined) {\n throw new SnsGovernanceError(\"Claim neuron failed\");\n }\n if (\"ClaimOrRefresh\" in response) {\n const neuronId = fromNullable(\n response.ClaimOrRefresh.refreshed_neuron_id,\n );\n // This might happen.\n if (neuronId === undefined) {\n throw new SnsGovernanceError(\"Claim neuron failed\");\n }\n return neuronId;\n }\n // Edge case. manage_neuron for ClaimOrRefresh returns only ClaimOrRefresh response.\n throw new SnsGovernanceError(\"Claim neuron failed\");\n };\n\n /**\n *\n * @param response ManageNeuronResponse\n * @throws SnsGovernanceError\n */\n private assertManageNeuronError = ({\n command,\n }: ManageNeuronResponse): void => {\n // TODO: use upcoming fromDefinedNullable\n const firstCommand = command[0];\n if (firstCommand !== undefined && \"Error\" in firstCommand) {\n throw new SnsGovernanceError(firstCommand.Error.error_message);\n }\n };\n}\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_governance.did */\nexport const idlFactory = ({ IDL }) => {\n const GenericNervousSystemFunction = IDL.Record({\n 'validator_canister_id' : IDL.Opt(IDL.Principal),\n 'target_canister_id' : IDL.Opt(IDL.Principal),\n 'validator_method_name' : IDL.Opt(IDL.Text),\n 'target_method_name' : IDL.Opt(IDL.Text),\n });\n const FunctionType = IDL.Variant({\n 'NativeNervousSystemFunction' : IDL.Record({}),\n 'GenericNervousSystemFunction' : GenericNervousSystemFunction,\n });\n const NervousSystemFunction = IDL.Record({\n 'id' : IDL.Nat64,\n 'name' : IDL.Text,\n 'description' : IDL.Opt(IDL.Text),\n 'function_type' : IDL.Opt(FunctionType),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const MaturityModulation = IDL.Record({\n 'current_basis_points' : IDL.Opt(IDL.Int32),\n 'updated_at_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const NeuronId = IDL.Record({ 'id' : IDL.Vec(IDL.Nat8) });\n const Followees = IDL.Record({ 'followees' : IDL.Vec(NeuronId) });\n const DefaultFollowees = IDL.Record({\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n });\n const NeuronPermissionList = IDL.Record({\n 'permissions' : IDL.Vec(IDL.Int32),\n });\n const VotingRewardsParameters = IDL.Record({\n 'final_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'initial_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'reward_rate_transition_duration_seconds' : IDL.Opt(IDL.Nat64),\n 'round_duration_seconds' : IDL.Opt(IDL.Nat64),\n });\n const NervousSystemParameters = IDL.Record({\n 'default_followees' : IDL.Opt(DefaultFollowees),\n 'max_dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'max_dissolve_delay_bonus_percentage' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'neuron_claimer_permissions' : IDL.Opt(NeuronPermissionList),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'max_neuron_age_for_age_bonus' : IDL.Opt(IDL.Nat64),\n 'initial_voting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_dissolve_delay_to_vote_seconds' : IDL.Opt(IDL.Nat64),\n 'reject_cost_e8s' : IDL.Opt(IDL.Nat64),\n 'max_proposals_to_keep_per_action' : IDL.Opt(IDL.Nat32),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Opt(IDL.Nat64),\n 'max_number_of_neurons' : IDL.Opt(IDL.Nat64),\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'max_number_of_proposals_with_ballots' : IDL.Opt(IDL.Nat64),\n 'max_age_bonus_percentage' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'voting_rewards_parameters' : IDL.Opt(VotingRewardsParameters),\n 'maturity_modulation_disabled' : IDL.Opt(IDL.Bool),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const Version = IDL.Record({\n 'archive_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'root_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'swap_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'ledger_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'governance_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'index_wasm_hash' : IDL.Vec(IDL.Nat8),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const RewardEvent = IDL.Record({\n 'rounds_since_last_distribution' : IDL.Opt(IDL.Nat64),\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'end_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'round' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const UpgradeInProgress = IDL.Record({\n 'mark_failed_at_seconds' : IDL.Nat64,\n 'checking_upgrade_lock' : IDL.Nat64,\n 'proposal_id' : IDL.Nat64,\n 'target_version' : IDL.Opt(Version),\n });\n const GovernanceError = IDL.Record({\n 'error_message' : IDL.Text,\n 'error_type' : IDL.Int32,\n });\n const Subaccount = IDL.Record({ 'subaccount' : IDL.Vec(IDL.Nat8) });\n const Account = IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(Subaccount),\n });\n const Decimal = IDL.Record({ 'human_readable' : IDL.Opt(IDL.Text) });\n const Tokens = IDL.Record({ 'e8s' : IDL.Opt(IDL.Nat64) });\n const ValuationFactors = IDL.Record({\n 'xdrs_per_icp' : IDL.Opt(Decimal),\n 'icps_per_token' : IDL.Opt(Decimal),\n 'tokens' : IDL.Opt(Tokens),\n });\n const Valuation = IDL.Record({\n 'token' : IDL.Opt(IDL.Int32),\n 'account' : IDL.Opt(Account),\n 'valuation_factors' : IDL.Opt(ValuationFactors),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const MintSnsTokensActionAuxiliary = IDL.Record({\n 'valuation' : IDL.Opt(Valuation),\n });\n const ActionAuxiliary = IDL.Variant({\n 'TransferSnsTreasuryFunds' : MintSnsTokensActionAuxiliary,\n 'MintSnsTokens' : MintSnsTokensActionAuxiliary,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Percentage = IDL.Record({ 'basis_points' : IDL.Opt(IDL.Nat64) });\n const Tally = IDL.Record({\n 'no' : IDL.Nat64,\n 'yes' : IDL.Nat64,\n 'total' : IDL.Nat64,\n 'timestamp_seconds' : IDL.Nat64,\n });\n const ManageDappCanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Opt(IDL.Nat64),\n 'canister_ids' : IDL.Vec(IDL.Principal),\n 'reserved_cycles_limit' : IDL.Opt(IDL.Nat64),\n 'log_visibility' : IDL.Opt(IDL.Int32),\n 'memory_allocation' : IDL.Opt(IDL.Nat64),\n 'compute_allocation' : IDL.Opt(IDL.Nat64),\n });\n const RegisterDappCanisters = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n });\n const TransferSnsTreasuryFunds = IDL.Record({\n 'from_treasury' : IDL.Int32,\n 'to_principal' : IDL.Opt(IDL.Principal),\n 'to_subaccount' : IDL.Opt(Subaccount),\n 'memo' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'mode' : IDL.Opt(IDL.Int32),\n 'canister_id' : IDL.Opt(IDL.Principal),\n 'canister_upgrade_arg' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const DeregisterDappCanisters = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n 'new_controllers' : IDL.Vec(IDL.Principal),\n });\n const MintSnsTokens = IDL.Record({\n 'to_principal' : IDL.Opt(IDL.Principal),\n 'to_subaccount' : IDL.Opt(Subaccount),\n 'memo' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n });\n const ManageSnsMetadata = IDL.Record({\n 'url' : IDL.Opt(IDL.Text),\n 'logo' : IDL.Opt(IDL.Text),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n });\n const ExecuteGenericNervousSystemFunction = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'payload' : IDL.Vec(IDL.Nat8),\n });\n const ManageLedgerParameters = IDL.Record({\n 'transfer_fee' : IDL.Opt(IDL.Nat64),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'ManageDappCanisterSettings' : ManageDappCanisterSettings,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'UpgradeSnsToNextVersion' : IDL.Record({}),\n 'RegisterDappCanisters' : RegisterDappCanisters,\n 'TransferSnsTreasuryFunds' : TransferSnsTreasuryFunds,\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'DeregisterDappCanisters' : DeregisterDappCanisters,\n 'MintSnsTokens' : MintSnsTokens,\n 'Unspecified' : IDL.Record({}),\n 'ManageSnsMetadata' : ManageSnsMetadata,\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'ManageLedgerParameters' : ManageLedgerParameters,\n 'Motion' : Motion,\n });\n const Proposal = IDL.Record({\n 'url' : IDL.Text,\n 'title' : IDL.Text,\n 'action' : IDL.Opt(Action),\n 'summary' : IDL.Text,\n });\n const WaitForQuietState = IDL.Record({\n 'current_deadline_timestamp_seconds' : IDL.Nat64,\n });\n const ProposalData = IDL.Record({\n 'id' : IDL.Opt(ProposalId),\n 'payload_text_rendering' : IDL.Opt(IDL.Text),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'action_auxiliary' : IDL.Opt(ActionAuxiliary),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'minimum_yes_proportion_of_total' : IDL.Opt(Percentage),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'reward_event_end_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'proposal_creation_timestamp_seconds' : IDL.Nat64,\n 'initial_voting_period_seconds' : IDL.Nat64,\n 'reject_cost_e8s' : IDL.Nat64,\n 'latest_tally' : IDL.Opt(Tally),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Nat64,\n 'decided_timestamp_seconds' : IDL.Nat64,\n 'proposal' : IDL.Opt(Proposal),\n 'proposer' : IDL.Opt(NeuronId),\n 'wait_for_quiet_state' : IDL.Opt(WaitForQuietState),\n 'minimum_yes_proportion_of_exercised' : IDL.Opt(Percentage),\n 'is_eligible_for_rewards' : IDL.Bool,\n 'executed_timestamp_seconds' : IDL.Nat64,\n });\n const Split = IDL.Record({ 'memo' : IDL.Nat64, 'amount_e8s' : IDL.Nat64 });\n const Follow = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'followees' : IDL.Vec(NeuronId),\n });\n const DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const ChangeAutoStakeMaturity = IDL.Record({\n 'requested_setting_for_auto_stake_maturity' : IDL.Bool,\n });\n const IncreaseDissolveDelay = IDL.Record({\n 'additional_dissolve_delay_seconds' : IDL.Nat32,\n });\n const SetDissolveTimestamp = IDL.Record({\n 'dissolve_timestamp_seconds' : IDL.Nat64,\n });\n const Operation = IDL.Variant({\n 'ChangeAutoStakeMaturity' : ChangeAutoStakeMaturity,\n 'StopDissolving' : IDL.Record({}),\n 'StartDissolving' : IDL.Record({}),\n 'IncreaseDissolveDelay' : IncreaseDissolveDelay,\n 'SetDissolveTimestamp' : SetDissolveTimestamp,\n });\n const Configure = IDL.Record({ 'operation' : IDL.Opt(Operation) });\n const RegisterVote = IDL.Record({\n 'vote' : IDL.Int32,\n 'proposal' : IDL.Opt(ProposalId),\n });\n const FinalizeDisburseMaturity = IDL.Record({\n 'amount_to_be_disbursed_e8s' : IDL.Nat64,\n 'to_account' : IDL.Opt(Account),\n });\n const MemoAndController = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'memo' : IDL.Nat64,\n });\n const By = IDL.Variant({\n 'MemoAndController' : MemoAndController,\n 'NeuronId' : IDL.Record({}),\n });\n const ClaimOrRefresh = IDL.Record({ 'by' : IDL.Opt(By) });\n const RemoveNeuronPermissions = IDL.Record({\n 'permissions_to_remove' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const AddNeuronPermissions = IDL.Record({\n 'permissions_to_add' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const MergeMaturity = IDL.Record({ 'percentage_to_merge' : IDL.Nat32 });\n const Amount = IDL.Record({ 'e8s' : IDL.Nat64 });\n const Disburse = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'amount' : IDL.Opt(Amount),\n });\n const Command_2 = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'SyncCommand' : IDL.Record({}),\n 'MakeProposal' : Proposal,\n 'FinalizeDisburseMaturity' : FinalizeDisburseMaturity,\n 'ClaimOrRefreshNeuron' : ClaimOrRefresh,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const NeuronInFlightCommand = IDL.Record({\n 'command' : IDL.Opt(Command_2),\n 'timestamp' : IDL.Nat64,\n });\n const NeuronPermission = IDL.Record({\n 'principal' : IDL.Opt(IDL.Principal),\n 'permission_type' : IDL.Vec(IDL.Int32),\n });\n const DissolveState = IDL.Variant({\n 'DissolveDelaySeconds' : IDL.Nat64,\n 'WhenDissolvedTimestampSeconds' : IDL.Nat64,\n });\n const DisburseMaturityInProgress = IDL.Record({\n 'timestamp_of_disbursement_seconds' : IDL.Nat64,\n 'amount_e8s' : IDL.Nat64,\n 'account_to_disburse_to' : IDL.Opt(Account),\n 'finalize_disbursement_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'staked_maturity_e8s_equivalent' : IDL.Opt(IDL.Nat64),\n 'permissions' : IDL.Vec(NeuronPermission),\n 'maturity_e8s_equivalent' : IDL.Nat64,\n 'cached_neuron_stake_e8s' : IDL.Nat64,\n 'created_timestamp_seconds' : IDL.Nat64,\n 'source_nns_neuron_id' : IDL.Opt(IDL.Nat64),\n 'auto_stake_maturity' : IDL.Opt(IDL.Bool),\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'voting_power_percentage_multiplier' : IDL.Nat64,\n 'vesting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'disburse_maturity_in_progress' : IDL.Vec(DisburseMaturityInProgress),\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n 'neuron_fees_e8s' : IDL.Nat64,\n });\n const Governance = IDL.Record({\n 'root_canister_id' : IDL.Opt(IDL.Principal),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'maturity_modulation' : IDL.Opt(MaturityModulation),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'is_finalizing_disburse_maturity' : IDL.Opt(IDL.Bool),\n 'deployed_version' : IDL.Opt(Version),\n 'sns_initialization_parameters' : IDL.Text,\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'pending_version' : IDL.Opt(UpgradeInProgress),\n 'swap_canister_id' : IDL.Opt(IDL.Principal),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'proposals' : IDL.Vec(IDL.Tuple(IDL.Nat64, ProposalData)),\n 'in_flight_commands' : IDL.Vec(IDL.Tuple(IDL.Text, NeuronInFlightCommand)),\n 'sns_metadata' : IDL.Opt(ManageSnsMetadata),\n 'neurons' : IDL.Vec(IDL.Tuple(IDL.Text, Neuron)),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n const NeuronParameters = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'source_nns_neuron_id' : IDL.Opt(IDL.Nat64),\n 'stake_e8s' : IDL.Opt(IDL.Nat64),\n 'followees' : IDL.Vec(NeuronId),\n 'hotkey' : IDL.Opt(IDL.Principal),\n 'neuron_id' : IDL.Opt(NeuronId),\n });\n const ClaimSwapNeuronsRequest = IDL.Record({\n 'neuron_parameters' : IDL.Vec(NeuronParameters),\n });\n const SwapNeuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'status' : IDL.Int32,\n });\n const ClaimedSwapNeurons = IDL.Record({\n 'swap_neurons' : IDL.Vec(SwapNeuron),\n });\n const ClaimSwapNeuronsResult = IDL.Variant({\n 'Ok' : ClaimedSwapNeurons,\n 'Err' : IDL.Int32,\n });\n const ClaimSwapNeuronsResponse = IDL.Record({\n 'claim_swap_neurons_result' : IDL.Opt(ClaimSwapNeuronsResult),\n });\n const GetMaturityModulationResponse = IDL.Record({\n 'maturity_modulation' : IDL.Opt(MaturityModulation),\n });\n const GetMetadataResponse = IDL.Record({\n 'url' : IDL.Opt(IDL.Text),\n 'logo' : IDL.Opt(IDL.Text),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n });\n const GetModeResponse = IDL.Record({ 'mode' : IDL.Opt(IDL.Int32) });\n const GetNeuron = IDL.Record({ 'neuron_id' : IDL.Opt(NeuronId) });\n const Result = IDL.Variant({ 'Error' : GovernanceError, 'Neuron' : Neuron });\n const GetNeuronResponse = IDL.Record({ 'result' : IDL.Opt(Result) });\n const GetProposal = IDL.Record({ 'proposal_id' : IDL.Opt(ProposalId) });\n const Result_1 = IDL.Variant({\n 'Error' : GovernanceError,\n 'Proposal' : ProposalData,\n });\n const GetProposalResponse = IDL.Record({ 'result' : IDL.Opt(Result_1) });\n const CanisterStatusType = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const DefiniteCanisterSettingsArgs = IDL.Record({\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const CanisterStatusResultV2 = IDL.Record({\n 'status' : CanisterStatusType,\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettingsArgs,\n 'idle_cycles_burned_per_day' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const GetRunningSnsVersionResponse = IDL.Record({\n 'deployed_version' : IDL.Opt(Version),\n 'pending_version' : IDL.Opt(UpgradeInProgress),\n });\n const GetSnsInitializationParametersResponse = IDL.Record({\n 'sns_initialization_parameters' : IDL.Text,\n });\n const ListNervousSystemFunctionsResponse = IDL.Record({\n 'reserved_ids' : IDL.Vec(IDL.Nat64),\n 'functions' : IDL.Vec(NervousSystemFunction),\n });\n const ListNeurons = IDL.Record({\n 'of_principal' : IDL.Opt(IDL.Principal),\n 'limit' : IDL.Nat32,\n 'start_page_at' : IDL.Opt(NeuronId),\n });\n const ListNeuronsResponse = IDL.Record({ 'neurons' : IDL.Vec(Neuron) });\n const ListProposals = IDL.Record({\n 'include_reward_status' : IDL.Vec(IDL.Int32),\n 'before_proposal' : IDL.Opt(ProposalId),\n 'limit' : IDL.Nat32,\n 'exclude_type' : IDL.Vec(IDL.Nat64),\n 'include_status' : IDL.Vec(IDL.Int32),\n });\n const ListProposalsResponse = IDL.Record({\n 'include_ballots_by_caller' : IDL.Opt(IDL.Bool),\n 'proposals' : IDL.Vec(ProposalData),\n });\n const StakeMaturity = IDL.Record({\n 'percentage_to_stake' : IDL.Opt(IDL.Nat32),\n });\n const Command = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'ClaimOrRefresh' : ClaimOrRefresh,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'StakeMaturity' : StakeMaturity,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const ManageNeuron = IDL.Record({\n 'subaccount' : IDL.Vec(IDL.Nat8),\n 'command' : IDL.Opt(Command),\n });\n const SplitResponse = IDL.Record({ 'created_neuron_id' : IDL.Opt(NeuronId) });\n const DisburseMaturityResponse = IDL.Record({\n 'amount_disbursed_e8s' : IDL.Nat64,\n 'amount_deducted_e8s' : IDL.Opt(IDL.Nat64),\n });\n const ClaimOrRefreshResponse = IDL.Record({\n 'refreshed_neuron_id' : IDL.Opt(NeuronId),\n });\n const StakeMaturityResponse = IDL.Record({\n 'maturity_e8s' : IDL.Nat64,\n 'staked_maturity_e8s' : IDL.Nat64,\n });\n const MergeMaturityResponse = IDL.Record({\n 'merged_maturity_e8s' : IDL.Nat64,\n 'new_stake_e8s' : IDL.Nat64,\n });\n const DisburseResponse = IDL.Record({ 'transfer_block_height' : IDL.Nat64 });\n const Command_1 = IDL.Variant({\n 'Error' : GovernanceError,\n 'Split' : SplitResponse,\n 'Follow' : IDL.Record({}),\n 'DisburseMaturity' : DisburseMaturityResponse,\n 'ClaimOrRefresh' : ClaimOrRefreshResponse,\n 'Configure' : IDL.Record({}),\n 'RegisterVote' : IDL.Record({}),\n 'MakeProposal' : GetProposal,\n 'RemoveNeuronPermission' : IDL.Record({}),\n 'StakeMaturity' : StakeMaturityResponse,\n 'MergeMaturity' : MergeMaturityResponse,\n 'Disburse' : DisburseResponse,\n 'AddNeuronPermission' : IDL.Record({}),\n });\n const ManageNeuronResponse = IDL.Record({ 'command' : IDL.Opt(Command_1) });\n const SetMode = IDL.Record({ 'mode' : IDL.Int32 });\n return IDL.Service({\n 'claim_swap_neurons' : IDL.Func(\n [ClaimSwapNeuronsRequest],\n [ClaimSwapNeuronsResponse],\n [],\n ),\n 'fail_stuck_upgrade_in_progress' : IDL.Func(\n [IDL.Record({})],\n [IDL.Record({})],\n [],\n ),\n 'get_build_metadata' : IDL.Func([], [IDL.Text], []),\n 'get_latest_reward_event' : IDL.Func([], [RewardEvent], []),\n 'get_maturity_modulation' : IDL.Func(\n [IDL.Record({})],\n [GetMaturityModulationResponse],\n [],\n ),\n 'get_metadata' : IDL.Func([IDL.Record({})], [GetMetadataResponse], []),\n 'get_mode' : IDL.Func([IDL.Record({})], [GetModeResponse], []),\n 'get_nervous_system_parameters' : IDL.Func(\n [IDL.Null],\n [NervousSystemParameters],\n [],\n ),\n 'get_neuron' : IDL.Func([GetNeuron], [GetNeuronResponse], []),\n 'get_proposal' : IDL.Func([GetProposal], [GetProposalResponse], []),\n 'get_root_canister_status' : IDL.Func(\n [IDL.Null],\n [CanisterStatusResultV2],\n [],\n ),\n 'get_running_sns_version' : IDL.Func(\n [IDL.Record({})],\n [GetRunningSnsVersionResponse],\n [],\n ),\n 'get_sns_initialization_parameters' : IDL.Func(\n [IDL.Record({})],\n [GetSnsInitializationParametersResponse],\n [],\n ),\n 'list_nervous_system_functions' : IDL.Func(\n [],\n [ListNervousSystemFunctionsResponse],\n [],\n ),\n 'list_neurons' : IDL.Func([ListNeurons], [ListNeuronsResponse], []),\n 'list_proposals' : IDL.Func([ListProposals], [ListProposalsResponse], []),\n 'manage_neuron' : IDL.Func([ManageNeuron], [ManageNeuronResponse], []),\n 'set_mode' : IDL.Func([SetMode], [IDL.Record({})], []),\n });\n};\nexport const init = ({ IDL }) => {\n const GenericNervousSystemFunction = IDL.Record({\n 'validator_canister_id' : IDL.Opt(IDL.Principal),\n 'target_canister_id' : IDL.Opt(IDL.Principal),\n 'validator_method_name' : IDL.Opt(IDL.Text),\n 'target_method_name' : IDL.Opt(IDL.Text),\n });\n const FunctionType = IDL.Variant({\n 'NativeNervousSystemFunction' : IDL.Record({}),\n 'GenericNervousSystemFunction' : GenericNervousSystemFunction,\n });\n const NervousSystemFunction = IDL.Record({\n 'id' : IDL.Nat64,\n 'name' : IDL.Text,\n 'description' : IDL.Opt(IDL.Text),\n 'function_type' : IDL.Opt(FunctionType),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const MaturityModulation = IDL.Record({\n 'current_basis_points' : IDL.Opt(IDL.Int32),\n 'updated_at_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const NeuronId = IDL.Record({ 'id' : IDL.Vec(IDL.Nat8) });\n const Followees = IDL.Record({ 'followees' : IDL.Vec(NeuronId) });\n const DefaultFollowees = IDL.Record({\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n });\n const NeuronPermissionList = IDL.Record({\n 'permissions' : IDL.Vec(IDL.Int32),\n });\n const VotingRewardsParameters = IDL.Record({\n 'final_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'initial_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'reward_rate_transition_duration_seconds' : IDL.Opt(IDL.Nat64),\n 'round_duration_seconds' : IDL.Opt(IDL.Nat64),\n });\n const NervousSystemParameters = IDL.Record({\n 'default_followees' : IDL.Opt(DefaultFollowees),\n 'max_dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'max_dissolve_delay_bonus_percentage' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'neuron_claimer_permissions' : IDL.Opt(NeuronPermissionList),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'max_neuron_age_for_age_bonus' : IDL.Opt(IDL.Nat64),\n 'initial_voting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_dissolve_delay_to_vote_seconds' : IDL.Opt(IDL.Nat64),\n 'reject_cost_e8s' : IDL.Opt(IDL.Nat64),\n 'max_proposals_to_keep_per_action' : IDL.Opt(IDL.Nat32),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Opt(IDL.Nat64),\n 'max_number_of_neurons' : IDL.Opt(IDL.Nat64),\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'max_number_of_proposals_with_ballots' : IDL.Opt(IDL.Nat64),\n 'max_age_bonus_percentage' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'voting_rewards_parameters' : IDL.Opt(VotingRewardsParameters),\n 'maturity_modulation_disabled' : IDL.Opt(IDL.Bool),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const Version = IDL.Record({\n 'archive_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'root_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'swap_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'ledger_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'governance_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'index_wasm_hash' : IDL.Vec(IDL.Nat8),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const RewardEvent = IDL.Record({\n 'rounds_since_last_distribution' : IDL.Opt(IDL.Nat64),\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'end_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'round' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const UpgradeInProgress = IDL.Record({\n 'mark_failed_at_seconds' : IDL.Nat64,\n 'checking_upgrade_lock' : IDL.Nat64,\n 'proposal_id' : IDL.Nat64,\n 'target_version' : IDL.Opt(Version),\n });\n const GovernanceError = IDL.Record({\n 'error_message' : IDL.Text,\n 'error_type' : IDL.Int32,\n });\n const Subaccount = IDL.Record({ 'subaccount' : IDL.Vec(IDL.Nat8) });\n const Account = IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(Subaccount),\n });\n const Decimal = IDL.Record({ 'human_readable' : IDL.Opt(IDL.Text) });\n const Tokens = IDL.Record({ 'e8s' : IDL.Opt(IDL.Nat64) });\n const ValuationFactors = IDL.Record({\n 'xdrs_per_icp' : IDL.Opt(Decimal),\n 'icps_per_token' : IDL.Opt(Decimal),\n 'tokens' : IDL.Opt(Tokens),\n });\n const Valuation = IDL.Record({\n 'token' : IDL.Opt(IDL.Int32),\n 'account' : IDL.Opt(Account),\n 'valuation_factors' : IDL.Opt(ValuationFactors),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const MintSnsTokensActionAuxiliary = IDL.Record({\n 'valuation' : IDL.Opt(Valuation),\n });\n const ActionAuxiliary = IDL.Variant({\n 'TransferSnsTreasuryFunds' : MintSnsTokensActionAuxiliary,\n 'MintSnsTokens' : MintSnsTokensActionAuxiliary,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Percentage = IDL.Record({ 'basis_points' : IDL.Opt(IDL.Nat64) });\n const Tally = IDL.Record({\n 'no' : IDL.Nat64,\n 'yes' : IDL.Nat64,\n 'total' : IDL.Nat64,\n 'timestamp_seconds' : IDL.Nat64,\n });\n const ManageDappCanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Opt(IDL.Nat64),\n 'canister_ids' : IDL.Vec(IDL.Principal),\n 'reserved_cycles_limit' : IDL.Opt(IDL.Nat64),\n 'log_visibility' : IDL.Opt(IDL.Int32),\n 'memory_allocation' : IDL.Opt(IDL.Nat64),\n 'compute_allocation' : IDL.Opt(IDL.Nat64),\n });\n const RegisterDappCanisters = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n });\n const TransferSnsTreasuryFunds = IDL.Record({\n 'from_treasury' : IDL.Int32,\n 'to_principal' : IDL.Opt(IDL.Principal),\n 'to_subaccount' : IDL.Opt(Subaccount),\n 'memo' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'mode' : IDL.Opt(IDL.Int32),\n 'canister_id' : IDL.Opt(IDL.Principal),\n 'canister_upgrade_arg' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const DeregisterDappCanisters = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n 'new_controllers' : IDL.Vec(IDL.Principal),\n });\n const MintSnsTokens = IDL.Record({\n 'to_principal' : IDL.Opt(IDL.Principal),\n 'to_subaccount' : IDL.Opt(Subaccount),\n 'memo' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n });\n const ManageSnsMetadata = IDL.Record({\n 'url' : IDL.Opt(IDL.Text),\n 'logo' : IDL.Opt(IDL.Text),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n });\n const ExecuteGenericNervousSystemFunction = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'payload' : IDL.Vec(IDL.Nat8),\n });\n const ManageLedgerParameters = IDL.Record({\n 'transfer_fee' : IDL.Opt(IDL.Nat64),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'ManageDappCanisterSettings' : ManageDappCanisterSettings,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'UpgradeSnsToNextVersion' : IDL.Record({}),\n 'RegisterDappCanisters' : RegisterDappCanisters,\n 'TransferSnsTreasuryFunds' : TransferSnsTreasuryFunds,\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'DeregisterDappCanisters' : DeregisterDappCanisters,\n 'MintSnsTokens' : MintSnsTokens,\n 'Unspecified' : IDL.Record({}),\n 'ManageSnsMetadata' : ManageSnsMetadata,\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'ManageLedgerParameters' : ManageLedgerParameters,\n 'Motion' : Motion,\n });\n const Proposal = IDL.Record({\n 'url' : IDL.Text,\n 'title' : IDL.Text,\n 'action' : IDL.Opt(Action),\n 'summary' : IDL.Text,\n });\n const WaitForQuietState = IDL.Record({\n 'current_deadline_timestamp_seconds' : IDL.Nat64,\n });\n const ProposalData = IDL.Record({\n 'id' : IDL.Opt(ProposalId),\n 'payload_text_rendering' : IDL.Opt(IDL.Text),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'action_auxiliary' : IDL.Opt(ActionAuxiliary),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'minimum_yes_proportion_of_total' : IDL.Opt(Percentage),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'reward_event_end_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'proposal_creation_timestamp_seconds' : IDL.Nat64,\n 'initial_voting_period_seconds' : IDL.Nat64,\n 'reject_cost_e8s' : IDL.Nat64,\n 'latest_tally' : IDL.Opt(Tally),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Nat64,\n 'decided_timestamp_seconds' : IDL.Nat64,\n 'proposal' : IDL.Opt(Proposal),\n 'proposer' : IDL.Opt(NeuronId),\n 'wait_for_quiet_state' : IDL.Opt(WaitForQuietState),\n 'minimum_yes_proportion_of_exercised' : IDL.Opt(Percentage),\n 'is_eligible_for_rewards' : IDL.Bool,\n 'executed_timestamp_seconds' : IDL.Nat64,\n });\n const Split = IDL.Record({ 'memo' : IDL.Nat64, 'amount_e8s' : IDL.Nat64 });\n const Follow = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'followees' : IDL.Vec(NeuronId),\n });\n const DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const ChangeAutoStakeMaturity = IDL.Record({\n 'requested_setting_for_auto_stake_maturity' : IDL.Bool,\n });\n const IncreaseDissolveDelay = IDL.Record({\n 'additional_dissolve_delay_seconds' : IDL.Nat32,\n });\n const SetDissolveTimestamp = IDL.Record({\n 'dissolve_timestamp_seconds' : IDL.Nat64,\n });\n const Operation = IDL.Variant({\n 'ChangeAutoStakeMaturity' : ChangeAutoStakeMaturity,\n 'StopDissolving' : IDL.Record({}),\n 'StartDissolving' : IDL.Record({}),\n 'IncreaseDissolveDelay' : IncreaseDissolveDelay,\n 'SetDissolveTimestamp' : SetDissolveTimestamp,\n });\n const Configure = IDL.Record({ 'operation' : IDL.Opt(Operation) });\n const RegisterVote = IDL.Record({\n 'vote' : IDL.Int32,\n 'proposal' : IDL.Opt(ProposalId),\n });\n const FinalizeDisburseMaturity = IDL.Record({\n 'amount_to_be_disbursed_e8s' : IDL.Nat64,\n 'to_account' : IDL.Opt(Account),\n });\n const MemoAndController = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'memo' : IDL.Nat64,\n });\n const By = IDL.Variant({\n 'MemoAndController' : MemoAndController,\n 'NeuronId' : IDL.Record({}),\n });\n const ClaimOrRefresh = IDL.Record({ 'by' : IDL.Opt(By) });\n const RemoveNeuronPermissions = IDL.Record({\n 'permissions_to_remove' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const AddNeuronPermissions = IDL.Record({\n 'permissions_to_add' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const MergeMaturity = IDL.Record({ 'percentage_to_merge' : IDL.Nat32 });\n const Amount = IDL.Record({ 'e8s' : IDL.Nat64 });\n const Disburse = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'amount' : IDL.Opt(Amount),\n });\n const Command_2 = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'SyncCommand' : IDL.Record({}),\n 'MakeProposal' : Proposal,\n 'FinalizeDisburseMaturity' : FinalizeDisburseMaturity,\n 'ClaimOrRefreshNeuron' : ClaimOrRefresh,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const NeuronInFlightCommand = IDL.Record({\n 'command' : IDL.Opt(Command_2),\n 'timestamp' : IDL.Nat64,\n });\n const NeuronPermission = IDL.Record({\n 'principal' : IDL.Opt(IDL.Principal),\n 'permission_type' : IDL.Vec(IDL.Int32),\n });\n const DissolveState = IDL.Variant({\n 'DissolveDelaySeconds' : IDL.Nat64,\n 'WhenDissolvedTimestampSeconds' : IDL.Nat64,\n });\n const DisburseMaturityInProgress = IDL.Record({\n 'timestamp_of_disbursement_seconds' : IDL.Nat64,\n 'amount_e8s' : IDL.Nat64,\n 'account_to_disburse_to' : IDL.Opt(Account),\n 'finalize_disbursement_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'staked_maturity_e8s_equivalent' : IDL.Opt(IDL.Nat64),\n 'permissions' : IDL.Vec(NeuronPermission),\n 'maturity_e8s_equivalent' : IDL.Nat64,\n 'cached_neuron_stake_e8s' : IDL.Nat64,\n 'created_timestamp_seconds' : IDL.Nat64,\n 'source_nns_neuron_id' : IDL.Opt(IDL.Nat64),\n 'auto_stake_maturity' : IDL.Opt(IDL.Bool),\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'voting_power_percentage_multiplier' : IDL.Nat64,\n 'vesting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'disburse_maturity_in_progress' : IDL.Vec(DisburseMaturityInProgress),\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n 'neuron_fees_e8s' : IDL.Nat64,\n });\n const Governance = IDL.Record({\n 'root_canister_id' : IDL.Opt(IDL.Principal),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'maturity_modulation' : IDL.Opt(MaturityModulation),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'is_finalizing_disburse_maturity' : IDL.Opt(IDL.Bool),\n 'deployed_version' : IDL.Opt(Version),\n 'sns_initialization_parameters' : IDL.Text,\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'pending_version' : IDL.Opt(UpgradeInProgress),\n 'swap_canister_id' : IDL.Opt(IDL.Principal),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'proposals' : IDL.Vec(IDL.Tuple(IDL.Nat64, ProposalData)),\n 'in_flight_commands' : IDL.Vec(IDL.Tuple(IDL.Text, NeuronInFlightCommand)),\n 'sns_metadata' : IDL.Opt(ManageSnsMetadata),\n 'neurons' : IDL.Vec(IDL.Tuple(IDL.Text, Neuron)),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n return [Governance];\n};\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_governance.did */\nexport const idlFactory = ({ IDL }) => {\n const GenericNervousSystemFunction = IDL.Record({\n 'validator_canister_id' : IDL.Opt(IDL.Principal),\n 'target_canister_id' : IDL.Opt(IDL.Principal),\n 'validator_method_name' : IDL.Opt(IDL.Text),\n 'target_method_name' : IDL.Opt(IDL.Text),\n });\n const FunctionType = IDL.Variant({\n 'NativeNervousSystemFunction' : IDL.Record({}),\n 'GenericNervousSystemFunction' : GenericNervousSystemFunction,\n });\n const NervousSystemFunction = IDL.Record({\n 'id' : IDL.Nat64,\n 'name' : IDL.Text,\n 'description' : IDL.Opt(IDL.Text),\n 'function_type' : IDL.Opt(FunctionType),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const MaturityModulation = IDL.Record({\n 'current_basis_points' : IDL.Opt(IDL.Int32),\n 'updated_at_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const NeuronId = IDL.Record({ 'id' : IDL.Vec(IDL.Nat8) });\n const Followees = IDL.Record({ 'followees' : IDL.Vec(NeuronId) });\n const DefaultFollowees = IDL.Record({\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n });\n const NeuronPermissionList = IDL.Record({\n 'permissions' : IDL.Vec(IDL.Int32),\n });\n const VotingRewardsParameters = IDL.Record({\n 'final_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'initial_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'reward_rate_transition_duration_seconds' : IDL.Opt(IDL.Nat64),\n 'round_duration_seconds' : IDL.Opt(IDL.Nat64),\n });\n const NervousSystemParameters = IDL.Record({\n 'default_followees' : IDL.Opt(DefaultFollowees),\n 'max_dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'max_dissolve_delay_bonus_percentage' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'neuron_claimer_permissions' : IDL.Opt(NeuronPermissionList),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'max_neuron_age_for_age_bonus' : IDL.Opt(IDL.Nat64),\n 'initial_voting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_dissolve_delay_to_vote_seconds' : IDL.Opt(IDL.Nat64),\n 'reject_cost_e8s' : IDL.Opt(IDL.Nat64),\n 'max_proposals_to_keep_per_action' : IDL.Opt(IDL.Nat32),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Opt(IDL.Nat64),\n 'max_number_of_neurons' : IDL.Opt(IDL.Nat64),\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'max_number_of_proposals_with_ballots' : IDL.Opt(IDL.Nat64),\n 'max_age_bonus_percentage' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'voting_rewards_parameters' : IDL.Opt(VotingRewardsParameters),\n 'maturity_modulation_disabled' : IDL.Opt(IDL.Bool),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const Version = IDL.Record({\n 'archive_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'root_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'swap_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'ledger_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'governance_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'index_wasm_hash' : IDL.Vec(IDL.Nat8),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const RewardEvent = IDL.Record({\n 'rounds_since_last_distribution' : IDL.Opt(IDL.Nat64),\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'end_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'round' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const UpgradeInProgress = IDL.Record({\n 'mark_failed_at_seconds' : IDL.Nat64,\n 'checking_upgrade_lock' : IDL.Nat64,\n 'proposal_id' : IDL.Nat64,\n 'target_version' : IDL.Opt(Version),\n });\n const GovernanceError = IDL.Record({\n 'error_message' : IDL.Text,\n 'error_type' : IDL.Int32,\n });\n const Subaccount = IDL.Record({ 'subaccount' : IDL.Vec(IDL.Nat8) });\n const Account = IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(Subaccount),\n });\n const Decimal = IDL.Record({ 'human_readable' : IDL.Opt(IDL.Text) });\n const Tokens = IDL.Record({ 'e8s' : IDL.Opt(IDL.Nat64) });\n const ValuationFactors = IDL.Record({\n 'xdrs_per_icp' : IDL.Opt(Decimal),\n 'icps_per_token' : IDL.Opt(Decimal),\n 'tokens' : IDL.Opt(Tokens),\n });\n const Valuation = IDL.Record({\n 'token' : IDL.Opt(IDL.Int32),\n 'account' : IDL.Opt(Account),\n 'valuation_factors' : IDL.Opt(ValuationFactors),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const MintSnsTokensActionAuxiliary = IDL.Record({\n 'valuation' : IDL.Opt(Valuation),\n });\n const ActionAuxiliary = IDL.Variant({\n 'TransferSnsTreasuryFunds' : MintSnsTokensActionAuxiliary,\n 'MintSnsTokens' : MintSnsTokensActionAuxiliary,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Percentage = IDL.Record({ 'basis_points' : IDL.Opt(IDL.Nat64) });\n const Tally = IDL.Record({\n 'no' : IDL.Nat64,\n 'yes' : IDL.Nat64,\n 'total' : IDL.Nat64,\n 'timestamp_seconds' : IDL.Nat64,\n });\n const ManageDappCanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Opt(IDL.Nat64),\n 'canister_ids' : IDL.Vec(IDL.Principal),\n 'reserved_cycles_limit' : IDL.Opt(IDL.Nat64),\n 'log_visibility' : IDL.Opt(IDL.Int32),\n 'memory_allocation' : IDL.Opt(IDL.Nat64),\n 'compute_allocation' : IDL.Opt(IDL.Nat64),\n });\n const RegisterDappCanisters = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n });\n const TransferSnsTreasuryFunds = IDL.Record({\n 'from_treasury' : IDL.Int32,\n 'to_principal' : IDL.Opt(IDL.Principal),\n 'to_subaccount' : IDL.Opt(Subaccount),\n 'memo' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'mode' : IDL.Opt(IDL.Int32),\n 'canister_id' : IDL.Opt(IDL.Principal),\n 'canister_upgrade_arg' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const DeregisterDappCanisters = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n 'new_controllers' : IDL.Vec(IDL.Principal),\n });\n const MintSnsTokens = IDL.Record({\n 'to_principal' : IDL.Opt(IDL.Principal),\n 'to_subaccount' : IDL.Opt(Subaccount),\n 'memo' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n });\n const ManageSnsMetadata = IDL.Record({\n 'url' : IDL.Opt(IDL.Text),\n 'logo' : IDL.Opt(IDL.Text),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n });\n const ExecuteGenericNervousSystemFunction = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'payload' : IDL.Vec(IDL.Nat8),\n });\n const ManageLedgerParameters = IDL.Record({\n 'transfer_fee' : IDL.Opt(IDL.Nat64),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'ManageDappCanisterSettings' : ManageDappCanisterSettings,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'UpgradeSnsToNextVersion' : IDL.Record({}),\n 'RegisterDappCanisters' : RegisterDappCanisters,\n 'TransferSnsTreasuryFunds' : TransferSnsTreasuryFunds,\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'DeregisterDappCanisters' : DeregisterDappCanisters,\n 'MintSnsTokens' : MintSnsTokens,\n 'Unspecified' : IDL.Record({}),\n 'ManageSnsMetadata' : ManageSnsMetadata,\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'ManageLedgerParameters' : ManageLedgerParameters,\n 'Motion' : Motion,\n });\n const Proposal = IDL.Record({\n 'url' : IDL.Text,\n 'title' : IDL.Text,\n 'action' : IDL.Opt(Action),\n 'summary' : IDL.Text,\n });\n const WaitForQuietState = IDL.Record({\n 'current_deadline_timestamp_seconds' : IDL.Nat64,\n });\n const ProposalData = IDL.Record({\n 'id' : IDL.Opt(ProposalId),\n 'payload_text_rendering' : IDL.Opt(IDL.Text),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'action_auxiliary' : IDL.Opt(ActionAuxiliary),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'minimum_yes_proportion_of_total' : IDL.Opt(Percentage),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'reward_event_end_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'proposal_creation_timestamp_seconds' : IDL.Nat64,\n 'initial_voting_period_seconds' : IDL.Nat64,\n 'reject_cost_e8s' : IDL.Nat64,\n 'latest_tally' : IDL.Opt(Tally),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Nat64,\n 'decided_timestamp_seconds' : IDL.Nat64,\n 'proposal' : IDL.Opt(Proposal),\n 'proposer' : IDL.Opt(NeuronId),\n 'wait_for_quiet_state' : IDL.Opt(WaitForQuietState),\n 'minimum_yes_proportion_of_exercised' : IDL.Opt(Percentage),\n 'is_eligible_for_rewards' : IDL.Bool,\n 'executed_timestamp_seconds' : IDL.Nat64,\n });\n const Split = IDL.Record({ 'memo' : IDL.Nat64, 'amount_e8s' : IDL.Nat64 });\n const Follow = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'followees' : IDL.Vec(NeuronId),\n });\n const DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const ChangeAutoStakeMaturity = IDL.Record({\n 'requested_setting_for_auto_stake_maturity' : IDL.Bool,\n });\n const IncreaseDissolveDelay = IDL.Record({\n 'additional_dissolve_delay_seconds' : IDL.Nat32,\n });\n const SetDissolveTimestamp = IDL.Record({\n 'dissolve_timestamp_seconds' : IDL.Nat64,\n });\n const Operation = IDL.Variant({\n 'ChangeAutoStakeMaturity' : ChangeAutoStakeMaturity,\n 'StopDissolving' : IDL.Record({}),\n 'StartDissolving' : IDL.Record({}),\n 'IncreaseDissolveDelay' : IncreaseDissolveDelay,\n 'SetDissolveTimestamp' : SetDissolveTimestamp,\n });\n const Configure = IDL.Record({ 'operation' : IDL.Opt(Operation) });\n const RegisterVote = IDL.Record({\n 'vote' : IDL.Int32,\n 'proposal' : IDL.Opt(ProposalId),\n });\n const FinalizeDisburseMaturity = IDL.Record({\n 'amount_to_be_disbursed_e8s' : IDL.Nat64,\n 'to_account' : IDL.Opt(Account),\n });\n const MemoAndController = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'memo' : IDL.Nat64,\n });\n const By = IDL.Variant({\n 'MemoAndController' : MemoAndController,\n 'NeuronId' : IDL.Record({}),\n });\n const ClaimOrRefresh = IDL.Record({ 'by' : IDL.Opt(By) });\n const RemoveNeuronPermissions = IDL.Record({\n 'permissions_to_remove' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const AddNeuronPermissions = IDL.Record({\n 'permissions_to_add' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const MergeMaturity = IDL.Record({ 'percentage_to_merge' : IDL.Nat32 });\n const Amount = IDL.Record({ 'e8s' : IDL.Nat64 });\n const Disburse = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'amount' : IDL.Opt(Amount),\n });\n const Command_2 = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'SyncCommand' : IDL.Record({}),\n 'MakeProposal' : Proposal,\n 'FinalizeDisburseMaturity' : FinalizeDisburseMaturity,\n 'ClaimOrRefreshNeuron' : ClaimOrRefresh,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const NeuronInFlightCommand = IDL.Record({\n 'command' : IDL.Opt(Command_2),\n 'timestamp' : IDL.Nat64,\n });\n const NeuronPermission = IDL.Record({\n 'principal' : IDL.Opt(IDL.Principal),\n 'permission_type' : IDL.Vec(IDL.Int32),\n });\n const DissolveState = IDL.Variant({\n 'DissolveDelaySeconds' : IDL.Nat64,\n 'WhenDissolvedTimestampSeconds' : IDL.Nat64,\n });\n const DisburseMaturityInProgress = IDL.Record({\n 'timestamp_of_disbursement_seconds' : IDL.Nat64,\n 'amount_e8s' : IDL.Nat64,\n 'account_to_disburse_to' : IDL.Opt(Account),\n 'finalize_disbursement_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'staked_maturity_e8s_equivalent' : IDL.Opt(IDL.Nat64),\n 'permissions' : IDL.Vec(NeuronPermission),\n 'maturity_e8s_equivalent' : IDL.Nat64,\n 'cached_neuron_stake_e8s' : IDL.Nat64,\n 'created_timestamp_seconds' : IDL.Nat64,\n 'source_nns_neuron_id' : IDL.Opt(IDL.Nat64),\n 'auto_stake_maturity' : IDL.Opt(IDL.Bool),\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'voting_power_percentage_multiplier' : IDL.Nat64,\n 'vesting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'disburse_maturity_in_progress' : IDL.Vec(DisburseMaturityInProgress),\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n 'neuron_fees_e8s' : IDL.Nat64,\n });\n const Governance = IDL.Record({\n 'root_canister_id' : IDL.Opt(IDL.Principal),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'maturity_modulation' : IDL.Opt(MaturityModulation),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'is_finalizing_disburse_maturity' : IDL.Opt(IDL.Bool),\n 'deployed_version' : IDL.Opt(Version),\n 'sns_initialization_parameters' : IDL.Text,\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'pending_version' : IDL.Opt(UpgradeInProgress),\n 'swap_canister_id' : IDL.Opt(IDL.Principal),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'proposals' : IDL.Vec(IDL.Tuple(IDL.Nat64, ProposalData)),\n 'in_flight_commands' : IDL.Vec(IDL.Tuple(IDL.Text, NeuronInFlightCommand)),\n 'sns_metadata' : IDL.Opt(ManageSnsMetadata),\n 'neurons' : IDL.Vec(IDL.Tuple(IDL.Text, Neuron)),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n const NeuronParameters = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'source_nns_neuron_id' : IDL.Opt(IDL.Nat64),\n 'stake_e8s' : IDL.Opt(IDL.Nat64),\n 'followees' : IDL.Vec(NeuronId),\n 'hotkey' : IDL.Opt(IDL.Principal),\n 'neuron_id' : IDL.Opt(NeuronId),\n });\n const ClaimSwapNeuronsRequest = IDL.Record({\n 'neuron_parameters' : IDL.Vec(NeuronParameters),\n });\n const SwapNeuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'status' : IDL.Int32,\n });\n const ClaimedSwapNeurons = IDL.Record({\n 'swap_neurons' : IDL.Vec(SwapNeuron),\n });\n const ClaimSwapNeuronsResult = IDL.Variant({\n 'Ok' : ClaimedSwapNeurons,\n 'Err' : IDL.Int32,\n });\n const ClaimSwapNeuronsResponse = IDL.Record({\n 'claim_swap_neurons_result' : IDL.Opt(ClaimSwapNeuronsResult),\n });\n const GetMaturityModulationResponse = IDL.Record({\n 'maturity_modulation' : IDL.Opt(MaturityModulation),\n });\n const GetMetadataResponse = IDL.Record({\n 'url' : IDL.Opt(IDL.Text),\n 'logo' : IDL.Opt(IDL.Text),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n });\n const GetModeResponse = IDL.Record({ 'mode' : IDL.Opt(IDL.Int32) });\n const GetNeuron = IDL.Record({ 'neuron_id' : IDL.Opt(NeuronId) });\n const Result = IDL.Variant({ 'Error' : GovernanceError, 'Neuron' : Neuron });\n const GetNeuronResponse = IDL.Record({ 'result' : IDL.Opt(Result) });\n const GetProposal = IDL.Record({ 'proposal_id' : IDL.Opt(ProposalId) });\n const Result_1 = IDL.Variant({\n 'Error' : GovernanceError,\n 'Proposal' : ProposalData,\n });\n const GetProposalResponse = IDL.Record({ 'result' : IDL.Opt(Result_1) });\n const CanisterStatusType = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const DefiniteCanisterSettingsArgs = IDL.Record({\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const CanisterStatusResultV2 = IDL.Record({\n 'status' : CanisterStatusType,\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettingsArgs,\n 'idle_cycles_burned_per_day' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const GetRunningSnsVersionResponse = IDL.Record({\n 'deployed_version' : IDL.Opt(Version),\n 'pending_version' : IDL.Opt(UpgradeInProgress),\n });\n const GetSnsInitializationParametersResponse = IDL.Record({\n 'sns_initialization_parameters' : IDL.Text,\n });\n const ListNervousSystemFunctionsResponse = IDL.Record({\n 'reserved_ids' : IDL.Vec(IDL.Nat64),\n 'functions' : IDL.Vec(NervousSystemFunction),\n });\n const ListNeurons = IDL.Record({\n 'of_principal' : IDL.Opt(IDL.Principal),\n 'limit' : IDL.Nat32,\n 'start_page_at' : IDL.Opt(NeuronId),\n });\n const ListNeuronsResponse = IDL.Record({ 'neurons' : IDL.Vec(Neuron) });\n const ListProposals = IDL.Record({\n 'include_reward_status' : IDL.Vec(IDL.Int32),\n 'before_proposal' : IDL.Opt(ProposalId),\n 'limit' : IDL.Nat32,\n 'exclude_type' : IDL.Vec(IDL.Nat64),\n 'include_status' : IDL.Vec(IDL.Int32),\n });\n const ListProposalsResponse = IDL.Record({\n 'include_ballots_by_caller' : IDL.Opt(IDL.Bool),\n 'proposals' : IDL.Vec(ProposalData),\n });\n const StakeMaturity = IDL.Record({\n 'percentage_to_stake' : IDL.Opt(IDL.Nat32),\n });\n const Command = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'ClaimOrRefresh' : ClaimOrRefresh,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'StakeMaturity' : StakeMaturity,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const ManageNeuron = IDL.Record({\n 'subaccount' : IDL.Vec(IDL.Nat8),\n 'command' : IDL.Opt(Command),\n });\n const SplitResponse = IDL.Record({ 'created_neuron_id' : IDL.Opt(NeuronId) });\n const DisburseMaturityResponse = IDL.Record({\n 'amount_disbursed_e8s' : IDL.Nat64,\n 'amount_deducted_e8s' : IDL.Opt(IDL.Nat64),\n });\n const ClaimOrRefreshResponse = IDL.Record({\n 'refreshed_neuron_id' : IDL.Opt(NeuronId),\n });\n const StakeMaturityResponse = IDL.Record({\n 'maturity_e8s' : IDL.Nat64,\n 'staked_maturity_e8s' : IDL.Nat64,\n });\n const MergeMaturityResponse = IDL.Record({\n 'merged_maturity_e8s' : IDL.Nat64,\n 'new_stake_e8s' : IDL.Nat64,\n });\n const DisburseResponse = IDL.Record({ 'transfer_block_height' : IDL.Nat64 });\n const Command_1 = IDL.Variant({\n 'Error' : GovernanceError,\n 'Split' : SplitResponse,\n 'Follow' : IDL.Record({}),\n 'DisburseMaturity' : DisburseMaturityResponse,\n 'ClaimOrRefresh' : ClaimOrRefreshResponse,\n 'Configure' : IDL.Record({}),\n 'RegisterVote' : IDL.Record({}),\n 'MakeProposal' : GetProposal,\n 'RemoveNeuronPermission' : IDL.Record({}),\n 'StakeMaturity' : StakeMaturityResponse,\n 'MergeMaturity' : MergeMaturityResponse,\n 'Disburse' : DisburseResponse,\n 'AddNeuronPermission' : IDL.Record({}),\n });\n const ManageNeuronResponse = IDL.Record({ 'command' : IDL.Opt(Command_1) });\n const SetMode = IDL.Record({ 'mode' : IDL.Int32 });\n return IDL.Service({\n 'claim_swap_neurons' : IDL.Func(\n [ClaimSwapNeuronsRequest],\n [ClaimSwapNeuronsResponse],\n [],\n ),\n 'fail_stuck_upgrade_in_progress' : IDL.Func(\n [IDL.Record({})],\n [IDL.Record({})],\n [],\n ),\n 'get_build_metadata' : IDL.Func([], [IDL.Text], ['query']),\n 'get_latest_reward_event' : IDL.Func([], [RewardEvent], ['query']),\n 'get_maturity_modulation' : IDL.Func(\n [IDL.Record({})],\n [GetMaturityModulationResponse],\n [],\n ),\n 'get_metadata' : IDL.Func(\n [IDL.Record({})],\n [GetMetadataResponse],\n ['query'],\n ),\n 'get_mode' : IDL.Func([IDL.Record({})], [GetModeResponse], ['query']),\n 'get_nervous_system_parameters' : IDL.Func(\n [IDL.Null],\n [NervousSystemParameters],\n ['query'],\n ),\n 'get_neuron' : IDL.Func([GetNeuron], [GetNeuronResponse], ['query']),\n 'get_proposal' : IDL.Func([GetProposal], [GetProposalResponse], ['query']),\n 'get_root_canister_status' : IDL.Func(\n [IDL.Null],\n [CanisterStatusResultV2],\n [],\n ),\n 'get_running_sns_version' : IDL.Func(\n [IDL.Record({})],\n [GetRunningSnsVersionResponse],\n ['query'],\n ),\n 'get_sns_initialization_parameters' : IDL.Func(\n [IDL.Record({})],\n [GetSnsInitializationParametersResponse],\n ['query'],\n ),\n 'list_nervous_system_functions' : IDL.Func(\n [],\n [ListNervousSystemFunctionsResponse],\n ['query'],\n ),\n 'list_neurons' : IDL.Func([ListNeurons], [ListNeuronsResponse], ['query']),\n 'list_proposals' : IDL.Func(\n [ListProposals],\n [ListProposalsResponse],\n ['query'],\n ),\n 'manage_neuron' : IDL.Func([ManageNeuron], [ManageNeuronResponse], []),\n 'set_mode' : IDL.Func([SetMode], [IDL.Record({})], []),\n });\n};\nexport const init = ({ IDL }) => {\n const GenericNervousSystemFunction = IDL.Record({\n 'validator_canister_id' : IDL.Opt(IDL.Principal),\n 'target_canister_id' : IDL.Opt(IDL.Principal),\n 'validator_method_name' : IDL.Opt(IDL.Text),\n 'target_method_name' : IDL.Opt(IDL.Text),\n });\n const FunctionType = IDL.Variant({\n 'NativeNervousSystemFunction' : IDL.Record({}),\n 'GenericNervousSystemFunction' : GenericNervousSystemFunction,\n });\n const NervousSystemFunction = IDL.Record({\n 'id' : IDL.Nat64,\n 'name' : IDL.Text,\n 'description' : IDL.Opt(IDL.Text),\n 'function_type' : IDL.Opt(FunctionType),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const MaturityModulation = IDL.Record({\n 'current_basis_points' : IDL.Opt(IDL.Int32),\n 'updated_at_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const NeuronId = IDL.Record({ 'id' : IDL.Vec(IDL.Nat8) });\n const Followees = IDL.Record({ 'followees' : IDL.Vec(NeuronId) });\n const DefaultFollowees = IDL.Record({\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n });\n const NeuronPermissionList = IDL.Record({\n 'permissions' : IDL.Vec(IDL.Int32),\n });\n const VotingRewardsParameters = IDL.Record({\n 'final_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'initial_reward_rate_basis_points' : IDL.Opt(IDL.Nat64),\n 'reward_rate_transition_duration_seconds' : IDL.Opt(IDL.Nat64),\n 'round_duration_seconds' : IDL.Opt(IDL.Nat64),\n });\n const NervousSystemParameters = IDL.Record({\n 'default_followees' : IDL.Opt(DefaultFollowees),\n 'max_dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'max_dissolve_delay_bonus_percentage' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'neuron_claimer_permissions' : IDL.Opt(NeuronPermissionList),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'max_neuron_age_for_age_bonus' : IDL.Opt(IDL.Nat64),\n 'initial_voting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_dissolve_delay_to_vote_seconds' : IDL.Opt(IDL.Nat64),\n 'reject_cost_e8s' : IDL.Opt(IDL.Nat64),\n 'max_proposals_to_keep_per_action' : IDL.Opt(IDL.Nat32),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Opt(IDL.Nat64),\n 'max_number_of_neurons' : IDL.Opt(IDL.Nat64),\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'max_number_of_proposals_with_ballots' : IDL.Opt(IDL.Nat64),\n 'max_age_bonus_percentage' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'voting_rewards_parameters' : IDL.Opt(VotingRewardsParameters),\n 'maturity_modulation_disabled' : IDL.Opt(IDL.Bool),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const Version = IDL.Record({\n 'archive_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'root_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'swap_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'ledger_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'governance_wasm_hash' : IDL.Vec(IDL.Nat8),\n 'index_wasm_hash' : IDL.Vec(IDL.Nat8),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const RewardEvent = IDL.Record({\n 'rounds_since_last_distribution' : IDL.Opt(IDL.Nat64),\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'end_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'round' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const UpgradeInProgress = IDL.Record({\n 'mark_failed_at_seconds' : IDL.Nat64,\n 'checking_upgrade_lock' : IDL.Nat64,\n 'proposal_id' : IDL.Nat64,\n 'target_version' : IDL.Opt(Version),\n });\n const GovernanceError = IDL.Record({\n 'error_message' : IDL.Text,\n 'error_type' : IDL.Int32,\n });\n const Subaccount = IDL.Record({ 'subaccount' : IDL.Vec(IDL.Nat8) });\n const Account = IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(Subaccount),\n });\n const Decimal = IDL.Record({ 'human_readable' : IDL.Opt(IDL.Text) });\n const Tokens = IDL.Record({ 'e8s' : IDL.Opt(IDL.Nat64) });\n const ValuationFactors = IDL.Record({\n 'xdrs_per_icp' : IDL.Opt(Decimal),\n 'icps_per_token' : IDL.Opt(Decimal),\n 'tokens' : IDL.Opt(Tokens),\n });\n const Valuation = IDL.Record({\n 'token' : IDL.Opt(IDL.Int32),\n 'account' : IDL.Opt(Account),\n 'valuation_factors' : IDL.Opt(ValuationFactors),\n 'timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const MintSnsTokensActionAuxiliary = IDL.Record({\n 'valuation' : IDL.Opt(Valuation),\n });\n const ActionAuxiliary = IDL.Variant({\n 'TransferSnsTreasuryFunds' : MintSnsTokensActionAuxiliary,\n 'MintSnsTokens' : MintSnsTokensActionAuxiliary,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Percentage = IDL.Record({ 'basis_points' : IDL.Opt(IDL.Nat64) });\n const Tally = IDL.Record({\n 'no' : IDL.Nat64,\n 'yes' : IDL.Nat64,\n 'total' : IDL.Nat64,\n 'timestamp_seconds' : IDL.Nat64,\n });\n const ManageDappCanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Opt(IDL.Nat64),\n 'canister_ids' : IDL.Vec(IDL.Principal),\n 'reserved_cycles_limit' : IDL.Opt(IDL.Nat64),\n 'log_visibility' : IDL.Opt(IDL.Int32),\n 'memory_allocation' : IDL.Opt(IDL.Nat64),\n 'compute_allocation' : IDL.Opt(IDL.Nat64),\n });\n const RegisterDappCanisters = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n });\n const TransferSnsTreasuryFunds = IDL.Record({\n 'from_treasury' : IDL.Int32,\n 'to_principal' : IDL.Opt(IDL.Principal),\n 'to_subaccount' : IDL.Opt(Subaccount),\n 'memo' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'mode' : IDL.Opt(IDL.Int32),\n 'canister_id' : IDL.Opt(IDL.Principal),\n 'canister_upgrade_arg' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const DeregisterDappCanisters = IDL.Record({\n 'canister_ids' : IDL.Vec(IDL.Principal),\n 'new_controllers' : IDL.Vec(IDL.Principal),\n });\n const MintSnsTokens = IDL.Record({\n 'to_principal' : IDL.Opt(IDL.Principal),\n 'to_subaccount' : IDL.Opt(Subaccount),\n 'memo' : IDL.Opt(IDL.Nat64),\n 'amount_e8s' : IDL.Opt(IDL.Nat64),\n });\n const ManageSnsMetadata = IDL.Record({\n 'url' : IDL.Opt(IDL.Text),\n 'logo' : IDL.Opt(IDL.Text),\n 'name' : IDL.Opt(IDL.Text),\n 'description' : IDL.Opt(IDL.Text),\n });\n const ExecuteGenericNervousSystemFunction = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'payload' : IDL.Vec(IDL.Nat8),\n });\n const ManageLedgerParameters = IDL.Record({\n 'transfer_fee' : IDL.Opt(IDL.Nat64),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'ManageDappCanisterSettings' : ManageDappCanisterSettings,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'UpgradeSnsToNextVersion' : IDL.Record({}),\n 'RegisterDappCanisters' : RegisterDappCanisters,\n 'TransferSnsTreasuryFunds' : TransferSnsTreasuryFunds,\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'DeregisterDappCanisters' : DeregisterDappCanisters,\n 'MintSnsTokens' : MintSnsTokens,\n 'Unspecified' : IDL.Record({}),\n 'ManageSnsMetadata' : ManageSnsMetadata,\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'ManageLedgerParameters' : ManageLedgerParameters,\n 'Motion' : Motion,\n });\n const Proposal = IDL.Record({\n 'url' : IDL.Text,\n 'title' : IDL.Text,\n 'action' : IDL.Opt(Action),\n 'summary' : IDL.Text,\n });\n const WaitForQuietState = IDL.Record({\n 'current_deadline_timestamp_seconds' : IDL.Nat64,\n });\n const ProposalData = IDL.Record({\n 'id' : IDL.Opt(ProposalId),\n 'payload_text_rendering' : IDL.Opt(IDL.Text),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'action_auxiliary' : IDL.Opt(ActionAuxiliary),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'minimum_yes_proportion_of_total' : IDL.Opt(Percentage),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'reward_event_end_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n 'proposal_creation_timestamp_seconds' : IDL.Nat64,\n 'initial_voting_period_seconds' : IDL.Nat64,\n 'reject_cost_e8s' : IDL.Nat64,\n 'latest_tally' : IDL.Opt(Tally),\n 'wait_for_quiet_deadline_increase_seconds' : IDL.Nat64,\n 'decided_timestamp_seconds' : IDL.Nat64,\n 'proposal' : IDL.Opt(Proposal),\n 'proposer' : IDL.Opt(NeuronId),\n 'wait_for_quiet_state' : IDL.Opt(WaitForQuietState),\n 'minimum_yes_proportion_of_exercised' : IDL.Opt(Percentage),\n 'is_eligible_for_rewards' : IDL.Bool,\n 'executed_timestamp_seconds' : IDL.Nat64,\n });\n const Split = IDL.Record({ 'memo' : IDL.Nat64, 'amount_e8s' : IDL.Nat64 });\n const Follow = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'followees' : IDL.Vec(NeuronId),\n });\n const DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const ChangeAutoStakeMaturity = IDL.Record({\n 'requested_setting_for_auto_stake_maturity' : IDL.Bool,\n });\n const IncreaseDissolveDelay = IDL.Record({\n 'additional_dissolve_delay_seconds' : IDL.Nat32,\n });\n const SetDissolveTimestamp = IDL.Record({\n 'dissolve_timestamp_seconds' : IDL.Nat64,\n });\n const Operation = IDL.Variant({\n 'ChangeAutoStakeMaturity' : ChangeAutoStakeMaturity,\n 'StopDissolving' : IDL.Record({}),\n 'StartDissolving' : IDL.Record({}),\n 'IncreaseDissolveDelay' : IncreaseDissolveDelay,\n 'SetDissolveTimestamp' : SetDissolveTimestamp,\n });\n const Configure = IDL.Record({ 'operation' : IDL.Opt(Operation) });\n const RegisterVote = IDL.Record({\n 'vote' : IDL.Int32,\n 'proposal' : IDL.Opt(ProposalId),\n });\n const FinalizeDisburseMaturity = IDL.Record({\n 'amount_to_be_disbursed_e8s' : IDL.Nat64,\n 'to_account' : IDL.Opt(Account),\n });\n const MemoAndController = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'memo' : IDL.Nat64,\n });\n const By = IDL.Variant({\n 'MemoAndController' : MemoAndController,\n 'NeuronId' : IDL.Record({}),\n });\n const ClaimOrRefresh = IDL.Record({ 'by' : IDL.Opt(By) });\n const RemoveNeuronPermissions = IDL.Record({\n 'permissions_to_remove' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const AddNeuronPermissions = IDL.Record({\n 'permissions_to_add' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const MergeMaturity = IDL.Record({ 'percentage_to_merge' : IDL.Nat32 });\n const Amount = IDL.Record({ 'e8s' : IDL.Nat64 });\n const Disburse = IDL.Record({\n 'to_account' : IDL.Opt(Account),\n 'amount' : IDL.Opt(Amount),\n });\n const Command_2 = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'SyncCommand' : IDL.Record({}),\n 'MakeProposal' : Proposal,\n 'FinalizeDisburseMaturity' : FinalizeDisburseMaturity,\n 'ClaimOrRefreshNeuron' : ClaimOrRefresh,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const NeuronInFlightCommand = IDL.Record({\n 'command' : IDL.Opt(Command_2),\n 'timestamp' : IDL.Nat64,\n });\n const NeuronPermission = IDL.Record({\n 'principal' : IDL.Opt(IDL.Principal),\n 'permission_type' : IDL.Vec(IDL.Int32),\n });\n const DissolveState = IDL.Variant({\n 'DissolveDelaySeconds' : IDL.Nat64,\n 'WhenDissolvedTimestampSeconds' : IDL.Nat64,\n });\n const DisburseMaturityInProgress = IDL.Record({\n 'timestamp_of_disbursement_seconds' : IDL.Nat64,\n 'amount_e8s' : IDL.Nat64,\n 'account_to_disburse_to' : IDL.Opt(Account),\n 'finalize_disbursement_timestamp_seconds' : IDL.Opt(IDL.Nat64),\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'staked_maturity_e8s_equivalent' : IDL.Opt(IDL.Nat64),\n 'permissions' : IDL.Vec(NeuronPermission),\n 'maturity_e8s_equivalent' : IDL.Nat64,\n 'cached_neuron_stake_e8s' : IDL.Nat64,\n 'created_timestamp_seconds' : IDL.Nat64,\n 'source_nns_neuron_id' : IDL.Opt(IDL.Nat64),\n 'auto_stake_maturity' : IDL.Opt(IDL.Bool),\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'voting_power_percentage_multiplier' : IDL.Nat64,\n 'vesting_period_seconds' : IDL.Opt(IDL.Nat64),\n 'disburse_maturity_in_progress' : IDL.Vec(DisburseMaturityInProgress),\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n 'neuron_fees_e8s' : IDL.Nat64,\n });\n const Governance = IDL.Record({\n 'root_canister_id' : IDL.Opt(IDL.Principal),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'maturity_modulation' : IDL.Opt(MaturityModulation),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'is_finalizing_disburse_maturity' : IDL.Opt(IDL.Bool),\n 'deployed_version' : IDL.Opt(Version),\n 'sns_initialization_parameters' : IDL.Text,\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'pending_version' : IDL.Opt(UpgradeInProgress),\n 'swap_canister_id' : IDL.Opt(IDL.Principal),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'proposals' : IDL.Vec(IDL.Tuple(IDL.Nat64, ProposalData)),\n 'in_flight_commands' : IDL.Vec(IDL.Tuple(IDL.Text, NeuronInFlightCommand)),\n 'sns_metadata' : IDL.Opt(ManageSnsMetadata),\n 'neurons' : IDL.Vec(IDL.Tuple(IDL.Text, Neuron)),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n return [Governance];\n};\n", "import type { IcrcAccount } from \"@dfinity/ledger-icrc\";\nimport { fromNullable, toNullable } from \"@dfinity/utils\";\nimport type {\n Account,\n Action as ActionCandid,\n Command,\n FunctionType as FunctionTypeCandid,\n GenericNervousSystemFunction as GenericNervousSystemFunctionCandid,\n ListProposals,\n ManageNeuron,\n ManageSnsMetadata as ManageSnsMetadataCandid,\n NervousSystemFunction as NervousSystemFunctionCandid,\n NervousSystemParameters as NervousSystemParametersCandid,\n NeuronId,\n Operation,\n TransferSnsTreasuryFunds as TransferSnsTreasuryFundsCandid,\n UpgradeSnsControlledCanister as UpgradeSnsControlledCanisterCandid,\n VotingRewardsParameters as VotingRewardsParametersCandid,\n} from \"../../candid/sns_governance\";\nimport { DEFAULT_PROPOSALS_LIMIT } from \"../constants/governance.constants\";\nimport type {\n Action,\n FunctionType,\n GenericNervousSystemFunction,\n ManageSnsMetadata,\n NervousSystemFunction,\n NervousSystemParameters,\n TransferSnsTreasuryFunds,\n UpgradeSnsControlledCanister,\n VotingRewardsParameters,\n} from \"../types/actions\";\nimport type {\n SnsClaimOrRefreshArgs,\n SnsDisburseNeuronParams,\n SnsIncreaseDissolveDelayParams,\n SnsListProposalsParams,\n SnsNeuronAutoStakeMaturityParams,\n SnsNeuronDisburseMaturityParams,\n SnsNeuronPermissionsParams,\n SnsNeuronStakeMaturityParams,\n SnsRegisterVoteParams,\n SnsSetDissolveTimestampParams,\n SnsSetTopicFollowees,\n SnsSplitNeuronParams,\n} from \"../types/governance.params\";\n\n// Helper for building `ManageNeuron` structure\nconst toManageNeuronCommand = ({\n neuronId: { id },\n command,\n}: {\n neuronId: NeuronId;\n command: Command;\n}): ManageNeuron => ({\n subaccount: id,\n command: [command],\n});\n\n// Helper for building `ManageNeuron` structure for type `Operation` commands\nconst toManageNeuronConfigureCommand = ({\n neuronId,\n operation,\n}: {\n neuronId: NeuronId;\n operation: Operation;\n}): ManageNeuron =>\n toManageNeuronCommand({\n neuronId,\n command: {\n Configure: {\n operation: [operation],\n },\n },\n });\n\nexport const toCandidAccount = ({\n owner,\n subaccount,\n}: IcrcAccount): Account => ({\n owner: toNullable(owner),\n subaccount: subaccount === undefined ? [] : toNullable({ subaccount }),\n});\n\nexport const toAddPermissionsRequest = ({\n neuronId,\n permissions,\n principal,\n}: SnsNeuronPermissionsParams): ManageNeuron =>\n toManageNeuronCommand({\n neuronId,\n command: {\n AddNeuronPermissions: {\n permissions_to_add: [{ permissions: Int32Array.from(permissions) }],\n principal_id: [principal],\n },\n },\n });\n\nexport const toRemovePermissionsRequest = ({\n neuronId,\n permissions,\n principal,\n}: SnsNeuronPermissionsParams): ManageNeuron =>\n toManageNeuronCommand({\n neuronId,\n command: {\n RemoveNeuronPermissions: {\n permissions_to_remove: [{ permissions: Int32Array.from(permissions) }],\n principal_id: [principal],\n },\n },\n });\n\nexport const toSplitNeuronRequest = ({\n neuronId,\n memo,\n amount: amount_e8s,\n}: SnsSplitNeuronParams): ManageNeuron =>\n toManageNeuronCommand({\n neuronId,\n command: {\n Split: {\n memo,\n amount_e8s,\n },\n },\n });\n\nexport const toDisburseNeuronRequest = ({\n neuronId,\n amount,\n toAccount,\n}: SnsDisburseNeuronParams): ManageNeuron =>\n toManageNeuronCommand({\n neuronId,\n command: {\n Disburse: {\n // currently there is a main account only support\n to_account:\n toAccount === undefined ? [] : toNullable(toCandidAccount(toAccount)),\n amount:\n amount === undefined\n ? []\n : [\n {\n e8s: amount,\n },\n ],\n },\n },\n });\n\nexport const toStartDissolvingNeuronRequest = (\n neuronId: NeuronId,\n): ManageNeuron =>\n toManageNeuronConfigureCommand({\n neuronId,\n operation: { StartDissolving: {} },\n });\n\nexport const toStopDissolvingNeuronRequest = (\n neuronId: NeuronId,\n): ManageNeuron =>\n toManageNeuronConfigureCommand({\n neuronId,\n operation: { StopDissolving: {} },\n });\n\nexport const toStakeMaturityRequest = ({\n neuronId,\n percentageToStake,\n}: SnsNeuronStakeMaturityParams): ManageNeuron =>\n toManageNeuronCommand({\n neuronId,\n command: {\n StakeMaturity: {\n percentage_to_stake: toNullable(percentageToStake),\n },\n },\n });\n\nexport const toDisburseMaturityRequest = ({\n neuronId,\n percentageToDisburse,\n toAccount,\n}: SnsNeuronDisburseMaturityParams): ManageNeuron =>\n toManageNeuronCommand({\n neuronId,\n command: {\n DisburseMaturity: {\n // currently there is a main account only support\n to_account:\n toAccount === undefined ? [] : toNullable(toCandidAccount(toAccount)),\n percentage_to_disburse: percentageToDisburse,\n },\n },\n });\n\nexport const toAutoStakeMaturityNeuronRequest = ({\n neuronId,\n autoStake: requested_setting_for_auto_stake_maturity,\n}: SnsNeuronAutoStakeMaturityParams): ManageNeuron =>\n toManageNeuronConfigureCommand({\n neuronId,\n operation: {\n ChangeAutoStakeMaturity: {\n requested_setting_for_auto_stake_maturity,\n },\n },\n });\n\nexport const toSetDissolveTimestampRequest = ({\n neuronId,\n dissolveTimestampSeconds,\n}: SnsSetDissolveTimestampParams): ManageNeuron =>\n toManageNeuronConfigureCommand({\n neuronId,\n operation: {\n SetDissolveTimestamp: {\n dissolve_timestamp_seconds: dissolveTimestampSeconds,\n },\n },\n });\n\nexport const toIncreaseDissolveDelayRequest = ({\n neuronId,\n additionalDissolveDelaySeconds,\n}: SnsIncreaseDissolveDelayParams): ManageNeuron =>\n toManageNeuronConfigureCommand({\n neuronId,\n operation: {\n IncreaseDissolveDelay: {\n additional_dissolve_delay_seconds: additionalDissolveDelaySeconds,\n },\n },\n });\n\nexport const toFollowRequest = ({\n neuronId,\n functionId,\n followees,\n}: SnsSetTopicFollowees): ManageNeuron => ({\n subaccount: neuronId.id,\n command: [\n {\n Follow: {\n function_id: functionId,\n followees,\n },\n },\n ],\n});\n\nexport const toRegisterVoteRequest = ({\n neuronId,\n proposalId,\n vote,\n}: SnsRegisterVoteParams): ManageNeuron => ({\n subaccount: neuronId.id,\n command: [\n {\n RegisterVote: {\n vote,\n proposal: [proposalId],\n },\n },\n ],\n});\n\nexport const toClaimOrRefreshRequest = ({\n subaccount,\n memo,\n controller,\n}: SnsClaimOrRefreshArgs): ManageNeuron => ({\n subaccount,\n command: [\n {\n ClaimOrRefresh: {\n by: [\n // If memo is not passed, we consider it a neuronId request because the memo is mandatory for MemoAndController\n memo === undefined\n ? { NeuronId: {} }\n : {\n MemoAndController: { memo, controller: toNullable(controller) },\n },\n ],\n },\n },\n ],\n});\n\nexport const toListProposalRequest = ({\n excludeType,\n beforeProposal,\n includeRewardStatus,\n includeStatus,\n limit,\n}: SnsListProposalsParams): ListProposals => ({\n exclude_type: BigUint64Array.from(excludeType ?? []),\n before_proposal: toNullable(beforeProposal),\n include_reward_status: Int32Array.from(includeRewardStatus ?? []),\n include_status: Int32Array.from(includeStatus ?? []),\n limit: limit ?? DEFAULT_PROPOSALS_LIMIT,\n});\n\nexport const fromCandidAction = (action: ActionCandid): Action => {\n if (\"ManageNervousSystemParameters\" in action) {\n return {\n ManageNervousSystemParameters: convertNervousSystemParams(\n action.ManageNervousSystemParameters,\n ),\n };\n }\n\n if (\"AddGenericNervousSystemFunction\" in action) {\n return {\n AddGenericNervousSystemFunction: convertNervousSystemFunction(\n action.AddGenericNervousSystemFunction,\n ),\n };\n }\n\n if (\"RemoveGenericNervousSystemFunction\" in action) {\n return {\n RemoveGenericNervousSystemFunction:\n action.RemoveGenericNervousSystemFunction,\n };\n }\n\n if (\"UpgradeSnsToNextVersion\" in action) {\n return { UpgradeSnsToNextVersion: action.UpgradeSnsToNextVersion };\n }\n\n if (\"RegisterDappCanisters\" in action) {\n return { RegisterDappCanisters: action.RegisterDappCanisters };\n }\n\n if (\"TransferSnsTreasuryFunds\" in action) {\n return {\n TransferSnsTreasuryFunds: convertTransferSnsTreasuryFunds(\n action.TransferSnsTreasuryFunds,\n ),\n };\n }\n\n if (\"UpgradeSnsControlledCanister\" in action) {\n return {\n UpgradeSnsControlledCanister: convertUpgradeSnsControlledCanister(\n action.UpgradeSnsControlledCanister,\n ),\n };\n }\n\n if (\"DeregisterDappCanisters\" in action) {\n return { DeregisterDappCanisters: action.DeregisterDappCanisters };\n }\n\n if (\"Unspecified\" in action) {\n return { Unspecified: action.Unspecified };\n }\n\n if (\"ManageSnsMetadata\" in action) {\n return {\n ManageSnsMetadata: convertManageSnsMetadata(action.ManageSnsMetadata),\n };\n }\n\n if (\"ExecuteGenericNervousSystemFunction\" in action) {\n return {\n ExecuteGenericNervousSystemFunction:\n action.ExecuteGenericNervousSystemFunction,\n };\n }\n\n if (\"Motion\" in action) {\n return { Motion: action.Motion };\n }\n\n throw new Error(`Unknown action type ${JSON.stringify(action)}`);\n};\n\nconst convertManageSnsMetadata = (\n params: ManageSnsMetadataCandid,\n): ManageSnsMetadata => ({\n url: fromNullable(params.url),\n logo: fromNullable(params.logo),\n name: fromNullable(params.name),\n description: fromNullable(params.description),\n});\n\nconst convertUpgradeSnsControlledCanister = (\n params: UpgradeSnsControlledCanisterCandid,\n): UpgradeSnsControlledCanister => ({\n new_canister_wasm: params.new_canister_wasm,\n canister_id: fromNullable(params.canister_id),\n canister_upgrade_arg: fromNullable(params.canister_upgrade_arg),\n mode: fromNullable(params.mode),\n});\n\nconst convertTransferSnsTreasuryFunds = (\n params: TransferSnsTreasuryFundsCandid,\n): TransferSnsTreasuryFunds => ({\n from_treasury: params.from_treasury,\n to_principal: fromNullable(params.to_principal),\n to_subaccount: fromNullable(params.to_subaccount),\n memo: fromNullable(params.memo),\n amount_e8s: params.amount_e8s,\n});\n\nconst convertGenericNervousSystemFunction = (\n params: GenericNervousSystemFunctionCandid,\n): GenericNervousSystemFunction => ({\n validator_canister_id: fromNullable(params.validator_canister_id),\n target_canister_id: fromNullable(params.target_canister_id),\n validator_method_name: fromNullable(params.validator_method_name),\n target_method_name: fromNullable(params.target_method_name),\n});\n\nconst convertFunctionType = (\n params: FunctionTypeCandid | undefined,\n): FunctionType | undefined => {\n if (params === undefined) {\n return undefined;\n }\n\n if (\"NativeNervousSystemFunction\" in params) {\n return { NativeNervousSystemFunction: params.NativeNervousSystemFunction };\n }\n\n if (\"GenericNervousSystemFunction\" in params) {\n return {\n GenericNervousSystemFunction: convertGenericNervousSystemFunction(\n params.GenericNervousSystemFunction,\n ),\n };\n }\n\n throw new Error(`Unknown FunctionType ${JSON.stringify(params)}`);\n};\n\nconst convertNervousSystemFunction = (\n params: NervousSystemFunctionCandid,\n): NervousSystemFunction => ({\n id: params.id,\n name: params.name,\n description: fromNullable(params.description),\n function_type: convertFunctionType(fromNullable(params.function_type)),\n});\n\nconst convertVotingRewardsParameters = (\n params: VotingRewardsParametersCandid | undefined,\n): VotingRewardsParameters | undefined =>\n params && {\n final_reward_rate_basis_points: fromNullable(\n params.final_reward_rate_basis_points,\n ),\n initial_reward_rate_basis_points: fromNullable(\n params.initial_reward_rate_basis_points,\n ),\n reward_rate_transition_duration_seconds: fromNullable(\n params.reward_rate_transition_duration_seconds,\n ),\n round_duration_seconds: fromNullable(params.round_duration_seconds),\n };\n\nconst convertNervousSystemParams = (\n params: NervousSystemParametersCandid,\n): NervousSystemParameters => ({\n default_followees: fromNullable(params.default_followees),\n max_dissolve_delay_seconds: fromNullable(params.max_dissolve_delay_seconds),\n max_dissolve_delay_bonus_percentage: fromNullable(\n params.max_dissolve_delay_bonus_percentage,\n ),\n max_followees_per_function: fromNullable(params.max_followees_per_function),\n neuron_claimer_permissions: fromNullable(params.neuron_claimer_permissions),\n neuron_minimum_stake_e8s: fromNullable(params.neuron_minimum_stake_e8s),\n max_neuron_age_for_age_bonus: fromNullable(\n params.max_neuron_age_for_age_bonus,\n ),\n initial_voting_period_seconds: fromNullable(\n params.initial_voting_period_seconds,\n ),\n neuron_minimum_dissolve_delay_to_vote_seconds: fromNullable(\n params.neuron_minimum_dissolve_delay_to_vote_seconds,\n ),\n reject_cost_e8s: fromNullable(params.reject_cost_e8s),\n max_proposals_to_keep_per_action: fromNullable(\n params.max_proposals_to_keep_per_action,\n ),\n wait_for_quiet_deadline_increase_seconds: fromNullable(\n params.wait_for_quiet_deadline_increase_seconds,\n ),\n max_number_of_neurons: fromNullable(params.max_number_of_neurons),\n transaction_fee_e8s: fromNullable(params.transaction_fee_e8s),\n max_number_of_proposals_with_ballots: fromNullable(\n params.max_number_of_proposals_with_ballots,\n ),\n max_age_bonus_percentage: fromNullable(params.max_age_bonus_percentage),\n neuron_grantable_permissions: fromNullable(\n params.neuron_grantable_permissions,\n ),\n voting_rewards_parameters: convertVotingRewardsParameters(\n fromNullable(params.voting_rewards_parameters),\n ),\n max_number_of_principals_per_neuron: fromNullable(\n params.max_number_of_principals_per_neuron,\n ),\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["assertPercentageNumber", "Canister", "createServices", "fromNullable", "toNullable", "idlFactory", "IDL", "GenericNervousSystemFunction", "FunctionType", "NervousSystemFunction", "GovernanceCachedMetrics", "MaturityModulation", "NeuronId", "Followees", "DefaultFollowees", "NeuronPermissionList", "VotingRewardsParameters", "NervousSystemParameters", "Version", "ProposalId", "RewardEvent", "UpgradeInProgress", "GovernanceError", "Subaccount", "Account", "Decimal", "Tokens", "ValuationFactors", "Valuation", "MintSnsTokensActionAuxiliary", "ActionAuxiliary", "Ballot", "Percentage", "Tally", "ManageDappCanisterSettings", "RegisterDappCanisters", "TransferSnsTreasuryFunds", "UpgradeSnsControlledCanister", "DeregisterDappCanisters", "MintSnsTokens", "ManageSnsMetadata", "ExecuteGenericNervousSystemFunction", "ManageLedgerParameters", "Motion", "Action", "Proposal", "WaitForQuietState", "ProposalData", "Split", "Follow", "DisburseMaturity", "ChangeAutoStakeMaturity", "IncreaseDissolveDelay", "SetDissolveTimestamp", "Operation", "Configure", "RegisterVote", "FinalizeDisburseMaturity", "MemoAndController", "By", "ClaimOrRefresh", "RemoveNeuronPermissions", "AddNeuronPermissions", "MergeMaturity", "Amount", "Disburse", "Command_2", "NeuronInFlightCommand", "NeuronPermission", "DissolveState", "DisburseMaturityInProgress", "Neuron", "Governance", "NeuronParameters", "ClaimSwapNeuronsRequest", "SwapNeuron", "ClaimedSwapNeurons", "ClaimSwapNeuronsResult", "ClaimSwapNeuronsResponse", "GetMaturityModulationResponse", "GetMetadataResponse", "GetModeResponse", "GetNeuron", "Result", "GetNeuronResponse", "GetProposal", "Result_1", "GetProposalResponse", "CanisterStatusType", "DefiniteCanisterSettingsArgs", "CanisterStatusResultV2", "GetRunningSnsVersionResponse", "GetSnsInitializationParametersResponse", "ListNervousSystemFunctionsResponse", "ListNeurons", "ListNeuronsResponse", "ListProposals", "ListProposalsResponse", "StakeMaturity", "Command", "ManageNeuron", "SplitResponse", "DisburseMaturityResponse", "ClaimOrRefreshResponse", "StakeMaturityResponse", "MergeMaturityResponse", "DisburseResponse", "Command_1", "ManageNeuronResponse", "SetMode", "idlFactory", "IDL", "GenericNervousSystemFunction", "FunctionType", "NervousSystemFunction", "GovernanceCachedMetrics", "MaturityModulation", "NeuronId", "Followees", "DefaultFollowees", "NeuronPermissionList", "VotingRewardsParameters", "NervousSystemParameters", "Version", "ProposalId", "RewardEvent", "UpgradeInProgress", "GovernanceError", "Subaccount", "Account", "Decimal", "Tokens", "ValuationFactors", "Valuation", "MintSnsTokensActionAuxiliary", "ActionAuxiliary", "Ballot", "Percentage", "Tally", "ManageDappCanisterSettings", "RegisterDappCanisters", "TransferSnsTreasuryFunds", "UpgradeSnsControlledCanister", "DeregisterDappCanisters", "MintSnsTokens", "ManageSnsMetadata", "ExecuteGenericNervousSystemFunction", "ManageLedgerParameters", "Motion", "Action", "Proposal", "WaitForQuietState", "ProposalData", "Split", "Follow", "DisburseMaturity", "ChangeAutoStakeMaturity", "IncreaseDissolveDelay", "SetDissolveTimestamp", "Operation", "Configure", "RegisterVote", "FinalizeDisburseMaturity", "MemoAndController", "By", "ClaimOrRefresh", "RemoveNeuronPermissions", "AddNeuronPermissions", "MergeMaturity", "Amount", "Disburse", "Command_2", "NeuronInFlightCommand", "NeuronPermission", "DissolveState", "DisburseMaturityInProgress", "Neuron", "Governance", "NeuronParameters", "ClaimSwapNeuronsRequest", "SwapNeuron", "ClaimedSwapNeurons", "ClaimSwapNeuronsResult", "ClaimSwapNeuronsResponse", "GetMaturityModulationResponse", "GetMetadataResponse", "GetModeResponse", "GetNeuron", "Result", "GetNeuronResponse", "GetProposal", "Result_1", "GetProposalResponse", "CanisterStatusType", "DefiniteCanisterSettingsArgs", "CanisterStatusResultV2", "GetRunningSnsVersionResponse", "GetSnsInitializationParametersResponse", "ListNervousSystemFunctionsResponse", "ListNeurons", "ListNeuronsResponse", "ListProposals", "ListProposalsResponse", "StakeMaturity", "Command", "ManageNeuron", "SplitResponse", "DisburseMaturityResponse", "ClaimOrRefreshResponse", "StakeMaturityResponse", "MergeMaturityResponse", "DisburseResponse", "Command_1", "ManageNeuronResponse", "SetMode", "fromNullable", "toNullable", "toManageNeuronCommand", "id", "command", "toManageNeuronConfigureCommand", "neuronId", "operation", "toCandidAccount", "owner", "subaccount", "toNullable", "toAddPermissionsRequest", "permissions", "principal", "toRemovePermissionsRequest", "toSplitNeuronRequest", "memo", "amount_e8s", "toDisburseNeuronRequest", "amount", "toAccount", "toStartDissolvingNeuronRequest", "toStopDissolvingNeuronRequest", "toStakeMaturityRequest", "percentageToStake", "toDisburseMaturityRequest", "percentageToDisburse", "toAutoStakeMaturityNeuronRequest", "requested_setting_for_auto_stake_maturity", "toSetDissolveTimestampRequest", "dissolveTimestampSeconds", "toIncreaseDissolveDelayRequest", "additionalDissolveDelaySeconds", "toFollowRequest", "functionId", "followees", "toRegisterVoteRequest", "proposalId", "vote", "toClaimOrRefreshRequest", "controller", "toListProposalRequest", "excludeType", "beforeProposal", "includeRewardStatus", "includeStatus", "limit", "fromCandidAction", "action", "convertNervousSystemParams", "convertNervousSystemFunction", "convertTransferSnsTreasuryFunds", "convertUpgradeSnsControlledCanister", "convertManageSnsMetadata", "params", "fromNullable", "convertGenericNervousSystemFunction", "convertFunctionType", "convertVotingRewardsParameters", "SnsGovernanceCanister", "_SnsGovernanceCanister", "Canister", "params", "principal", "limit", "beforeNeuronId", "neurons", "toNullable", "certified", "toListProposalRequest", "proposalId", "result", "data", "fromNullable", "SnsGovernanceError", "neuronId", "error", "request", "response", "toAddPermissionsRequest", "toRemovePermissionsRequest", "toSplitNeuronRequest", "command", "errorMessage", "details", "split", "toDisburseNeuronRequest", "toStartDissolvingNeuronRequest", "toStopDissolvingNeuronRequest", "percentageToStake", "assertPercentageNumber", "toStakeMaturityRequest", "toDisburseMaturityRequest", "toAutoStakeMaturityNeuronRequest", "toSetDissolveTimestampRequest", "toIncreaseDissolveDelayRequest", "toFollowRequest", "toRegisterVoteRequest", "toClaimOrRefreshRequest", "memo", "controller", "subaccount", "firstCommand", "options", "service", "certifiedService", "canisterId", "createServices", "idlFactory"]
7
+ }
@@ -0,0 +1,7 @@
1
+ import{a as y}from"./chunk-4INNMFYU.js";import{bigIntToUint8Array as H,toNullable as O}from"@dfinity/utils";import{arrayOfNumberToUint8Array as F,asciiStringToByteArray as M,numberToUint8Array as Q}from"@dfinity/utils";function D(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function w(t,...e){if(!D(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error(`Uint8Array expected of length ${e}, not of length=${t.length}`)}function v(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function k(t,e){w(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var P=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),m=(t,e)=>t<<32-e|t>>>e;var $=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function _(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function N(t){return typeof t=="string"&&(t=_(t)),w(t),t}var x=class{clone(){return this._cloneInto()}},W={}.toString;function A(t){let e=s=>t().update(N(s)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function G(t,e,r,s){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,s);let n=BigInt(32),o=BigInt(4294967295),i=Number(r>>n&o),a=Number(r&o),u=s?4:0,f=s?0:4;t.setUint32(e+u,i,s),t.setUint32(e+f,a,s)}var C=(t,e,r)=>t&e^~t&r,L=(t,e,r)=>t&e^t&r^e&r,b=class extends x{constructor(e,r,s,n){super(),this.blockLen=e,this.outputLen=r,this.padOffset=s,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=P(this.buffer)}update(e){v(this);let{view:r,buffer:s,blockLen:n}=this;e=N(e);let o=e.length;for(let i=0;i<o;){let a=Math.min(n-this.pos,o-i);if(a===n){let u=P(e);for(;n<=o-i;i+=n)this.process(u,i);continue}s.set(e.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===n&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){v(this),k(e,this),this.finished=!0;let{buffer:r,view:s,blockLen:n,isLE:o}=this,{pos:i}=this;r[i++]=128,this.buffer.subarray(i).fill(0),this.padOffset>n-i&&(this.process(s,0),i=0);for(let c=i;c<n;c++)r[c]=0;G(s,n-8,BigInt(this.length*8),o),this.process(s,0);let a=P(e),u=this.outputLen;if(u%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let f=u/4,d=this.get();if(f>d.length)throw new Error("_sha2: outputLen bigger than state");for(let c=0;c<f;c++)a.setUint32(4*c,d[c],o)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let s=e.slice(0,r);return this.destroy(),s}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:s,length:n,finished:o,destroyed:i,pos:a}=this;return e.length=n,e.pos=a,e.finished=o,e.destroyed=i,n%r&&e.buffer.set(s),e}};var E=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]),p=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),h=new Uint32Array(64),I=class extends b{constructor(){super(64,32,8,!1),this.A=p[0]|0,this.B=p[1]|0,this.C=p[2]|0,this.D=p[3]|0,this.E=p[4]|0,this.F=p[5]|0,this.G=p[6]|0,this.H=p[7]|0}get(){let{A:e,B:r,C:s,D:n,E:o,F:i,G:a,H:u}=this;return[e,r,s,n,o,i,a,u]}set(e,r,s,n,o,i,a,u){this.A=e|0,this.B=r|0,this.C=s|0,this.D=n|0,this.E=o|0,this.F=i|0,this.G=a|0,this.H=u|0}process(e,r){for(let c=0;c<16;c++,r+=4)h[c]=e.getUint32(r,!1);for(let c=16;c<64;c++){let g=h[c-15],l=h[c-2],T=m(g,7)^m(g,18)^g>>>3,S=m(l,17)^m(l,19)^l>>>10;h[c]=S+h[c-7]+T+h[c-16]|0}let{A:s,B:n,C:o,D:i,E:a,F:u,G:f,H:d}=this;for(let c=0;c<64;c++){let g=m(a,6)^m(a,11)^m(a,25),l=d+g+C(a,u,f)+E[c]+h[c]|0,S=(m(s,2)^m(s,13)^m(s,22))+L(s,n,o)|0;d=f,f=u,u=a,a=i+l|0,i=o,o=n,n=s,s=l+S|0}s=s+this.A|0,n=n+this.B|0,o=o+this.C|0,i=i+this.D|0,a=a+this.E|0,u=u+this.F|0,f=f+this.G|0,d=d+this.H|0,this.set(s,n,o,i,a,u,f,d)}roundClean(){h.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var B=A(()=>new I);var R=({index:t,controller:e})=>{let s=[12,...M("neuron-stake"),...e.toUint8Array(),...Q(t)],n=B.create();return n.update(F(s)),n.digest()};var U=class{constructor({root:e,governance:r,ledger:s,swap:n,index:o,certified:i}){this.listNeurons=e=>this.governance.listNeurons(this.mergeParams(e));this.listProposals=e=>this.governance.listProposals(this.mergeParams(e));this.getProposal=e=>this.governance.getProposal(this.mergeParams(e));this.listNervousSystemFunctions=e=>this.governance.listNervousSystemFunctions(this.mergeParams(e));this.metadata=e=>Promise.all([this.governance.metadata(this.mergeParams(e)),this.ledger.metadata(this.mergeParams(e))]);this.nervousSystemParameters=e=>this.governance.nervousSystemParameters(this.mergeParams(e));this.ledgerMetadata=e=>this.ledger.metadata(this.mergeParams(e));this.transactionFee=e=>this.ledger.transactionFee(this.mergeParams(e));this.totalTokensSupply=e=>this.ledger.totalTokensSupply(this.mergeParams(e));this.balance=e=>this.ledger.balance(this.mergeParams(e));this.transfer=e=>this.ledger.transfer(e);this.getNeuron=e=>this.governance.getNeuron(this.mergeParams(e));this.queryNeuron=e=>this.governance.queryNeuron(this.mergeParams(e));this.nextNeuronAccount=async e=>{for(let r=0;r<65536;r++){let s=R({index:r,controller:e}),n={id:s},o=await this.governance.queryNeuron({neuronId:n,certified:!1});if(o===void 0&&(o=await this.governance.queryNeuron({neuronId:n,certified:!0}),o===void 0))return{account:{...this.owner,subaccount:s},index:BigInt(r)}}throw new y("No more neuron accounts available")};this.stakeNeuron=async({stakeE8s:e,source:r,controller:s,createdAt:n,fee:o})=>{this.assertCertified("stakeNeuron");let{account:i,index:a}=await this.nextNeuronAccount(s);if(i.subaccount===void 0)throw new y("There was an error creating the neuron subaccount");return await this.ledger.transfer({amount:e,to:{owner:i.owner,subaccount:O(i.subaccount)},from_subaccount:r.subaccount,memo:H(a),created_at_time:n,fee:o}),this.governance.claimNeuron({memo:BigInt(a),controller:s,subaccount:i.subaccount})};this.increaseStakeNeuron=async({stakeE8s:e,source:r,neuronId:s})=>(this.assertCertified("stakeNeuron"),await this.ledger.transfer({amount:e,to:{...this.owner,subaccount:O(Uint8Array.from(s.id))},from_subaccount:r.subaccount}),this.governance.refreshNeuron(s));this.getNeuronBalance=async e=>{let r={...this.owner,subaccount:Uint8Array.from(e.id)};return this.ledger.balance({...r,certified:this.certified})};this.addNeuronPermissions=e=>this.governance.addNeuronPermissions(e);this.refreshNeuron=e=>this.governance.refreshNeuron(e);this.claimNeuron=e=>this.governance.claimNeuron(e);this.removeNeuronPermissions=e=>this.governance.removeNeuronPermissions(e);this.splitNeuron=e=>this.governance.splitNeuron(e);this.disburse=e=>this.governance.disburse(e);this.startDissolving=e=>this.governance.startDissolving(e);this.stopDissolving=e=>this.governance.stopDissolving(e);this.setDissolveTimestamp=e=>this.governance.setDissolveTimestamp(e);this.increaseDissolveDelay=e=>this.governance.increaseDissolveDelay(e);this.setTopicFollowees=e=>this.governance.setTopicFollowees(e);this.registerVote=async e=>this.governance.registerVote(e);this.swapState=e=>this.swap.state(this.mergeParams(e));this.notifyPaymentFailure=()=>this.swap.notifyPaymentFailure();this.notifyParticipation=e=>this.swap.notifyParticipation(e);this.getUserCommitment=e=>this.swap.getUserCommitment(this.mergeParams(e));this.getOpenTicket=e=>this.swap.getOpenTicket(this.mergeParams(e));this.newSaleTicket=e=>this.swap.newSaleTicket(e);this.getLifecycle=e=>this.swap.getLifecycle(this.mergeParams(e));this.getFinalizationStatus=e=>this.swap.getFinalizationStatus(this.mergeParams(e));this.getSaleParameters=e=>this.swap.getSaleParameters(this.mergeParams(e));this.getDerivedState=e=>this.swap.getDerivedState(this.mergeParams(e));this.getTransactions=e=>this.index.getTransactions(e);this.stakeMaturity=e=>this.governance.stakeMaturity(e);this.disburseMaturity=e=>this.governance.disburseMaturity(e);this.autoStakeMaturity=e=>this.governance.autoStakeMaturity(e);this.assertCertified=e=>{if(!this.certified)throw new y(`Call to ${e} needs to be certified`)};this.root=e,this.governance=r,this.ledger=s,this.swap=n,this.index=o,this.certified=i}get canisterIds(){return{rootCanisterId:this.root.canisterId,ledgerCanisterId:this.ledger.canisterId,governanceCanisterId:this.governance.canisterId,swapCanisterId:this.swap.canisterId,indexCanisterId:this.index.canisterId}}mergeParams(e){return{...e,certified:this.certified}}get owner(){return{owner:this.canisterIds.governanceCanisterId}}};export{R as a,U as b};
2
+ /*! Bundled license information:
3
+
4
+ @noble/hashes/esm/utils.js:
5
+ (*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
6
+ */
7
+ //# sourceMappingURL=chunk-CQAJ2SZB.js.map