UNPKG

@dfinity/nns

Version:

A library for interfacing with the Internet Computer's Network Nervous System.

1 lines • 145 kB
"use strict";var Cr=Object.create;var To=Object.defineProperty;var Mr=Object.getOwnPropertyDescriptor;var Ar=Object.getOwnPropertyNames;var Fr=Object.getPrototypeOf,qr=Object.prototype.hasOwnProperty;var Er=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Br=(e,t)=>{for(var o in t)To(e,o,{get:t[o],enumerable:!0})},an=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Ar(t))!qr.call(e,s)&&s!==o&&To(e,s,{get:()=>t[s],enumerable:!(n=Mr(t,s))||n.enumerable});return e};var Gr=(e,t,o)=>(o=e!=null?Cr(Fr(e)):{},an(t||!e||!e.__esModule?To(o,"default",{value:e,enumerable:!0}):o,e)),Ur=e=>an(To({},"__esModule",{value:!0}),e);var hn=Er((ta,bn)=>{bn.exports=require("crypto").randomBytes});var js={};Br(js,{CanisterAction:()=>Nn,CanisterInstallMode:()=>fn,CouldNotClaimNeuronError:()=>ho,GenesisTokenCanister:()=>Mo,GovernanceCanister:()=>jo,GovernanceError:()=>Me,GovernanceTestCanister:()=>zo,InsufficientAmountError:()=>So,LogVisibility:()=>mn,NeuronState:()=>cn,NeuronType:()=>ln,NeuronVisibility:()=>On,NnsFunction:()=>un,ProposalRewardStatus:()=>dn,ProposalStatus:()=>pn,SnsWasmCanister:()=>Jo,StakeNeuronError:()=>bo,Topic:()=>_n,UnrecognizedTypeError:()=>Ce,UnsupportedValueError:()=>V,Vote:()=>$o,ineligibleNeurons:()=>yr,memoToNeuronAccountIdentifier:()=>rn,memoToNeuronSubaccount:()=>br,votableNeurons:()=>Ws,votedNeurons:()=>Hs});module.exports=Ur(js);var cn=(i=>(i[i.Unspecified=0]="Unspecified",i[i.Locked=1]="Locked",i[i.Dissolving=2]="Dissolving",i[i.Dissolved=3]="Dissolved",i[i.Spawning=4]="Spawning",i))(cn||{}),_n=(u=>(u[u.Unspecified=0]="Unspecified",u[u.NeuronManagement=1]="NeuronManagement",u[u.ExchangeRate=2]="ExchangeRate",u[u.NetworkEconomics=3]="NetworkEconomics",u[u.Governance=4]="Governance",u[u.NodeAdmin=5]="NodeAdmin",u[u.ParticipantManagement=6]="ParticipantManagement",u[u.SubnetManagement=7]="SubnetManagement",u[u.NetworkCanisterManagement=8]="NetworkCanisterManagement",u[u.Kyc=9]="Kyc",u[u.NodeProviderRewards=10]="NodeProviderRewards",u[u.SnsDecentralizationSale=11]="SnsDecentralizationSale",u[u.IcOsVersionDeployment=12]="IcOsVersionDeployment",u[u.IcOsVersionElection=13]="IcOsVersionElection",u[u.SnsAndCommunityFund=14]="SnsAndCommunityFund",u[u.ApiBoundaryNodeManagement=15]="ApiBoundaryNodeManagement",u[u.SubnetRental=16]="SubnetRental",u[u.ProtocolCanisterManagement=17]="ProtocolCanisterManagement",u[u.ServiceNervousSystemManagement=18]="ServiceNervousSystemManagement",u))(_n||{}),dn=(i=>(i[i.Unknown=0]="Unknown",i[i.AcceptVotes=1]="AcceptVotes",i[i.ReadyToSettle=2]="ReadyToSettle",i[i.Settled=3]="Settled",i[i.Ineligible=4]="Ineligible",i))(dn||{}),pn=(c=>(c[c.Unknown=0]="Unknown",c[c.Open=1]="Open",c[c.Rejected=2]="Rejected",c[c.Accepted=3]="Accepted",c[c.Executed=4]="Executed",c[c.Failed=5]="Failed",c))(pn||{}),$o=(n=>(n[n.Unspecified=0]="Unspecified",n[n.Yes=1]="Yes",n[n.No=2]="No",n))($o||{}),un=(a=>(a[a.Unspecified=0]="Unspecified",a[a.CreateSubnet=1]="CreateSubnet",a[a.AddNodeToSubnet=2]="AddNodeToSubnet",a[a.NnsCanisterInstall=3]="NnsCanisterInstall",a[a.NnsCanisterUpgrade=4]="NnsCanisterUpgrade",a[a.BlessReplicaVersion=5]="BlessReplicaVersion",a[a.RecoverSubnet=6]="RecoverSubnet",a[a.UpdateConfigOfSubnet=7]="UpdateConfigOfSubnet",a[a.AssignNoid=8]="AssignNoid",a[a.NnsRootUpgrade=9]="NnsRootUpgrade",a[a.IcpXdrConversionRate=10]="IcpXdrConversionRate",a[a.DeployGuestosToAllSubnetNodes=11]="DeployGuestosToAllSubnetNodes",a[a.ClearProvisionalWhitelist=12]="ClearProvisionalWhitelist",a[a.RemoveNodesFromSubnet=13]="RemoveNodesFromSubnet",a[a.SetAuthorizedSubnetworks=14]="SetAuthorizedSubnetworks",a[a.SetFirewallConfig=15]="SetFirewallConfig",a[a.UpdateNodeOperatorConfig=16]="UpdateNodeOperatorConfig",a[a.StopOrStartNnsCanister=17]="StopOrStartNnsCanister",a[a.RemoveNodes=18]="RemoveNodes",a[a.UninstallCode=19]="UninstallCode",a[a.UpdateNodeRewardsTable=20]="UpdateNodeRewardsTable",a[a.AddOrRemoveDataCenters=21]="AddOrRemoveDataCenters",a[a.UpdateUnassignedNodesConfig=22]="UpdateUnassignedNodesConfig",a[a.RemoveNodeOperators=23]="RemoveNodeOperators",a[a.RerouteCanisterRanges=24]="RerouteCanisterRanges",a[a.AddFirewallRules=25]="AddFirewallRules",a[a.RemoveFirewallRules=26]="RemoveFirewallRules",a[a.UpdateFirewallRules=27]="UpdateFirewallRules",a[a.PrepareCanisterMigration=28]="PrepareCanisterMigration",a[a.CompleteCanisterMigration=29]="CompleteCanisterMigration",a[a.AddSnsWasm=30]="AddSnsWasm",a[a.ChangeSubnetMembership=31]="ChangeSubnetMembership",a[a.UpdateSubnetType=32]="UpdateSubnetType",a[a.ChangeSubnetTypeAssignment=33]="ChangeSubnetTypeAssignment",a[a.UpdateSnsWasmSnsSubnetIds=34]="UpdateSnsWasmSnsSubnetIds",a[a.UpdateAllowedPrincipals=35]="UpdateAllowedPrincipals",a[a.RetireReplicaVersion=36]="RetireReplicaVersion",a[a.InsertSnsWasmUpgradePathEntries=37]="InsertSnsWasmUpgradePathEntries",a[a.ReviseElectedGuestosVersions=38]="ReviseElectedGuestosVersions",a[a.BitcoinSetConfig=39]="BitcoinSetConfig",a[a.UpdateElectedHostosVersions=40]="UpdateElectedHostosVersions",a[a.UpdateNodesHostosVersion=41]="UpdateNodesHostosVersion",a[a.HardResetNnsRootToVersion=42]="HardResetNnsRootToVersion",a[a.AddApiBoundaryNodes=43]="AddApiBoundaryNodes",a[a.RemoveApiBoundaryNodes=44]="RemoveApiBoundaryNodes",a[a.UpdateApiBoundaryNodeDomain=45]="UpdateApiBoundaryNodeDomain",a[a.UpdateApiBoundaryNodesVersion=46]="UpdateApiBoundaryNodesVersion",a[a.DeployGuestosToSomeApiBoundaryNodes=47]="DeployGuestosToSomeApiBoundaryNodes",a[a.DeployGuestosToAllUnassignedNodes=48]="DeployGuestosToAllUnassignedNodes",a[a.UpdateSshReadOnlyAccessForAllUnassignedNodes=49]="UpdateSshReadOnlyAccessForAllUnassignedNodes",a[a.ReviseElectedHostosVersions=50]="ReviseElectedHostosVersions",a[a.DeployHostosToSomeNodes=51]="DeployHostosToSomeNodes",a[a.SubnetRentalRequest=52]="SubnetRentalRequest",a))(un||{}),ln=(n=>(n[n.Unspecified=0]="Unspecified",n[n.Seed=1]="Seed",n[n.Ect=2]="Ect",n))(ln||{}),mn=(n=>(n[n.Unspecified=0]="Unspecified",n[n.Controllers=1]="Controllers",n[n.Public=2]="Public",n))(mn||{}),Nn=(n=>(n[n.Unspecified=0]="Unspecified",n[n.Stop=1]="Stop",n[n.Start=2]="Start",n))(Nn||{}),On=(n=>(n[n.Unspecified=0]="Unspecified",n[n.Private=1]="Private",n[n.Public=2]="Public",n))(On||{}),fn=(s=>(s[s.Unspecified=0]="Unspecified",s[s.Install=1]="Install",s[s.Reinstall=2]="Reinstall",s[s.Upgrade=3]="Upgrade",s))(fn||{});var bo=class extends Error{},ho=class extends bo{},So=class extends bo{constructor(o){super();this.minimumAmount=o}},Ce=class extends Error{},Me=class extends Error{constructor(o){super();this.detail=o}},V=class extends Error{constructor(t){super(`Unsupported value: ${t}`)}};var yn=require("@dfinity/utils");var Rn=({IDL:e})=>{let t=e.Record({id:e.Nat64}),o=e.Variant({Ok:e.Vec(t),Err:e.Text}),n=e.Variant({Ok:e.Null,Err:e.Text}),s=e.Record({error:e.Opt(e.Text),timestamp_seconds:e.Nat64,neuron_id:e.Opt(t)}),i=e.Record({authenticated_principal_id:e.Opt(e.Principal),successfully_transferred_neurons:e.Vec(s),is_whitelisted_for_forwarding:e.Bool,has_donated:e.Bool,failed_transferred_neurons:e.Vec(s),neuron_ids:e.Vec(t),has_claimed:e.Bool,has_forwarded:e.Bool,icpts:e.Nat32}),c=e.Variant({Ok:i,Err:e.Text});return e.Service({balance:e.Func([e.Text],[e.Nat32],[]),claim_neurons:e.Func([e.Text],[o],[]),donate_account:e.Func([e.Text],[n],[]),forward_whitelisted_unclaimed_accounts:e.Func([e.Null],[n],[]),get_account:e.Func([e.Text],[c],[]),get_build_metadata:e.Func([],[e.Text],[]),len:e.Func([],[e.Nat16],[]),total:e.Func([],[e.Nat32],[])})};var gn=({IDL:e})=>{let t=e.Record({id:e.Nat64}),o=e.Variant({Ok:e.Vec(t),Err:e.Text}),n=e.Variant({Ok:e.Null,Err:e.Text}),s=e.Record({error:e.Opt(e.Text),timestamp_seconds:e.Nat64,neuron_id:e.Opt(t)}),i=e.Record({authenticated_principal_id:e.Opt(e.Principal),successfully_transferred_neurons:e.Vec(s),is_whitelisted_for_forwarding:e.Bool,has_donated:e.Bool,failed_transferred_neurons:e.Vec(s),neuron_ids:e.Vec(t),has_claimed:e.Bool,has_forwarded:e.Bool,icpts:e.Nat32}),c=e.Variant({Ok:i,Err:e.Text});return e.Service({balance:e.Func([e.Text],[e.Nat32],["query"]),claim_neurons:e.Func([e.Text],[o],[]),donate_account:e.Func([e.Text],[n],[]),forward_whitelisted_unclaimed_accounts:e.Func([e.Null],[n],[]),get_account:e.Func([e.Text],[c],["query"]),get_build_metadata:e.Func([],[e.Text],["query"]),len:e.Func([],[e.Nat16],["query"]),total:e.Func([],[e.Nat32],["query"])})};var ko=require("@dfinity/principal"),Zs=ko.Principal.fromText("rrkah-fqaaa-aaaaa-aaaaq-cai"),Co=ko.Principal.fromText("rrkah-fqaaa-aaaaa-aaaaq-cai"),vn=ko.Principal.fromText("renrk-eyaaa-aaaaa-aaada-cai"),wn=ko.Principal.fromText("r7inp-6aaaa-aaaaa-aaabq-cai");var Mo=class e{constructor(t){this.service=t}static create(t={}){let{service:o}=(0,yn.createServices)({options:{...t,canisterId:t.canisterId??vn},idlFactory:gn,certifiedIdlFactory:Rn});return new e(o)}claimNeurons=async({hexPubKey:t})=>{let o=await this.service.claim_neurons(t);if("Ok"in o)return o.Ok.map(n=>n.id);throw new Error(o.Err)}};var hr=require("@dfinity/agent"),tt=require("@dfinity/ledger-icp"),f=require("@dfinity/utils"),Sr=Gr(hn());var Sn=({IDL:e})=>{let t=e.Rec(),o=e.Rec(),n=e.Record({id:e.Nat64}),s=e.Record({followees:e.Vec(n)}),i=e.Record({name:e.Text,description:e.Opt(e.Text)}),c=e.Record({id:e.Opt(n),known_neuron_data:e.Opt(i)}),d=e.Record({percentage_to_spawn:e.Opt(e.Nat32),new_controller:e.Opt(e.Principal),nonce:e.Opt(e.Nat64)}),_=e.Record({amount_e8s:e.Nat64}),O=e.Record({topic:e.Int32,followees:e.Vec(n)}),p=e.Record({hash:e.Vec(e.Nat8)}),l=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(e.Vec(e.Nat8))}),w=e.Record({to_account_identifier:e.Opt(p),to_account:e.Opt(l),percentage_to_disburse:e.Nat32}),y=e.Record({}),M=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),J=e.Variant({NeuronIdOrSubaccount:e.Record({}),MemoAndController:M,Memo:e.Nat64}),A=e.Record({by:e.Opt(J)}),_e=e.Record({hot_key_to_remove:e.Opt(e.Principal)}),de=e.Record({new_hot_key:e.Opt(e.Principal)}),u=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),pe=e.Record({additional_dissolve_delay_seconds:e.Nat32}),ue=e.Record({visibility:e.Opt(e.Int32)}),le=e.Record({dissolve_timestamp_seconds:e.Nat64}),me=e.Variant({RemoveHotKey:_e,AddHotKey:de,ChangeAutoStakeMaturity:u,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:pe,SetVisibility:ue,JoinCommunityFund:e.Record({}),LeaveCommunityFund:e.Record({}),SetDissolveTimestamp:le}),F=e.Record({operation:e.Opt(me)}),v=e.Record({id:e.Nat64}),$=e.Record({vote:e.Int32,proposal:e.Opt(v)}),C=e.Record({source_neuron_id:e.Opt(n)}),q=e.Record({dissolve_delay_seconds:e.Nat64,kyc_verified:e.Bool,amount_e8s:e.Nat64,new_controller:e.Opt(e.Principal),nonce:e.Nat64}),Q=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),b=e.Record({percentage_to_merge:e.Nat32}),Ne=e.Record({e8s:e.Nat64}),E=e.Record({to_account:e.Opt(p),amount:e.Opt(Ne)}),Oe=e.Variant({Spawn:d,Split:_,Follow:O,DisburseMaturity:w,RefreshVotingPower:y,ClaimOrRefresh:A,Configure:F,RegisterVote:$,Merge:C,DisburseToNeuron:q,MakeProposal:o,StakeMaturity:Q,MergeMaturity:b,Disburse:E}),P=e.Variant({Subaccount:e.Vec(e.Nat8),NeuronId:n}),fe=e.Record({id:e.Opt(n),command:e.Opt(Oe),neuron_id_or_subaccount:e.Opt(P)}),Re=e.Record({controllers:e.Vec(e.Principal)}),ge=e.Record({freezing_threshold:e.Opt(e.Nat64),wasm_memory_threshold:e.Opt(e.Nat64),controllers:e.Opt(Re),log_visibility:e.Opt(e.Int32),wasm_memory_limit:e.Opt(e.Nat64),memory_allocation:e.Opt(e.Nat64),compute_allocation:e.Opt(e.Nat64)}),Z=e.Record({canister_id:e.Opt(e.Principal),settings:e.Opt(ge)}),ve=e.Record({skip_stopping_before_installing:e.Opt(e.Bool),wasm_module_hash:e.Opt(e.Vec(e.Nat8)),canister_id:e.Opt(e.Principal),arg_hash:e.Opt(e.Vec(e.Nat8)),install_mode:e.Opt(e.Int32)}),Y=e.Record({action:e.Opt(e.Int32),canister_id:e.Opt(e.Principal)}),h=e.Record({basis_points:e.Opt(e.Nat64)}),g=e.Record({seconds:e.Opt(e.Nat64)}),m=e.Record({e8s:e.Opt(e.Nat64)}),we=e.Record({reward_rate_transition_duration:e.Opt(g),initial_reward_rate:e.Opt(h),final_reward_rate:e.Opt(h)}),ye=e.Record({neuron_maximum_dissolve_delay_bonus:e.Opt(h),neuron_maximum_age_for_age_bonus:e.Opt(g),neuron_maximum_dissolve_delay:e.Opt(g),neuron_minimum_dissolve_delay_to_vote:e.Opt(g),neuron_maximum_age_bonus:e.Opt(h),neuron_minimum_stake:e.Opt(m),proposal_wait_for_quiet_deadline_increase:e.Opt(g),proposal_initial_voting_period:e.Opt(g),proposal_rejection_fee:e.Opt(m),voting_reward_parameters:e.Opt(we)}),I=e.Record({base64_encoding:e.Opt(e.Text)}),be=e.Record({transaction_fee:e.Opt(m),token_symbol:e.Opt(e.Text),token_logo:e.Opt(I),token_name:e.Opt(e.Text)}),he=e.Record({id:e.Opt(e.Principal)}),Se=e.Record({dissolve_delay_interval:e.Opt(g),count:e.Opt(e.Nat64)}),ke=e.Record({seconds_after_utc_midnight:e.Opt(e.Nat64)}),xe=e.Record({iso_codes:e.Vec(e.Text)}),Ve=e.Record({minimum_participants:e.Opt(e.Nat64),neurons_fund_participation:e.Opt(e.Bool),duration:e.Opt(g),neuron_basket_construction_parameters:e.Opt(Se),confirmation_text:e.Opt(e.Text),maximum_participant_icp:e.Opt(m),minimum_icp:e.Opt(m),minimum_direct_participation_icp:e.Opt(m),minimum_participant_icp:e.Opt(m),start_time:e.Opt(ke),maximum_direct_participation_icp:e.Opt(m),maximum_icp:e.Opt(m),neurons_fund_investment_icp:e.Opt(m),restricted_countries:e.Opt(xe)}),a=e.Record({total:e.Opt(m)}),Pe=e.Record({controller:e.Opt(e.Principal),dissolve_delay:e.Opt(g),memo:e.Opt(e.Nat64),vesting_period:e.Opt(g),stake:e.Opt(m)}),Te=e.Record({developer_neurons:e.Vec(Pe)}),ot=e.Record({treasury_distribution:e.Opt(a),developer_distribution:e.Opt(Te),swap_distribution:e.Opt(a)}),Ae=e.Record({url:e.Opt(e.Text),governance_parameters:e.Opt(ye),fallback_controller_principal_ids:e.Vec(e.Principal),logo:e.Opt(I),name:e.Opt(e.Text),ledger_parameters:e.Opt(be),description:e.Opt(e.Text),dapp_canisters:e.Vec(he),swap_parameters:e.Opt(Ve),initial_token_distribution:e.Opt(ot)}),Fe=e.Record({nns_function:e.Int32,payload:e.Vec(e.Nat8)}),S=e.Record({id:e.Opt(e.Principal),reward_account:e.Opt(p)}),nt=e.Record({dissolve_delay_seconds:e.Nat64}),rt=e.Record({to_account:e.Opt(p)}),st=e.Variant({RewardToNeuron:nt,RewardToAccount:rt}),B=e.Record({node_provider:e.Opt(S),reward_mode:e.Opt(st),amount_e8s:e.Nat64}),at=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),it=e.Record({min_participant_icp_e8s:e.Nat64,neuron_basket_construction_parameters:e.Opt(at),max_icp_e8s:e.Nat64,swap_due_timestamp_seconds:e.Nat64,min_participants:e.Nat32,sns_token_e8s:e.Nat64,sale_delay_seconds:e.Opt(e.Nat64),max_participant_icp_e8s:e.Nat64,min_direct_participation_icp_e8s:e.Opt(e.Nat64),min_icp_e8s:e.Nat64,max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),ct=e.Record({community_fund_investment_e8s:e.Opt(e.Nat64),target_swap_canister_id:e.Opt(e.Principal),params:e.Opt(it)}),_t=e.Record({start_timestamp_seconds:e.Nat64,end_timestamp_seconds:e.Nat64}),dt=e.Record({open_time_window:e.Opt(_t)}),pt=e.Record({request:e.Opt(dt),swap_canister_id:e.Opt(e.Principal)}),ut=e.Record({default_followees:e.Vec(e.Tuple(e.Int32,s))}),qe=e.Record({use_registry_derived_rewards:e.Opt(e.Bool),rewards:e.Vec(B)}),lt=e.Record({start_reducing_voting_power_after_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),clear_following_after_seconds:e.Opt(e.Nat64)}),G=e.Record({human_readable:e.Opt(e.Text)}),mt=e.Record({contribution_threshold_xdr:e.Opt(G),one_third_participation_milestone_xdr:e.Opt(G),full_participation_milestone_xdr:e.Opt(G)}),Nt=e.Record({maximum_icp_xdr_rate:e.Opt(h),neurons_fund_matched_funding_curve_coefficients:e.Opt(mt),max_theoretical_neurons_fund_participation_amount_xdr:e.Opt(G),minimum_icp_xdr_rate:e.Opt(h)}),U=e.Record({neuron_minimum_stake_e8s:e.Nat64,voting_power_economics:e.Opt(lt),max_proposals_to_keep_per_topic:e.Nat32,neuron_management_fee_per_proposal_e8s:e.Nat64,reject_cost_e8s:e.Nat64,transaction_fee_e8s:e.Nat64,neuron_spawn_dissolve_delay_seconds:e.Nat64,minimum_icp_xdr_rate:e.Nat64,maximum_node_provider_rewards_e8s:e.Nat64,neurons_fund_economics:e.Opt(Nt)}),ee=e.Record({principals:e.Vec(e.Principal)}),Ot=e.Variant({ToRemove:S,ToAdd:S}),Ee=e.Record({change:e.Opt(Ot)}),Be=e.Record({motion_text:e.Text}),ft=e.Variant({RegisterKnownNeuron:c,ManageNeuron:fe,UpdateCanisterSettings:Z,InstallCode:ve,StopOrStartCanister:Y,CreateServiceNervousSystem:Ae,ExecuteNnsFunction:Fe,RewardNodeProvider:B,OpenSnsTokenSwap:ct,SetSnsTokenSwapOpenTimeWindow:pt,SetDefaultFollowees:ut,RewardNodeProviders:qe,ManageNetworkEconomics:U,ApproveGenesisKyc:ee,AddOrRemoveNodeProvider:Ee,Motion:Be});o.fill(e.Record({url:e.Text,title:e.Opt(e.Text),action:e.Opt(ft),summary:e.Text}));let Rt=e.Record({proposal:e.Opt(o),caller:e.Opt(e.Principal),proposer_id:e.Opt(n)}),Ge=e.Record({xdr_permyriad_per_icp:e.Opt(e.Nat64),timestamp_seconds:e.Opt(e.Nat64)}),K=e.Record({minimum_xdr_permyriad_per_icp:e.Opt(e.Nat64),registry_version:e.Opt(e.Nat64),node_providers:e.Vec(S),timestamp:e.Nat64,rewards:e.Vec(B),xdr_conversion_rate:e.Opt(Ge),maximum_node_provider_rewards_e8s:e.Opt(e.Nat64)}),W=e.Record({total_maturity_e8s_equivalent:e.Opt(e.Nat64),maturity_e8s_equivalent_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),voting_power_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),total_staked_e8s:e.Opt(e.Nat64),count:e.Opt(e.Nat64),deciding_voting_power_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),total_staked_maturity_e8s_equivalent:e.Opt(e.Nat64),total_potential_voting_power:e.Opt(e.Nat64),total_deciding_voting_power:e.Opt(e.Nat64),staked_maturity_e8s_equivalent_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),staked_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),total_voting_power:e.Opt(e.Nat64),potential_voting_power_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64))}),Ue=e.Record({total_maturity_e8s_equivalent:e.Nat64,not_dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),dissolving_neurons_staked_maturity_e8s_equivalent_sum:e.Nat64,garbage_collectable_neurons_count:e.Nat64,dissolving_neurons_staked_maturity_e8s_equivalent_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),neurons_with_invalid_stake_count:e.Nat64,not_dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),ect_neuron_count:e.Nat64,total_supply_icp:e.Nat64,neurons_with_less_than_6_months_dissolve_delay_count:e.Nat64,dissolved_neurons_count:e.Nat64,community_fund_total_maturity_e8s_equivalent:e.Nat64,total_staked_e8s_seed:e.Nat64,total_staked_maturity_e8s_equivalent_ect:e.Nat64,total_staked_e8s:e.Nat64,fully_lost_voting_power_neuron_subset_metrics:e.Opt(W),not_dissolving_neurons_count:e.Nat64,total_locked_e8s:e.Nat64,neurons_fund_total_active_neurons:e.Nat64,total_voting_power_non_self_authenticating_controller:e.Opt(e.Nat64),total_staked_maturity_e8s_equivalent:e.Nat64,not_dissolving_neurons_e8s_buckets_ect:e.Vec(e.Tuple(e.Nat64,e.Float64)),declining_voting_power_neuron_subset_metrics:e.Opt(W),total_staked_e8s_ect:e.Nat64,not_dissolving_neurons_staked_maturity_e8s_equivalent_sum:e.Nat64,dissolved_neurons_e8s:e.Nat64,total_staked_e8s_non_self_authenticating_controller:e.Opt(e.Nat64),dissolving_neurons_e8s_buckets_seed:e.Vec(e.Tuple(e.Nat64,e.Float64)),neurons_with_less_than_6_months_dissolve_delay_e8s:e.Nat64,not_dissolving_neurons_staked_maturity_e8s_equivalent_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),dissolving_neurons_e8s_buckets_ect:e.Vec(e.Tuple(e.Nat64,e.Float64)),non_self_authenticating_controller_neuron_subset_metrics:e.Opt(W),dissolving_neurons_count:e.Nat64,dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),total_staked_maturity_e8s_equivalent_seed:e.Nat64,community_fund_total_staked_e8s:e.Nat64,not_dissolving_neurons_e8s_buckets_seed:e.Vec(e.Tuple(e.Nat64,e.Float64)),public_neuron_subset_metrics:e.Opt(W),timestamp_seconds:e.Nat64,seed_neuron_count:e.Nat64}),gt=e.Record({count:e.Opt(e.Nat64),previous_total_stake_e8s:e.Opt(e.Nat64),current_total_stake_e8s:e.Opt(e.Nat64),group_type:e.Int32}),Ke=e.Record({groups:e.Vec(gt),timestamp_seconds:e.Opt(e.Nat64)}),We=e.Record({rounds_since_last_distribution:e.Opt(e.Nat64),day_after_genesis:e.Nat64,actual_timestamp_seconds:e.Nat64,total_available_e8s_equivalent:e.Nat64,latest_round_available_e8s_equivalent:e.Opt(e.Nat64),distributed_e8s_equivalent:e.Nat64,settled_proposals:e.Vec(v)}),He=e.Record({to_subaccount:e.Vec(e.Nat8),neuron_stake_e8s:e.Nat64,from:e.Opt(e.Principal),memo:e.Nat64,from_subaccount:e.Vec(e.Nat8),transfer_timestamp:e.Nat64,block_height:e.Nat64}),R=e.Record({error_message:e.Text,error_type:e.Int32}),je=e.Record({vote:e.Int32,voting_power:e.Nat64}),vt=e.Record({min_participant_icp_e8s:e.Opt(e.Nat64),max_participant_icp_e8s:e.Opt(e.Nat64),min_direct_participation_icp_e8s:e.Opt(e.Nat64),max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),wt=e.Record({controller:e.Opt(e.Principal),hotkeys:e.Vec(e.Principal),is_capped:e.Opt(e.Bool),maturity_equivalent_icp_e8s:e.Opt(e.Nat64),nns_neuron_id:e.Opt(n),amount_icp_e8s:e.Opt(e.Nat64)}),te=e.Record({neurons_fund_neuron_portions:e.Vec(wt)}),yt=e.Record({serialized_representation:e.Opt(e.Text)}),H=e.Record({total_maturity_equivalent_icp_e8s:e.Opt(e.Nat64),intended_neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),direct_participation_icp_e8s:e.Opt(e.Nat64),swap_participation_limits:e.Opt(vt),max_neurons_fund_swap_participation_icp_e8s:e.Opt(e.Nat64),neurons_fund_reserves:e.Opt(te),ideal_matched_participation_function:e.Opt(yt),allocated_neurons_fund_participation_icp_e8s:e.Opt(e.Nat64)}),bt=e.Record({final_neurons_fund_participation:e.Opt(H),initial_neurons_fund_participation:e.Opt(H),neurons_fund_refunds:e.Opt(te)}),ht=e.Record({status:e.Opt(e.Int32),freezing_threshold:e.Opt(e.Nat64),controllers:e.Vec(e.Principal),memory_size:e.Opt(e.Nat64),cycles:e.Opt(e.Nat64),idle_cycles_burned_per_day:e.Opt(e.Nat64),module_hash:e.Vec(e.Nat8)}),k=e.Record({status:e.Opt(ht),canister_id:e.Opt(e.Principal)}),St=e.Record({ledger_index_canister_summary:e.Opt(k),fallback_controller_principal_ids:e.Vec(e.Principal),ledger_archive_canister_summaries:e.Vec(k),ledger_canister_summary:e.Opt(k),swap_canister_summary:e.Opt(k),governance_canister_summary:e.Opt(k),root_canister_summary:e.Opt(k),dapp_canister_summaries:e.Vec(k)}),ze=e.Record({swap_background_information:e.Opt(St)}),Xe=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),kt=e.Record({current_deadline_timestamp_seconds:e.Nat64}),xt=e.Record({id:e.Opt(v),topic:e.Opt(e.Int32),failure_reason:e.Opt(R),ballots:e.Vec(e.Tuple(e.Nat64,je)),proposal_timestamp_seconds:e.Nat64,reward_event_round:e.Nat64,failed_timestamp_seconds:e.Nat64,neurons_fund_data:e.Opt(bt),reject_cost_e8s:e.Nat64,derived_proposal_information:e.Opt(ze),latest_tally:e.Opt(Xe),total_potential_voting_power:e.Opt(e.Nat64),sns_token_swap_lifecycle:e.Opt(e.Int32),decided_timestamp_seconds:e.Nat64,proposal:e.Opt(o),proposer:e.Opt(n),wait_for_quiet_state:e.Opt(kt),executed_timestamp_seconds:e.Nat64,original_total_community_fund_maturity_e8s_equivalent:e.Opt(e.Nat64)}),Vt=e.Variant({Spawn:n,Split:_,Configure:F,Merge:C,DisburseToNeuron:q,SyncCommand:e.Record({}),ClaimOrRefreshNeuron:A,MergeMaturity:b,Disburse:E}),Pt=e.Record({command:e.Opt(Vt),timestamp:e.Nat64}),Je=e.Record({vote:e.Int32,proposal_id:e.Opt(v)}),Tt=e.Record({account_identifier_to_disburse_to:e.Opt(p),timestamp_of_disbursement_seconds:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64),account_to_disburse_to:e.Opt(l),finalize_disbursement_timestamp_seconds:e.Opt(e.Nat64)}),Ct=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),T=e.Record({id:e.Opt(n),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),controller:e.Opt(e.Principal),recent_ballots:e.Vec(Je),voting_power_refreshed_timestamp_seconds:e.Opt(e.Nat64),kyc_verified:e.Bool,potential_voting_power:e.Opt(e.Nat64),neuron_type:e.Opt(e.Int32),not_for_profit:e.Bool,maturity_e8s_equivalent:e.Nat64,deciding_voting_power:e.Opt(e.Nat64),cached_neuron_stake_e8s:e.Nat64,created_timestamp_seconds:e.Nat64,auto_stake_maturity:e.Opt(e.Bool),aging_since_timestamp_seconds:e.Nat64,hot_keys:e.Vec(e.Principal),account:e.Vec(e.Nat8),joined_community_fund_timestamp_seconds:e.Opt(e.Nat64),maturity_disbursements_in_progress:e.Opt(e.Vec(Tt)),dissolve_state:e.Opt(Ct),followees:e.Vec(e.Tuple(e.Int32,s)),neuron_fees_e8s:e.Nat64,visibility:e.Opt(e.Int32),transfer:e.Opt(He),known_neuron_data:e.Opt(i),spawn_at_timestamp_seconds:e.Opt(e.Nat64)}),sn=e.Record({default_followees:e.Vec(e.Tuple(e.Int32,s)),making_sns_proposal:e.Opt(Rt),most_recent_monthly_node_provider_rewards:e.Opt(K),maturity_modulation_last_updated_at_timestamp_seconds:e.Opt(e.Nat64),wait_for_quiet_threshold_seconds:e.Nat64,metrics:e.Opt(Ue),neuron_management_voting_period_seconds:e.Opt(e.Nat64),node_providers:e.Vec(S),cached_daily_maturity_modulation_basis_points:e.Opt(e.Int32),economics:e.Opt(U),restore_aging_summary:e.Opt(Ke),spawning_neurons:e.Opt(e.Bool),latest_reward_event:e.Opt(We),to_claim_transfers:e.Vec(He),short_voting_period_seconds:e.Nat64,proposals:e.Vec(e.Tuple(e.Nat64,xt)),xdr_conversion_rate:e.Opt(Ge),in_flight_commands:e.Vec(e.Tuple(e.Nat64,Pt)),neurons:e.Vec(e.Tuple(e.Nat64,T)),genesis_timestamp_seconds:e.Nat64}),j=e.Variant({Ok:e.Null,Err:R}),Mt=e.Variant({Error:R,NeuronId:n}),At=e.Record({result:e.Opt(Mt)}),$e=e.Variant({Ok:T,Err:R}),Ft=e.Variant({Ok:Ue,Err:R}),qt=e.Variant({Ok:K,Err:R}),z=e.Record({dissolve_delay_seconds:e.Nat64,recent_ballots:e.Vec(Je),voting_power_refreshed_timestamp_seconds:e.Opt(e.Nat64),potential_voting_power:e.Opt(e.Nat64),neuron_type:e.Opt(e.Int32),deciding_voting_power:e.Opt(e.Nat64),created_timestamp_seconds:e.Nat64,state:e.Int32,stake_e8s:e.Nat64,joined_community_fund_timestamp_seconds:e.Opt(e.Nat64),retrieved_at_timestamp_seconds:e.Nat64,visibility:e.Opt(e.Int32),known_neuron_data:e.Opt(i),voting_power:e.Nat64,age_seconds:e.Nat64}),Qe=e.Variant({Ok:z,Err:R}),Et=e.Record({nns_proposal_id:e.Opt(v)}),Bt=e.Record({final_neurons_fund_participation:e.Opt(H),initial_neurons_fund_participation:e.Opt(H),neurons_fund_refunds:e.Opt(te)}),Gt=e.Record({neurons_fund_audit_info:e.Opt(Bt)}),Ut=e.Variant({Ok:Gt,Err:R}),Kt=e.Record({result:e.Opt(Ut)}),Wt=e.Variant({Ok:S,Err:R}),oe=e.Record({id:e.Opt(v),status:e.Int32,topic:e.Int32,failure_reason:e.Opt(R),ballots:e.Vec(e.Tuple(e.Nat64,je)),proposal_timestamp_seconds:e.Nat64,reward_event_round:e.Nat64,deadline_timestamp_seconds:e.Opt(e.Nat64),failed_timestamp_seconds:e.Nat64,reject_cost_e8s:e.Nat64,derived_proposal_information:e.Opt(ze),latest_tally:e.Opt(Xe),total_potential_voting_power:e.Opt(e.Nat64),reward_status:e.Int32,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(o),proposer:e.Opt(n),executed_timestamp_seconds:e.Nat64}),Ht=e.Record({known_neurons:e.Vec(c)}),jt=e.Record({subaccount:e.Vec(e.Nat8)}),zt=e.Record({page_size:e.Opt(e.Nat64),include_public_neurons_in_full_neurons:e.Opt(e.Bool),neuron_ids:e.Vec(e.Nat64),page_number:e.Opt(e.Nat64),include_empty_neurons_readable_by_caller:e.Opt(e.Bool),neuron_subaccounts:e.Opt(e.Vec(jt)),include_neurons_readable_by_caller:e.Bool}),Xt=e.Record({neuron_infos:e.Vec(e.Tuple(e.Nat64,z)),full_neurons:e.Vec(T),total_pages_available:e.Opt(e.Nat64)}),Jt=e.Record({start_timestamp_seconds:e.Opt(e.Nat64),end_timestamp_seconds:e.Opt(e.Nat64)}),$t=e.Record({date_filter:e.Opt(Jt)}),Qt=e.Record({rewards:e.Vec(K)}),Zt=e.Record({node_providers:e.Vec(S)}),Yt=e.Record({include_reward_status:e.Vec(e.Int32),omit_large_fields:e.Opt(e.Bool),before_proposal:e.Opt(v),limit:e.Nat32,exclude_topic:e.Vec(e.Int32),include_all_manage_neuron_proposals:e.Opt(e.Bool),include_status:e.Vec(e.Int32)}),It=e.Record({proposal_info:e.Vec(oe)}),Dt=e.Record({arg:e.Opt(e.Vec(e.Nat8)),wasm_module:e.Opt(e.Vec(e.Nat8)),skip_stopping_before_installing:e.Opt(e.Bool),canister_id:e.Opt(e.Principal),install_mode:e.Opt(e.Int32)}),Lt=e.Variant({RegisterKnownNeuron:c,ManageNeuron:t,UpdateCanisterSettings:Z,InstallCode:Dt,StopOrStartCanister:Y,CreateServiceNervousSystem:Ae,ExecuteNnsFunction:Fe,RewardNodeProvider:B,RewardNodeProviders:qe,ManageNetworkEconomics:U,ApproveGenesisKyc:ee,AddOrRemoveNodeProvider:Ee,Motion:Be}),eo=e.Record({url:e.Text,title:e.Opt(e.Text),action:e.Opt(Lt),summary:e.Text}),to=e.Variant({Spawn:d,Split:_,Follow:O,DisburseMaturity:w,RefreshVotingPower:y,ClaimOrRefresh:A,Configure:F,RegisterVote:$,Merge:C,DisburseToNeuron:q,MakeProposal:eo,StakeMaturity:Q,MergeMaturity:b,Disburse:E});t.fill(e.Record({id:e.Opt(n),command:e.Opt(to),neuron_id_or_subaccount:e.Opt(P)}));let ne=e.Record({created_neuron_id:e.Opt(n)}),oo=e.Record({amount_disbursed_e8s:e.Opt(e.Nat64)}),no=e.Record({}),ro=e.Record({refreshed_neuron_id:e.Opt(n)}),so=e.Record({target_neuron:e.Opt(T),source_neuron:e.Opt(T),target_neuron_info:e.Opt(z),source_neuron_info:e.Opt(z)}),ao=e.Record({message:e.Opt(e.Text),proposal_id:e.Opt(v)}),io=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),co=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),_o=e.Record({transfer_block_height:e.Nat64}),po=e.Variant({Error:R,Spawn:ne,Split:ne,Follow:e.Record({}),DisburseMaturity:oo,RefreshVotingPower:no,ClaimOrRefresh:ro,Configure:e.Record({}),RegisterVote:e.Record({}),Merge:so,DisburseToNeuron:ne,MakeProposal:ao,StakeMaturity:io,MergeMaturity:co,Disburse:_o}),Ze=e.Record({command:e.Opt(po)}),uo=e.Record({total_direct_contribution_icp_e8s:e.Opt(e.Nat64),total_neurons_fund_contribution_icp_e8s:e.Opt(e.Nat64),sns_governance_canister_id:e.Opt(e.Principal)}),lo=e.Variant({Committed:uo,Aborted:e.Record({})}),mo=e.Record({result:e.Opt(lo),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),No=e.Record({total_direct_participation_icp_e8s:e.Opt(e.Nat64),total_neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),sns_governance_canister_id:e.Opt(e.Principal)}),Oo=e.Variant({Committed:No,Aborted:e.Record({})}),fo=e.Record({result:e.Opt(Oo),nns_proposal_id:e.Opt(e.Nat64)}),Ro=e.Record({controller:e.Opt(e.Principal),hotkeys:e.Opt(ee),is_capped:e.Opt(e.Bool),nns_neuron_id:e.Opt(e.Nat64),amount_icp_e8s:e.Opt(e.Nat64)}),go=e.Record({neurons_fund_neuron_portions:e.Vec(Ro)}),vo=e.Variant({Ok:go,Err:R}),wo=e.Record({result:e.Opt(vo)}),yo=e.Record({reward_account:e.Opt(p)});return e.Service({claim_gtc_neurons:e.Func([e.Principal,e.Vec(n)],[j],[]),claim_or_refresh_neuron_from_account:e.Func([M],[At],[]),get_build_metadata:e.Func([],[e.Text],[]),get_full_neuron:e.Func([e.Nat64],[$e],[]),get_full_neuron_by_id_or_subaccount:e.Func([P],[$e],[]),get_latest_reward_event:e.Func([],[We],[]),get_metrics:e.Func([],[Ft],[]),get_monthly_node_provider_rewards:e.Func([],[qt],[]),get_most_recent_monthly_node_provider_rewards:e.Func([],[e.Opt(K)],[]),get_network_economics_parameters:e.Func([],[U],[]),get_neuron_ids:e.Func([],[e.Vec(e.Nat64)],[]),get_neuron_info:e.Func([e.Nat64],[Qe],[]),get_neuron_info_by_id_or_subaccount:e.Func([P],[Qe],[]),get_neurons_fund_audit_info:e.Func([Et],[Kt],[]),get_node_provider_by_caller:e.Func([e.Null],[Wt],[]),get_pending_proposals:e.Func([],[e.Vec(oe)],[]),get_proposal_info:e.Func([e.Nat64],[e.Opt(oe)],[]),get_restore_aging_summary:e.Func([],[Ke],[]),list_known_neurons:e.Func([],[Ht],[]),list_neurons:e.Func([zt],[Xt],[]),list_node_provider_rewards:e.Func([$t],[Qt],[]),list_node_providers:e.Func([],[Zt],[]),list_proposals:e.Func([Yt],[It],[]),manage_neuron:e.Func([t],[Ze],[]),settle_community_fund_participation:e.Func([mo],[j],[]),settle_neurons_fund_participation:e.Func([fo],[wo],[]),simulate_manage_neuron:e.Func([t],[Ze],[]),transfer_gtc_neuron:e.Func([n,n],[j],[]),update_node_provider:e.Func([yo],[j],[])})};var Ao=({IDL:e})=>{let t=e.Rec(),o=e.Rec(),n=e.Record({id:e.Nat64}),s=e.Record({followees:e.Vec(n)}),i=e.Record({name:e.Text,description:e.Opt(e.Text)}),c=e.Record({id:e.Opt(n),known_neuron_data:e.Opt(i)}),d=e.Record({percentage_to_spawn:e.Opt(e.Nat32),new_controller:e.Opt(e.Principal),nonce:e.Opt(e.Nat64)}),_=e.Record({amount_e8s:e.Nat64}),O=e.Record({topic:e.Int32,followees:e.Vec(n)}),p=e.Record({hash:e.Vec(e.Nat8)}),l=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(e.Vec(e.Nat8))}),w=e.Record({to_account_identifier:e.Opt(p),to_account:e.Opt(l),percentage_to_disburse:e.Nat32}),y=e.Record({}),M=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),J=e.Variant({NeuronIdOrSubaccount:e.Record({}),MemoAndController:M,Memo:e.Nat64}),A=e.Record({by:e.Opt(J)}),_e=e.Record({hot_key_to_remove:e.Opt(e.Principal)}),de=e.Record({new_hot_key:e.Opt(e.Principal)}),u=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),pe=e.Record({additional_dissolve_delay_seconds:e.Nat32}),ue=e.Record({visibility:e.Opt(e.Int32)}),le=e.Record({dissolve_timestamp_seconds:e.Nat64}),me=e.Variant({RemoveHotKey:_e,AddHotKey:de,ChangeAutoStakeMaturity:u,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:pe,SetVisibility:ue,JoinCommunityFund:e.Record({}),LeaveCommunityFund:e.Record({}),SetDissolveTimestamp:le}),F=e.Record({operation:e.Opt(me)}),v=e.Record({id:e.Nat64}),$=e.Record({vote:e.Int32,proposal:e.Opt(v)}),C=e.Record({source_neuron_id:e.Opt(n)}),q=e.Record({dissolve_delay_seconds:e.Nat64,kyc_verified:e.Bool,amount_e8s:e.Nat64,new_controller:e.Opt(e.Principal),nonce:e.Nat64}),Q=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),b=e.Record({percentage_to_merge:e.Nat32}),Ne=e.Record({e8s:e.Nat64}),E=e.Record({to_account:e.Opt(p),amount:e.Opt(Ne)}),Oe=e.Variant({Spawn:d,Split:_,Follow:O,DisburseMaturity:w,RefreshVotingPower:y,ClaimOrRefresh:A,Configure:F,RegisterVote:$,Merge:C,DisburseToNeuron:q,MakeProposal:o,StakeMaturity:Q,MergeMaturity:b,Disburse:E}),P=e.Variant({Subaccount:e.Vec(e.Nat8),NeuronId:n}),fe=e.Record({id:e.Opt(n),command:e.Opt(Oe),neuron_id_or_subaccount:e.Opt(P)}),Re=e.Record({controllers:e.Vec(e.Principal)}),ge=e.Record({freezing_threshold:e.Opt(e.Nat64),wasm_memory_threshold:e.Opt(e.Nat64),controllers:e.Opt(Re),log_visibility:e.Opt(e.Int32),wasm_memory_limit:e.Opt(e.Nat64),memory_allocation:e.Opt(e.Nat64),compute_allocation:e.Opt(e.Nat64)}),Z=e.Record({canister_id:e.Opt(e.Principal),settings:e.Opt(ge)}),ve=e.Record({skip_stopping_before_installing:e.Opt(e.Bool),wasm_module_hash:e.Opt(e.Vec(e.Nat8)),canister_id:e.Opt(e.Principal),arg_hash:e.Opt(e.Vec(e.Nat8)),install_mode:e.Opt(e.Int32)}),Y=e.Record({action:e.Opt(e.Int32),canister_id:e.Opt(e.Principal)}),h=e.Record({basis_points:e.Opt(e.Nat64)}),g=e.Record({seconds:e.Opt(e.Nat64)}),m=e.Record({e8s:e.Opt(e.Nat64)}),we=e.Record({reward_rate_transition_duration:e.Opt(g),initial_reward_rate:e.Opt(h),final_reward_rate:e.Opt(h)}),ye=e.Record({neuron_maximum_dissolve_delay_bonus:e.Opt(h),neuron_maximum_age_for_age_bonus:e.Opt(g),neuron_maximum_dissolve_delay:e.Opt(g),neuron_minimum_dissolve_delay_to_vote:e.Opt(g),neuron_maximum_age_bonus:e.Opt(h),neuron_minimum_stake:e.Opt(m),proposal_wait_for_quiet_deadline_increase:e.Opt(g),proposal_initial_voting_period:e.Opt(g),proposal_rejection_fee:e.Opt(m),voting_reward_parameters:e.Opt(we)}),I=e.Record({base64_encoding:e.Opt(e.Text)}),be=e.Record({transaction_fee:e.Opt(m),token_symbol:e.Opt(e.Text),token_logo:e.Opt(I),token_name:e.Opt(e.Text)}),he=e.Record({id:e.Opt(e.Principal)}),Se=e.Record({dissolve_delay_interval:e.Opt(g),count:e.Opt(e.Nat64)}),ke=e.Record({seconds_after_utc_midnight:e.Opt(e.Nat64)}),xe=e.Record({iso_codes:e.Vec(e.Text)}),Ve=e.Record({minimum_participants:e.Opt(e.Nat64),neurons_fund_participation:e.Opt(e.Bool),duration:e.Opt(g),neuron_basket_construction_parameters:e.Opt(Se),confirmation_text:e.Opt(e.Text),maximum_participant_icp:e.Opt(m),minimum_icp:e.Opt(m),minimum_direct_participation_icp:e.Opt(m),minimum_participant_icp:e.Opt(m),start_time:e.Opt(ke),maximum_direct_participation_icp:e.Opt(m),maximum_icp:e.Opt(m),neurons_fund_investment_icp:e.Opt(m),restricted_countries:e.Opt(xe)}),a=e.Record({total:e.Opt(m)}),Pe=e.Record({controller:e.Opt(e.Principal),dissolve_delay:e.Opt(g),memo:e.Opt(e.Nat64),vesting_period:e.Opt(g),stake:e.Opt(m)}),Te=e.Record({developer_neurons:e.Vec(Pe)}),ot=e.Record({treasury_distribution:e.Opt(a),developer_distribution:e.Opt(Te),swap_distribution:e.Opt(a)}),Ae=e.Record({url:e.Opt(e.Text),governance_parameters:e.Opt(ye),fallback_controller_principal_ids:e.Vec(e.Principal),logo:e.Opt(I),name:e.Opt(e.Text),ledger_parameters:e.Opt(be),description:e.Opt(e.Text),dapp_canisters:e.Vec(he),swap_parameters:e.Opt(Ve),initial_token_distribution:e.Opt(ot)}),Fe=e.Record({nns_function:e.Int32,payload:e.Vec(e.Nat8)}),S=e.Record({id:e.Opt(e.Principal),reward_account:e.Opt(p)}),nt=e.Record({dissolve_delay_seconds:e.Nat64}),rt=e.Record({to_account:e.Opt(p)}),st=e.Variant({RewardToNeuron:nt,RewardToAccount:rt}),B=e.Record({node_provider:e.Opt(S),reward_mode:e.Opt(st),amount_e8s:e.Nat64}),at=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),it=e.Record({min_participant_icp_e8s:e.Nat64,neuron_basket_construction_parameters:e.Opt(at),max_icp_e8s:e.Nat64,swap_due_timestamp_seconds:e.Nat64,min_participants:e.Nat32,sns_token_e8s:e.Nat64,sale_delay_seconds:e.Opt(e.Nat64),max_participant_icp_e8s:e.Nat64,min_direct_participation_icp_e8s:e.Opt(e.Nat64),min_icp_e8s:e.Nat64,max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),ct=e.Record({community_fund_investment_e8s:e.Opt(e.Nat64),target_swap_canister_id:e.Opt(e.Principal),params:e.Opt(it)}),_t=e.Record({start_timestamp_seconds:e.Nat64,end_timestamp_seconds:e.Nat64}),dt=e.Record({open_time_window:e.Opt(_t)}),pt=e.Record({request:e.Opt(dt),swap_canister_id:e.Opt(e.Principal)}),ut=e.Record({default_followees:e.Vec(e.Tuple(e.Int32,s))}),qe=e.Record({use_registry_derived_rewards:e.Opt(e.Bool),rewards:e.Vec(B)}),lt=e.Record({start_reducing_voting_power_after_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),clear_following_after_seconds:e.Opt(e.Nat64)}),G=e.Record({human_readable:e.Opt(e.Text)}),mt=e.Record({contribution_threshold_xdr:e.Opt(G),one_third_participation_milestone_xdr:e.Opt(G),full_participation_milestone_xdr:e.Opt(G)}),Nt=e.Record({maximum_icp_xdr_rate:e.Opt(h),neurons_fund_matched_funding_curve_coefficients:e.Opt(mt),max_theoretical_neurons_fund_participation_amount_xdr:e.Opt(G),minimum_icp_xdr_rate:e.Opt(h)}),U=e.Record({neuron_minimum_stake_e8s:e.Nat64,voting_power_economics:e.Opt(lt),max_proposals_to_keep_per_topic:e.Nat32,neuron_management_fee_per_proposal_e8s:e.Nat64,reject_cost_e8s:e.Nat64,transaction_fee_e8s:e.Nat64,neuron_spawn_dissolve_delay_seconds:e.Nat64,minimum_icp_xdr_rate:e.Nat64,maximum_node_provider_rewards_e8s:e.Nat64,neurons_fund_economics:e.Opt(Nt)}),ee=e.Record({principals:e.Vec(e.Principal)}),Ot=e.Variant({ToRemove:S,ToAdd:S}),Ee=e.Record({change:e.Opt(Ot)}),Be=e.Record({motion_text:e.Text}),ft=e.Variant({RegisterKnownNeuron:c,ManageNeuron:fe,UpdateCanisterSettings:Z,InstallCode:ve,StopOrStartCanister:Y,CreateServiceNervousSystem:Ae,ExecuteNnsFunction:Fe,RewardNodeProvider:B,OpenSnsTokenSwap:ct,SetSnsTokenSwapOpenTimeWindow:pt,SetDefaultFollowees:ut,RewardNodeProviders:qe,ManageNetworkEconomics:U,ApproveGenesisKyc:ee,AddOrRemoveNodeProvider:Ee,Motion:Be});o.fill(e.Record({url:e.Text,title:e.Opt(e.Text),action:e.Opt(ft),summary:e.Text}));let Rt=e.Record({proposal:e.Opt(o),caller:e.Opt(e.Principal),proposer_id:e.Opt(n)}),Ge=e.Record({xdr_permyriad_per_icp:e.Opt(e.Nat64),timestamp_seconds:e.Opt(e.Nat64)}),K=e.Record({minimum_xdr_permyriad_per_icp:e.Opt(e.Nat64),registry_version:e.Opt(e.Nat64),node_providers:e.Vec(S),timestamp:e.Nat64,rewards:e.Vec(B),xdr_conversion_rate:e.Opt(Ge),maximum_node_provider_rewards_e8s:e.Opt(e.Nat64)}),W=e.Record({total_maturity_e8s_equivalent:e.Opt(e.Nat64),maturity_e8s_equivalent_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),voting_power_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),total_staked_e8s:e.Opt(e.Nat64),count:e.Opt(e.Nat64),deciding_voting_power_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),total_staked_maturity_e8s_equivalent:e.Opt(e.Nat64),total_potential_voting_power:e.Opt(e.Nat64),total_deciding_voting_power:e.Opt(e.Nat64),staked_maturity_e8s_equivalent_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),staked_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),total_voting_power:e.Opt(e.Nat64),potential_voting_power_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64))}),Ue=e.Record({total_maturity_e8s_equivalent:e.Nat64,not_dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),dissolving_neurons_staked_maturity_e8s_equivalent_sum:e.Nat64,garbage_collectable_neurons_count:e.Nat64,dissolving_neurons_staked_maturity_e8s_equivalent_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),neurons_with_invalid_stake_count:e.Nat64,not_dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),ect_neuron_count:e.Nat64,total_supply_icp:e.Nat64,neurons_with_less_than_6_months_dissolve_delay_count:e.Nat64,dissolved_neurons_count:e.Nat64,community_fund_total_maturity_e8s_equivalent:e.Nat64,total_staked_e8s_seed:e.Nat64,total_staked_maturity_e8s_equivalent_ect:e.Nat64,total_staked_e8s:e.Nat64,fully_lost_voting_power_neuron_subset_metrics:e.Opt(W),not_dissolving_neurons_count:e.Nat64,total_locked_e8s:e.Nat64,neurons_fund_total_active_neurons:e.Nat64,total_voting_power_non_self_authenticating_controller:e.Opt(e.Nat64),total_staked_maturity_e8s_equivalent:e.Nat64,not_dissolving_neurons_e8s_buckets_ect:e.Vec(e.Tuple(e.Nat64,e.Float64)),declining_voting_power_neuron_subset_metrics:e.Opt(W),total_staked_e8s_ect:e.Nat64,not_dissolving_neurons_staked_maturity_e8s_equivalent_sum:e.Nat64,dissolved_neurons_e8s:e.Nat64,total_staked_e8s_non_self_authenticating_controller:e.Opt(e.Nat64),dissolving_neurons_e8s_buckets_seed:e.Vec(e.Tuple(e.Nat64,e.Float64)),neurons_with_less_than_6_months_dissolve_delay_e8s:e.Nat64,not_dissolving_neurons_staked_maturity_e8s_equivalent_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),dissolving_neurons_e8s_buckets_ect:e.Vec(e.Tuple(e.Nat64,e.Float64)),non_self_authenticating_controller_neuron_subset_metrics:e.Opt(W),dissolving_neurons_count:e.Nat64,dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),total_staked_maturity_e8s_equivalent_seed:e.Nat64,community_fund_total_staked_e8s:e.Nat64,not_dissolving_neurons_e8s_buckets_seed:e.Vec(e.Tuple(e.Nat64,e.Float64)),public_neuron_subset_metrics:e.Opt(W),timestamp_seconds:e.Nat64,seed_neuron_count:e.Nat64}),gt=e.Record({count:e.Opt(e.Nat64),previous_total_stake_e8s:e.Opt(e.Nat64),current_total_stake_e8s:e.Opt(e.Nat64),group_type:e.Int32}),Ke=e.Record({groups:e.Vec(gt),timestamp_seconds:e.Opt(e.Nat64)}),We=e.Record({rounds_since_last_distribution:e.Opt(e.Nat64),day_after_genesis:e.Nat64,actual_timestamp_seconds:e.Nat64,total_available_e8s_equivalent:e.Nat64,latest_round_available_e8s_equivalent:e.Opt(e.Nat64),distributed_e8s_equivalent:e.Nat64,settled_proposals:e.Vec(v)}),He=e.Record({to_subaccount:e.Vec(e.Nat8),neuron_stake_e8s:e.Nat64,from:e.Opt(e.Principal),memo:e.Nat64,from_subaccount:e.Vec(e.Nat8),transfer_timestamp:e.Nat64,block_height:e.Nat64}),R=e.Record({error_message:e.Text,error_type:e.Int32}),je=e.Record({vote:e.Int32,voting_power:e.Nat64}),vt=e.Record({min_participant_icp_e8s:e.Opt(e.Nat64),max_participant_icp_e8s:e.Opt(e.Nat64),min_direct_participation_icp_e8s:e.Opt(e.Nat64),max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),wt=e.Record({controller:e.Opt(e.Principal),hotkeys:e.Vec(e.Principal),is_capped:e.Opt(e.Bool),maturity_equivalent_icp_e8s:e.Opt(e.Nat64),nns_neuron_id:e.Opt(n),amount_icp_e8s:e.Opt(e.Nat64)}),te=e.Record({neurons_fund_neuron_portions:e.Vec(wt)}),yt=e.Record({serialized_representation:e.Opt(e.Text)}),H=e.Record({total_maturity_equivalent_icp_e8s:e.Opt(e.Nat64),intended_neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),direct_participation_icp_e8s:e.Opt(e.Nat64),swap_participation_limits:e.Opt(vt),max_neurons_fund_swap_participation_icp_e8s:e.Opt(e.Nat64),neurons_fund_reserves:e.Opt(te),ideal_matched_participation_function:e.Opt(yt),allocated_neurons_fund_participation_icp_e8s:e.Opt(e.Nat64)}),bt=e.Record({final_neurons_fund_participation:e.Opt(H),initial_neurons_fund_participation:e.Opt(H),neurons_fund_refunds:e.Opt(te)}),ht=e.Record({status:e.Opt(e.Int32),freezing_threshold:e.Opt(e.Nat64),controllers:e.Vec(e.Principal),memory_size:e.Opt(e.Nat64),cycles:e.Opt(e.Nat64),idle_cycles_burned_per_day:e.Opt(e.Nat64),module_hash:e.Vec(e.Nat8)}),k=e.Record({status:e.Opt(ht),canister_id:e.Opt(e.Principal)}),St=e.Record({ledger_index_canister_summary:e.Opt(k),fallback_controller_principal_ids:e.Vec(e.Principal),ledger_archive_canister_summaries:e.Vec(k),ledger_canister_summary:e.Opt(k),swap_canister_summary:e.Opt(k),governance_canister_summary:e.Opt(k),root_canister_summary:e.Opt(k),dapp_canister_summaries:e.Vec(k)}),ze=e.Record({swap_background_information:e.Opt(St)}),Xe=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),kt=e.Record({current_deadline_timestamp_seconds:e.Nat64}),xt=e.Record({id:e.Opt(v),topic:e.Opt(e.Int32),failure_reason:e.Opt(R),ballots:e.Vec(e.Tuple(e.Nat64,je)),proposal_timestamp_seconds:e.Nat64,reward_event_round:e.Nat64,failed_timestamp_seconds:e.Nat64,neurons_fund_data:e.Opt(bt),reject_cost_e8s:e.Nat64,derived_proposal_information:e.Opt(ze),latest_tally:e.Opt(Xe),total_potential_voting_power:e.Opt(e.Nat64),sns_token_swap_lifecycle:e.Opt(e.Int32),decided_timestamp_seconds:e.Nat64,proposal:e.Opt(o),proposer:e.Opt(n),wait_for_quiet_state:e.Opt(kt),executed_timestamp_seconds:e.Nat64,original_total_community_fund_maturity_e8s_equivalent:e.Opt(e.Nat64)}),Vt=e.Variant({Spawn:n,Split:_,Configure:F,Merge:C,DisburseToNeuron:q,SyncCommand:e.Record({}),ClaimOrRefreshNeuron:A,MergeMaturity:b,Disburse:E}),Pt=e.Record({command:e.Opt(Vt),timestamp:e.Nat64}),Je=e.Record({vote:e.Int32,proposal_id:e.Opt(v)}),Tt=e.Record({account_identifier_to_disburse_to:e.Opt(p),timestamp_of_disbursement_seconds:e.Opt(e.Nat64),amount_e8s:e.Opt(e.Nat64),account_to_disburse_to:e.Opt(l),finalize_disbursement_timestamp_seconds:e.Opt(e.Nat64)}),Ct=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),T=e.Record({id:e.Opt(n),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),controller:e.Opt(e.Principal),recent_ballots:e.Vec(Je),voting_power_refreshed_timestamp_seconds:e.Opt(e.Nat64),kyc_verified:e.Bool,potential_voting_power:e.Opt(e.Nat64),neuron_type:e.Opt(e.Int32),not_for_profit:e.Bool,maturity_e8s_equivalent:e.Nat64,deciding_voting_power:e.Opt(e.Nat64),cached_neuron_stake_e8s:e.Nat64,created_timestamp_seconds:e.Nat64,auto_stake_maturity:e.Opt(e.Bool),aging_since_timestamp_seconds:e.Nat64,hot_keys:e.Vec(e.Principal),account:e.Vec(e.Nat8),joined_community_fund_timestamp_seconds:e.Opt(e.Nat64),maturity_disbursements_in_progress:e.Opt(e.Vec(Tt)),dissolve_state:e.Opt(Ct),followees:e.Vec(e.Tuple(e.Int32,s)),neuron_fees_e8s:e.Nat64,visibility:e.Opt(e.Int32),transfer:e.Opt(He),known_neuron_data:e.Opt(i),spawn_at_timestamp_seconds:e.Opt(e.Nat64)}),sn=e.Record({default_followees:e.Vec(e.Tuple(e.Int32,s)),making_sns_proposal:e.Opt(Rt),most_recent_monthly_node_provider_rewards:e.Opt(K),maturity_modulation_last_updated_at_timestamp_seconds:e.Opt(e.Nat64),wait_for_quiet_threshold_seconds:e.Nat64,metrics:e.Opt(Ue),neuron_management_voting_period_seconds:e.Opt(e.Nat64),node_providers:e.Vec(S),cached_daily_maturity_modulation_basis_points:e.Opt(e.Int32),economics:e.Opt(U),restore_aging_summary:e.Opt(Ke),spawning_neurons:e.Opt(e.Bool),latest_reward_event:e.Opt(We),to_claim_transfers:e.Vec(He),short_voting_period_seconds:e.Nat64,proposals:e.Vec(e.Tuple(e.Nat64,xt)),xdr_conversion_rate:e.Opt(Ge),in_flight_commands:e.Vec(e.Tuple(e.Nat64,Pt)),neurons:e.Vec(e.Tuple(e.Nat64,T)),genesis_timestamp_seconds:e.Nat64}),j=e.Variant({Ok:e.Null,Err:R}),Mt=e.Variant({Error:R,NeuronId:n}),At=e.Record({result:e.Opt(Mt)}),$e=e.Variant({Ok:T,Err:R}),Ft=e.Variant({Ok:Ue,Err:R}),qt=e.Variant({Ok:K,Err:R}),z=e.Record({dissolve_delay_seconds:e.Nat64,recent_ballots:e.Vec(Je),voting_power_refreshed_timestamp_seconds:e.Opt(e.Nat64),potential_voting_power:e.Opt(e.Nat64),neuron_type:e.Opt(e.Int32),deciding_voting_power:e.Opt(e.Nat64),created_timestamp_seconds:e.Nat64,state:e.Int32,stake_e8s:e.Nat64,joined_community_fund_timestamp_seconds:e.Opt(e.Nat64),retrieved_at_timestamp_seconds:e.Nat64,visibility:e.Opt(e.Int32),known_neuron_data:e.Opt(i),voting_power:e.Nat64,age_seconds:e.Nat64}),Qe=e.Variant({Ok:z,Err:R}),Et=e.Record({nns_proposal_id:e.Opt(v)}),Bt=e.Record({final_neurons_fund_participation:e.Opt(H),initial_neurons_fund_participation:e.Opt(H),neurons_fund_refunds:e.Opt(te)}),Gt=e.Record({neurons_fund_audit_info:e.Opt(Bt)}),Ut=e.Variant({Ok:Gt,Err:R}),Kt=e.Record({result:e.Opt(Ut)}),Wt=e.Variant({Ok:S,Err:R}),oe=e.Record({id:e.Opt(v),status:e.Int32,topic:e.Int32,failure_reason:e.Opt(R),ballots:e.Vec(e.Tuple(e.Nat64,je)),proposal_timestamp_seconds:e.Nat64,reward_event_round:e.Nat64,deadline_timestamp_seconds:e.Opt(e.Nat64),failed_timestamp_seconds:e.Nat64,reject_cost_e8s:e.Nat64,derived_proposal_information:e.Opt(ze),latest_tally:e.Opt(Xe),total_potential_voting_power:e.Opt(e.Nat64),reward_status:e.Int32,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(o),proposer:e.Opt(n),executed_timestamp_seconds:e.Nat64}),Ht=e.Record({known_neurons:e.Vec(c)}),jt=e.Record({subaccount:e.Vec(e.Nat8)}),zt=e.Record({page_size:e.Opt(e.Nat64),include_public_neurons_in_full_neurons:e.Opt(e.Bool),neuron_ids:e.Vec(e.Nat64),page_number:e.Opt(e.Nat64),include_empty_neurons_readable_by_caller:e.Opt(e.Bool),neuron_subaccounts:e.Opt(e.Vec(jt)),include_neurons_readable_by_caller:e.Bool}),Xt=e.Record({neuron_infos:e.Vec(e.Tuple(e.Nat64,z)),full_neurons:e.Vec(T),total_pages_available:e.Opt(e.Nat64)}),Jt=e.Record({start_timestamp_seconds:e.Opt(e.Nat64),end_timestamp_seconds:e.Opt(e.Nat64)}),$t=e.Record({date_filter:e.Opt(Jt)}),Qt=e.Record({rewards:e.Vec(K)}),Zt=e.Record({node_providers:e.Vec(S)}),Yt=e.Record({include_reward_status:e.Vec(e.Int32),omit_large_fields:e.Opt(e.Bool),before_proposal:e.Opt(v),limit:e.Nat32,exclude_topic:e.Vec(e.Int32),include_all_manage_neuron_proposals:e.Opt(e.Bool),include_status:e.Vec(e.Int32)}),It=e.Record({proposal_info:e.Vec(oe)}),Dt=e.Record({arg:e.Opt(e.Vec(e.Nat8)),w