UNPKG

@dfinity/nns

Version:

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

1 lines • 152 kB
"use strict";var nn=Object.defineProperty;var Hr=Object.getOwnPropertyDescriptor;var Kr=Object.getOwnPropertyNames;var Wr=Object.prototype.hasOwnProperty;var jr=(e,t)=>{for(var o in t)nn(e,o,{get:t[o],enumerable:!0})},zr=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Kr(t))!Wr.call(e,s)&&s!==o&&nn(e,s,{get:()=>t[s],enumerable:!(n=Hr(t,s))||n.enumerable});return e};var Xr=e=>zr(nn({},"__esModule",{value:!0}),e);var Zs={};jr(Zs,{CanisterAction:()=>Vn,CanisterInstallMode:()=>Tn,CouldNotClaimNeuronError:()=>To,GenesisTokenCanister:()=>Uo,GovernanceCanister:()=>Lo,GovernanceError:()=>ce,GovernanceTestCanister:()=>en,InsufficientAmountError:()=>Co,LogVisibility:()=>kn,NeuronState:()=>wn,NeuronType:()=>xn,NeuronVisibility:()=>Pn,NnsFunction:()=>Sn,ProposalRewardStatus:()=>bn,ProposalStatus:()=>hn,SnsWasmCanister:()=>on,StakeNeuronError:()=>Po,Topic:()=>yn,UnrecognizedTypeError:()=>Me,UnsupportedValueError:()=>V,Vote:()=>rn,accountIdentifierFromBytes:()=>un,accountIdentifierToBytes:()=>pn,ineligibleNeurons:()=>Fr,memoToNeuronAccountIdentifier:()=>gn,memoToNeuronSubaccount:()=>Ar,principalToAccountIdentifier:()=>Ao,votableNeurons:()=>Qs,votedNeurons:()=>$s});module.exports=Xr(Zs);var wn=(a=>(a[a.Unspecified=0]="Unspecified",a[a.Locked=1]="Locked",a[a.Dissolving=2]="Dissolving",a[a.Dissolved=3]="Dissolved",a[a.Spawning=4]="Spawning",a))(wn||{}),yn=(l=>(l[l.Unspecified=0]="Unspecified",l[l.NeuronManagement=1]="NeuronManagement",l[l.ExchangeRate=2]="ExchangeRate",l[l.NetworkEconomics=3]="NetworkEconomics",l[l.Governance=4]="Governance",l[l.NodeAdmin=5]="NodeAdmin",l[l.ParticipantManagement=6]="ParticipantManagement",l[l.SubnetManagement=7]="SubnetManagement",l[l.NetworkCanisterManagement=8]="NetworkCanisterManagement",l[l.Kyc=9]="Kyc",l[l.NodeProviderRewards=10]="NodeProviderRewards",l[l.SnsDecentralizationSale=11]="SnsDecentralizationSale",l[l.IcOsVersionDeployment=12]="IcOsVersionDeployment",l[l.IcOsVersionElection=13]="IcOsVersionElection",l[l.SnsAndCommunityFund=14]="SnsAndCommunityFund",l[l.ApiBoundaryNodeManagement=15]="ApiBoundaryNodeManagement",l[l.SubnetRental=16]="SubnetRental",l[l.ProtocolCanisterManagement=17]="ProtocolCanisterManagement",l[l.ServiceNervousSystemManagement=18]="ServiceNervousSystemManagement",l))(yn||{}),bn=(a=>(a[a.Unknown=0]="Unknown",a[a.AcceptVotes=1]="AcceptVotes",a[a.ReadyToSettle=2]="ReadyToSettle",a[a.Settled=3]="Settled",a[a.Ineligible=4]="Ineligible",a))(bn||{}),hn=(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))(hn||{}),rn=(n=>(n[n.Unspecified=0]="Unspecified",n[n.Yes=1]="Yes",n[n.No=2]="No",n))(rn||{}),Sn=(i=>(i[i.Unspecified=0]="Unspecified",i[i.CreateSubnet=1]="CreateSubnet",i[i.AddNodeToSubnet=2]="AddNodeToSubnet",i[i.NnsCanisterInstall=3]="NnsCanisterInstall",i[i.NnsCanisterUpgrade=4]="NnsCanisterUpgrade",i[i.BlessReplicaVersion=5]="BlessReplicaVersion",i[i.RecoverSubnet=6]="RecoverSubnet",i[i.UpdateConfigOfSubnet=7]="UpdateConfigOfSubnet",i[i.AssignNoid=8]="AssignNoid",i[i.NnsRootUpgrade=9]="NnsRootUpgrade",i[i.IcpXdrConversionRate=10]="IcpXdrConversionRate",i[i.DeployGuestosToAllSubnetNodes=11]="DeployGuestosToAllSubnetNodes",i[i.ClearProvisionalWhitelist=12]="ClearProvisionalWhitelist",i[i.RemoveNodesFromSubnet=13]="RemoveNodesFromSubnet",i[i.SetAuthorizedSubnetworks=14]="SetAuthorizedSubnetworks",i[i.SetFirewallConfig=15]="SetFirewallConfig",i[i.UpdateNodeOperatorConfig=16]="UpdateNodeOperatorConfig",i[i.StopOrStartNnsCanister=17]="StopOrStartNnsCanister",i[i.RemoveNodes=18]="RemoveNodes",i[i.UninstallCode=19]="UninstallCode",i[i.UpdateNodeRewardsTable=20]="UpdateNodeRewardsTable",i[i.AddOrRemoveDataCenters=21]="AddOrRemoveDataCenters",i[i.UpdateUnassignedNodesConfig=22]="UpdateUnassignedNodesConfig",i[i.RemoveNodeOperators=23]="RemoveNodeOperators",i[i.RerouteCanisterRanges=24]="RerouteCanisterRanges",i[i.AddFirewallRules=25]="AddFirewallRules",i[i.RemoveFirewallRules=26]="RemoveFirewallRules",i[i.UpdateFirewallRules=27]="UpdateFirewallRules",i[i.PrepareCanisterMigration=28]="PrepareCanisterMigration",i[i.CompleteCanisterMigration=29]="CompleteCanisterMigration",i[i.AddSnsWasm=30]="AddSnsWasm",i[i.ChangeSubnetMembership=31]="ChangeSubnetMembership",i[i.UpdateSubnetType=32]="UpdateSubnetType",i[i.ChangeSubnetTypeAssignment=33]="ChangeSubnetTypeAssignment",i[i.UpdateSnsWasmSnsSubnetIds=34]="UpdateSnsWasmSnsSubnetIds",i[i.UpdateAllowedPrincipals=35]="UpdateAllowedPrincipals",i[i.RetireReplicaVersion=36]="RetireReplicaVersion",i[i.InsertSnsWasmUpgradePathEntries=37]="InsertSnsWasmUpgradePathEntries",i[i.ReviseElectedGuestosVersions=38]="ReviseElectedGuestosVersions",i[i.BitcoinSetConfig=39]="BitcoinSetConfig",i[i.UpdateElectedHostosVersions=40]="UpdateElectedHostosVersions",i[i.UpdateNodesHostosVersion=41]="UpdateNodesHostosVersion",i[i.HardResetNnsRootToVersion=42]="HardResetNnsRootToVersion",i[i.AddApiBoundaryNodes=43]="AddApiBoundaryNodes",i[i.RemoveApiBoundaryNodes=44]="RemoveApiBoundaryNodes",i[i.UpdateApiBoundaryNodeDomain=45]="UpdateApiBoundaryNodeDomain",i[i.UpdateApiBoundaryNodesVersion=46]="UpdateApiBoundaryNodesVersion",i[i.DeployGuestosToSomeApiBoundaryNodes=47]="DeployGuestosToSomeApiBoundaryNodes",i[i.DeployGuestosToAllUnassignedNodes=48]="DeployGuestosToAllUnassignedNodes",i[i.UpdateSshReadOnlyAccessForAllUnassignedNodes=49]="UpdateSshReadOnlyAccessForAllUnassignedNodes",i[i.ReviseElectedHostosVersions=50]="ReviseElectedHostosVersions",i[i.DeployHostosToSomeNodes=51]="DeployHostosToSomeNodes",i[i.SubnetRentalRequest=52]="SubnetRentalRequest",i))(Sn||{}),xn=(n=>(n[n.Unspecified=0]="Unspecified",n[n.Seed=1]="Seed",n[n.Ect=2]="Ect",n))(xn||{}),kn=(n=>(n[n.Unspecified=0]="Unspecified",n[n.Controllers=1]="Controllers",n[n.Public=2]="Public",n))(kn||{}),Vn=(n=>(n[n.Unspecified=0]="Unspecified",n[n.Stop=1]="Stop",n[n.Start=2]="Start",n))(Vn||{}),Pn=(n=>(n[n.Unspecified=0]="Unspecified",n[n.Private=1]="Private",n[n.Public=2]="Public",n))(Pn||{}),Tn=(s=>(s[s.Unspecified=0]="Unspecified",s[s.Install=1]="Install",s[s.Reinstall=2]="Reinstall",s[s.Upgrade=3]="Upgrade",s))(Tn||{});var Po=class extends Error{},To=class extends Po{},Co=class extends Po{constructor(o){super();this.minimumAmount=o}},Me=class extends Error{},ce=class extends Error{constructor(o){super();this.detail=o}},V=class extends Error{constructor(t){super(`Unsupported value: ${t}`)}};var qn=require("@dfinity/utils");var Cn=({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)}),a=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:a,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 Mn=({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)}),a=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:a,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 Mo=require("@dfinity/principal"),ta=Mo.Principal.fromText("rrkah-fqaaa-aaaaa-aaaaq-cai"),Go=Mo.Principal.fromText("rrkah-fqaaa-aaaaa-aaaaq-cai"),Fn=Mo.Principal.fromText("renrk-eyaaa-aaaaa-aaada-cai"),An=Mo.Principal.fromText("r7inp-6aaaa-aaaaa-aaabq-cai");var Uo=class e{constructor(t){this.service=t}static create(t={}){let{service:o}=(0,qn.createServices)({options:{...t,canisterId:t.canisterId??Fn},idlFactory:Mn,certifiedIdlFactory:Cn});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 qr=require("@dfinity/agent"),rt=require("@dfinity/ledger-icp"),f=require("@dfinity/utils");var En=({IDL:e})=>{let t=e.Rec(),o=e.Rec(),n=e.Record({id:e.Nat64}),s=e.Record({followees:e.Vec(n)}),a=e.Record({name:e.Text,description:e.Opt(e.Text)}),c=e.Record({id:e.Opt(n),known_neuron_data:e.Opt(a)}),d=e.Record({user:e.Opt(e.Principal),replica_version_id:e.Opt(e.Text),node_ids:e.Opt(e.Vec(e.Principal))}),_=e.Record({percentage_to_spawn:e.Opt(e.Nat32),new_controller:e.Opt(e.Principal),nonce:e.Opt(e.Nat64)}),m=e.Record({amount_e8s:e.Nat64}),O=e.Record({topic:e.Int32,followees:e.Vec(n)}),p=e.Record({hash:e.Vec(e.Nat8)}),w=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(e.Vec(e.Nat8))}),y=e.Record({to_account_identifier:e.Opt(p),to_account:e.Opt(w),percentage_to_disburse:e.Nat32}),F=e.Record({}),M=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),ue=e.Variant({NeuronIdOrSubaccount:e.Record({}),MemoAndController:M,Memo:e.Nat64}),A=e.Record({by:e.Opt(ue)}),le=e.Record({hot_key_to_remove:e.Opt(e.Principal)}),l=e.Record({new_hot_key:e.Opt(e.Principal)}),me=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),Ne=e.Record({additional_dissolve_delay_seconds:e.Nat32}),Oe=e.Record({visibility:e.Opt(e.Int32)}),fe=e.Record({dissolve_timestamp_seconds:e.Nat64}),Re=e.Variant({RemoveHotKey:le,AddHotKey:l,ChangeAutoStakeMaturity:me,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:Ne,SetVisibility:Oe,JoinCommunityFund:e.Record({}),LeaveCommunityFund:e.Record({}),SetDissolveTimestamp:fe}),C=e.Record({operation:e.Opt(Re)}),v=e.Record({id:e.Nat64}),U=e.Record({vote:e.Int32,proposal:e.Opt(v)}),q=e.Record({source_neuron_id:e.Opt(n)}),E=e.Record({dissolve_delay_seconds:e.Nat64,kyc_verified:e.Bool,amount_e8s:e.Nat64,new_controller:e.Opt(e.Principal),nonce:e.Nat64}),k=e.Record({topic:e.Opt(e.Int32),followees:e.Opt(e.Vec(n))}),Z=e.Record({topic_following:e.Opt(e.Vec(k))}),Y=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),B=e.Record({percentage_to_merge:e.Nat32}),ge=e.Record({e8s:e.Nat64}),G=e.Record({to_account:e.Opt(p),amount:e.Opt(ge)}),ve=e.Variant({Spawn:_,Split:m,Follow:O,DisburseMaturity:y,RefreshVotingPower:F,ClaimOrRefresh:A,Configure:C,RegisterVote:U,Merge:q,DisburseToNeuron:E,SetFollowing:Z,MakeProposal:o,StakeMaturity:Y,MergeMaturity:B,Disburse:G}),P=e.Variant({Subaccount:e.Vec(e.Nat8),NeuronId:n}),we=e.Record({id:e.Opt(n),command:e.Opt(ve),neuron_id_or_subaccount:e.Opt(P)}),ye=e.Record({controllers:e.Vec(e.Principal)}),be=e.Record({freezing_threshold:e.Opt(e.Nat64),wasm_memory_threshold:e.Opt(e.Nat64),controllers:e.Opt(ye),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)}),I=e.Record({canister_id:e.Opt(e.Principal),settings:e.Opt(be)}),he=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)}),D=e.Record({action:e.Opt(e.Int32),canister_id:e.Opt(e.Principal)}),b=e.Record({basis_points:e.Opt(e.Nat64)}),g=e.Record({seconds:e.Opt(e.Nat64)}),N=e.Record({e8s:e.Opt(e.Nat64)}),Se=e.Record({reward_rate_transition_duration:e.Opt(g),initial_reward_rate:e.Opt(b),final_reward_rate:e.Opt(b)}),xe=e.Record({neuron_maximum_dissolve_delay_bonus:e.Opt(b),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(b),neuron_minimum_stake:e.Opt(N),proposal_wait_for_quiet_deadline_increase:e.Opt(g),proposal_initial_voting_period:e.Opt(g),proposal_rejection_fee:e.Opt(N),voting_reward_parameters:e.Opt(Se)}),L=e.Record({base64_encoding:e.Opt(e.Text)}),ke=e.Record({transaction_fee:e.Opt(N),token_symbol:e.Opt(e.Text),token_logo:e.Opt(L),token_name:e.Opt(e.Text)}),Ve=e.Record({id:e.Opt(e.Principal)}),Pe=e.Record({dissolve_delay_interval:e.Opt(g),count:e.Opt(e.Nat64)}),i=e.Record({seconds_after_utc_midnight:e.Opt(e.Nat64)}),Te=e.Record({iso_codes:e.Vec(e.Text)}),Ce=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(Pe),confirmation_text:e.Opt(e.Text),maximum_participant_icp:e.Opt(N),minimum_icp:e.Opt(N),minimum_direct_participation_icp:e.Opt(N),minimum_participant_icp:e.Opt(N),start_time:e.Opt(i),maximum_direct_participation_icp:e.Opt(N),maximum_icp:e.Opt(N),neurons_fund_investment_icp:e.Opt(N),restricted_countries:e.Opt(Te)}),qe=e.Record({total:e.Opt(N)}),st=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(N)}),at=e.Record({developer_neurons:e.Vec(st)}),it=e.Record({treasury_distribution:e.Opt(qe),developer_distribution:e.Opt(at),swap_distribution:e.Opt(qe)}),Ee=e.Record({url:e.Opt(e.Text),governance_parameters:e.Opt(xe),fallback_controller_principal_ids:e.Vec(e.Principal),logo:e.Opt(L),name:e.Opt(e.Text),ledger_parameters:e.Opt(ke),description:e.Opt(e.Text),dapp_canisters:e.Vec(Ve),swap_parameters:e.Opt(Ce),initial_token_distribution:e.Opt(it)}),Be=e.Record({nns_function:e.Int32,payload:e.Vec(e.Nat8)}),h=e.Record({id:e.Opt(e.Principal),reward_account:e.Opt(p)}),ct=e.Record({dissolve_delay_seconds:e.Nat64}),_t=e.Record({to_account:e.Opt(p)}),dt=e.Variant({RewardToNeuron:ct,RewardToAccount:_t}),H=e.Record({node_provider:e.Opt(h),reward_mode:e.Opt(dt),amount_e8s:e.Nat64}),pt=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),ut=e.Record({min_participant_icp_e8s:e.Nat64,neuron_basket_construction_parameters:e.Opt(pt),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)}),lt=e.Record({community_fund_investment_e8s:e.Opt(e.Nat64),target_swap_canister_id:e.Opt(e.Principal),params:e.Opt(ut)}),mt=e.Record({start_timestamp_seconds:e.Nat64,end_timestamp_seconds:e.Nat64}),Nt=e.Record({open_time_window:e.Opt(mt)}),Ot=e.Record({request:e.Opt(Nt),swap_canister_id:e.Opt(e.Principal)}),ft=e.Record({default_followees:e.Vec(e.Tuple(e.Int32,s))}),Ge=e.Record({use_registry_derived_rewards:e.Opt(e.Bool),rewards:e.Vec(H)}),Rt=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)}),K=e.Record({human_readable:e.Opt(e.Text)}),gt=e.Record({contribution_threshold_xdr:e.Opt(K),one_third_participation_milestone_xdr:e.Opt(K),full_participation_milestone_xdr:e.Opt(K)}),vt=e.Record({maximum_icp_xdr_rate:e.Opt(b),neurons_fund_matched_funding_curve_coefficients:e.Opt(gt),max_theoretical_neurons_fund_participation_amount_xdr:e.Opt(K),minimum_icp_xdr_rate:e.Opt(b)}),W=e.Record({neuron_minimum_stake_e8s:e.Nat64,voting_power_economics:e.Opt(Rt),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(vt)}),oe=e.Record({principals:e.Vec(e.Principal)}),wt=e.Variant({ToRemove:h,ToAdd:h}),Ue=e.Record({change:e.Opt(wt)}),He=e.Record({motion_text:e.Text}),yt=e.Variant({RegisterKnownNeuron:c,FulfillSubnetRentalRequest:d,ManageNeuron:we,UpdateCanisterSettings:I,InstallCode:he,StopOrStartCanister:D,CreateServiceNervousSystem:Ee,ExecuteNnsFunction:Be,RewardNodeProvider:H,OpenSnsTokenSwap:lt,SetSnsTokenSwapOpenTimeWindow:Ot,SetDefaultFollowees:ft,RewardNodeProviders:Ge,ManageNetworkEconomics:W,ApproveGenesisKyc:oe,AddOrRemoveNodeProvider:Ue,Motion:He});o.fill(e.Record({url:e.Text,title:e.Opt(e.Text),action:e.Opt(yt),summary:e.Text}));let bt=e.Record({proposal:e.Opt(o),caller:e.Opt(e.Principal),proposer_id:e.Opt(n)}),Ke=e.Record({xdr_permyriad_per_icp:e.Opt(e.Nat64),timestamp_seconds:e.Opt(e.Nat64)}),j=e.Record({minimum_xdr_permyriad_per_icp:e.Opt(e.Nat64),registry_version:e.Opt(e.Nat64),node_providers:e.Vec(h),timestamp:e.Nat64,rewards:e.Vec(H),xdr_conversion_rate:e.Opt(Ke),maximum_node_provider_rewards_e8s:e.Opt(e.Nat64)}),z=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))}),We=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(z),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)),spawning_neurons_count:e.Nat64,declining_voting_power_neuron_subset_metrics:e.Opt(z),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(z),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(z),timestamp_seconds:e.Nat64,seed_neuron_count:e.Nat64}),ht=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}),je=e.Record({groups:e.Vec(ht),timestamp_seconds:e.Opt(e.Nat64)}),ze=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)}),Xe=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}),St=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)}),xt=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)}),ne=e.Record({neurons_fund_neuron_portions:e.Vec(xt)}),kt=e.Record({serialized_representation:e.Opt(e.Text)}),X=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(St),max_neurons_fund_swap_participation_icp_e8s:e.Opt(e.Nat64),neurons_fund_reserves:e.Opt(ne),ideal_matched_participation_function:e.Opt(kt),allocated_neurons_fund_participation_icp_e8s:e.Opt(e.Nat64)}),Vt=e.Record({final_neurons_fund_participation:e.Opt(X),initial_neurons_fund_participation:e.Opt(X),neurons_fund_refunds:e.Opt(ne)}),Pt=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)}),S=e.Record({status:e.Opt(Pt),canister_id:e.Opt(e.Principal)}),Tt=e.Record({ledger_index_canister_summary:e.Opt(S),fallback_controller_principal_ids:e.Vec(e.Principal),ledger_archive_canister_summaries:e.Vec(S),ledger_canister_summary:e.Opt(S),swap_canister_summary:e.Opt(S),governance_canister_summary:e.Opt(S),root_canister_summary:e.Opt(S),dapp_canister_summaries:e.Vec(S)}),Qe=e.Record({swap_background_information:e.Opt(Tt)}),$e=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),Ct=e.Record({current_deadline_timestamp_seconds:e.Nat64}),Mt=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(Vt),reject_cost_e8s:e.Nat64,derived_proposal_information:e.Opt(Qe),latest_tally:e.Opt($e),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(Ct),executed_timestamp_seconds:e.Nat64,original_total_community_fund_maturity_e8s_equivalent:e.Opt(e.Nat64)}),Ft=e.Variant({Spawn:n,Split:m,Configure:C,Merge:q,DisburseToNeuron:E,SyncCommand:e.Record({}),ClaimOrRefreshNeuron:A,MergeMaturity:B,Disburse:G}),At=e.Record({command:e.Opt(Ft),timestamp:e.Nat64}),Ze=e.Record({vote:e.Int32,proposal_id:e.Opt(v)}),qt=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(w),finalize_disbursement_timestamp_seconds:e.Opt(e.Nat64)}),Et=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(Ze),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(qt)),dissolve_state:e.Opt(Et),followees:e.Vec(e.Tuple(e.Int32,s)),neuron_fees_e8s:e.Nat64,visibility:e.Opt(e.Int32),transfer:e.Opt(Xe),known_neuron_data:e.Opt(a),spawn_at_timestamp_seconds:e.Opt(e.Nat64)}),vn=e.Record({default_followees:e.Vec(e.Tuple(e.Int32,s)),making_sns_proposal:e.Opt(bt),most_recent_monthly_node_provider_rewards:e.Opt(j),maturity_modulation_last_updated_at_timestamp_seconds:e.Opt(e.Nat64),wait_for_quiet_threshold_seconds:e.Nat64,metrics:e.Opt(We),neuron_management_voting_period_seconds:e.Opt(e.Nat64),node_providers:e.Vec(h),cached_daily_maturity_modulation_basis_points:e.Opt(e.Int32),economics:e.Opt(W),restore_aging_summary:e.Opt(je),spawning_neurons:e.Opt(e.Bool),latest_reward_event:e.Opt(ze),to_claim_transfers:e.Vec(Xe),short_voting_period_seconds:e.Nat64,proposals:e.Vec(e.Tuple(e.Nat64,Mt)),xdr_conversion_rate:e.Opt(Ke),in_flight_commands:e.Vec(e.Tuple(e.Nat64,At)),neurons:e.Vec(e.Tuple(e.Nat64,T)),genesis_timestamp_seconds:e.Nat64}),J=e.Variant({Ok:e.Null,Err:R}),Bt=e.Variant({Error:R,NeuronId:n}),Gt=e.Record({result:e.Opt(Bt)}),Ye=e.Variant({Ok:T,Err:R}),Ut=e.Variant({Ok:We,Err:R}),Ht=e.Variant({Ok:j,Err:R}),Q=e.Record({dissolve_delay_seconds:e.Nat64,recent_ballots:e.Vec(Ze),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(a),voting_power:e.Nat64,age_seconds:e.Nat64}),Ie=e.Variant({Ok:Q,Err:R}),Kt=e.Record({nns_proposal_id:e.Opt(v)}),Wt=e.Record({final_neurons_fund_participation:e.Opt(X),initial_neurons_fund_participation:e.Opt(X),neurons_fund_refunds:e.Opt(ne)}),jt=e.Record({neurons_fund_audit_info:e.Opt(Wt)}),zt=e.Variant({Ok:jt,Err:R}),Xt=e.Record({result:e.Opt(zt)}),Jt=e.Variant({Ok:h,Err:R}),re=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(Qe),latest_tally:e.Opt($e),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}),Qt=e.Record({known_neurons:e.Vec(c)}),$t=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($t)),include_neurons_readable_by_caller:e.Bool}),Yt=e.Record({neuron_infos:e.Vec(e.Tuple(e.Nat64,Q)),full_neurons:e.Vec(T),total_pages_available:e.Opt(e.Nat64)}),It=e.Record({start_timestamp_seconds:e.Opt(e.Nat64),end_timestamp_seconds:e.Opt(e.Nat64)}),Dt=e.Record({date_filter:e.Opt(It)}),Lt=e.Record({rewards:e.Vec(j)}),eo=e.Record({node_providers:e.Vec(h)}),to=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)}),oo=e.Record({proposal_info:e.Vec(re)}),no=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)}),ro=e.Variant({RegisterKnownNeuron:c,FulfillSubnetRentalRequest:d,ManageNeuron:t,UpdateCanisterSettings:I,InstallCode:no,StopOrStartCanister:D,CreateServiceNervousSystem:Ee,ExecuteNnsFunction:Be,RewardNodeProvider:H,RewardNodeProviders:Ge,ManageNetworkEconomics:W,ApproveGenesisKyc:oe,AddOrRemoveNodeProvider:Ue,Motion:He}),so=e.Record({url:e.Text,title:e.Opt(e.Text),action:e.Opt(ro),summary:e.Text}),ao=e.Variant({Spawn:_,Split:m,Follow:O,DisburseMaturity:y,RefreshVotingPower:F,ClaimOrRefresh:A,Configure:C,RegisterVote:U,Merge:q,DisburseToNeuron:E,SetFollowing:Z,MakeProposal:so,StakeMaturity:Y,MergeMaturity:B,Disburse:G});t.fill(e.Record({id:e.Opt(n),command:e.Opt(ao),neuron_id_or_subaccount:e.Opt(P)}));let se=e.Record({created_neuron_id:e.Opt(n)}),io=e.Record({amount_disbursed_e8s:e.Opt(e.Nat64)}),co=e.Record({}),_o=e.Record({refreshed_neuron_id:e.Opt(n)}),po=e.Record({target_neuron:e.Opt(T),source_neuron:e.Opt(T),target_neuron_info:e.Opt(Q),source_neuron_info:e.Opt(Q)}),uo=e.Record({}),lo=e.Record({message:e.Opt(e.Text),proposal_id:e.Opt(v)}),mo=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),No=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),Oo=e.Record({transfer_block_height:e.Nat64}),fo=e.Variant({Error:R,Spawn:se,Split:se,Follow:e.Record({}),DisburseMaturity:io,RefreshVotingPower:co,ClaimOrRefresh:_o,Configure:e.Record({}),RegisterVote:e.Record({}),Merge:po,DisburseToNeuron:se,SetFollowing:uo,MakeProposal:lo,StakeMaturity:mo,MergeMaturity:No,Disburse:Oo}),De=e.Record({command:e.Opt(fo)}),Ro=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)}),go=e.Variant({Committed:Ro,Aborted:e.Record({})}),vo=e.Record({result:e.Opt(go),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),wo=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)}),yo=e.Variant({Committed:wo,Aborted:e.Record({})}),bo=e.Record({result:e.Opt(yo),nns_proposal_id:e.Opt(e.Nat64)}),ho=e.Record({controller:e.Opt(e.Principal),hotkeys:e.Opt(oe),is_capped:e.Opt(e.Bool),nns_neuron_id:e.Opt(e.Nat64),amount_icp_e8s:e.Opt(e.Nat64)}),So=e.Record({neurons_fund_neuron_portions:e.Vec(ho)}),xo=e.Variant({Ok:So,Err:R}),ko=e.Record({result:e.Opt(xo)}),Vo=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],[Gt],[]),get_build_metadata:e.Func([],[e.Text],[]),get_full_neuron:e.Func([e.Nat64],[Ye],[]),get_full_neuron_by_id_or_subaccount:e.Func([P],[Ye],[]),get_latest_reward_event:e.Func([],[ze],[]),get_metrics:e.Func([],[Ut],[]),get_monthly_node_provider_rewards:e.Func([],[Ht],[]),get_most_recent_monthly_node_provider_rewards:e.Func([],[e.Opt(j)],[]),get_network_economics_parameters:e.Func([],[W],[]),get_neuron_ids:e.Func([],[e.Vec(e.Nat64)],[]),get_neuron_info:e.Func([e.Nat64],[Ie],[]),get_neuron_info_by_id_or_subaccount:e.Func([P],[Ie],[]),get_neurons_fund_audit_info:e.Func([Kt],[Xt],[]),get_node_provider_by_caller:e.Func([e.Null],[Jt],[]),get_pending_proposals:e.Func([],[e.Vec(re)],[]),get_proposal_info:e.Func([e.Nat64],[e.Opt(re)],[]),get_restore_aging_summary:e.Func([],[je],[]),list_known_neurons:e.Func([],[Qt],[]),list_neurons:e.Func([Zt],[Yt],[]),list_node_provider_rewards:e.Func([Dt],[Lt],[]),list_node_providers:e.Func([],[eo],[]),list_proposals:e.Func([to],[oo],[]),manage_neuron:e.Func([t],[De],[]),settle_community_fund_participation:e.Func([vo],[J],[]),settle_neurons_fund_participation:e.Func([bo],[ko],[]),simulate_manage_neuron:e.Func([t],[De],[]),transfer_gtc_neuron:e.Func([n,n],[J],[]),update_node_provider:e.Func([Vo],[J],[])})};var Ho=({IDL:e})=>{let t=e.Rec(),o=e.Rec(),n=e.Record({id:e.Nat64}),s=e.Record({followees:e.Vec(n)}),a=e.Record({name:e.Text,description:e.Opt(e.Text)}),c=e.Record({id:e.Opt(n),known_neuron_data:e.Opt(a)}),d=e.Record({user:e.Opt(e.Principal),replica_version_id:e.Opt(e.Text),node_ids:e.Opt(e.Vec(e.Principal))}),_=e.Record({percentage_to_spawn:e.Opt(e.Nat32),new_controller:e.Opt(e.Principal),nonce:e.Opt(e.Nat64)}),m=e.Record({amount_e8s:e.Nat64}),O=e.Record({topic:e.Int32,followees:e.Vec(n)}),p=e.Record({hash:e.Vec(e.Nat8)}),w=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(e.Vec(e.Nat8))}),y=e.Record({to_account_identifier:e.Opt(p),to_account:e.Opt(w),percentage_to_disburse:e.Nat32}),F=e.Record({}),M=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),ue=e.Variant({NeuronIdOrSubaccount:e.Record({}),MemoAndController:M,Memo:e.Nat64}),A=e.Record({by:e.Opt(ue)}),le=e.Record({hot_key_to_remove:e.Opt(e.Principal)}),l=e.Record({new_hot_key:e.Opt(e.Principal)}),me=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),Ne=e.Record({additional_dissolve_delay_seconds:e.Nat32}),Oe=e.Record({visibility:e.Opt(e.Int32)}),fe=e.Record({dissolve_timestamp_seconds:e.Nat64}),Re=e.Variant({RemoveHotKey:le,AddHotKey:l,ChangeAutoStakeMaturity:me,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:Ne,SetVisibility:Oe,JoinCommunityFund:e.Record({}),LeaveCommunityFund:e.Record({}),SetDissolveTimestamp:fe}),C=e.Record({operation:e.Opt(Re)}),v=e.Record({id:e.Nat64}),U=e.Record({vote:e.Int32,proposal:e.Opt(v)}),q=e.Record({source_neuron_id:e.Opt(n)}),E=e.Record({dissolve_delay_seconds:e.Nat64,kyc_verified:e.Bool,amount_e8s:e.Nat64,new_controller:e.Opt(e.Principal),nonce:e.Nat64}),k=e.Record({topic:e.Opt(e.Int32),followees:e.Opt(e.Vec(n))}),Z=e.Record({topic_following:e.Opt(e.Vec(k))}),Y=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),B=e.Record({percentage_to_merge:e.Nat32}),ge=e.Record({e8s:e.Nat64}),G=e.Record({to_account:e.Opt(p),amount:e.Opt(ge)}),ve=e.Variant({Spawn:_,Split:m,Follow:O,DisburseMaturity:y,RefreshVotingPower:F,ClaimOrRefresh:A,Configure:C,RegisterVote:U,Merge:q,DisburseToNeuron:E,SetFollowing:Z,MakeProposal:o,StakeMaturity:Y,MergeMaturity:B,Disburse:G}),P=e.Variant({Subaccount:e.Vec(e.Nat8),NeuronId:n}),we=e.Record({id:e.Opt(n),command:e.Opt(ve),neuron_id_or_subaccount:e.Opt(P)}),ye=e.Record({controllers:e.Vec(e.Principal)}),be=e.Record({freezing_threshold:e.Opt(e.Nat64),wasm_memory_threshold:e.Opt(e.Nat64),controllers:e.Opt(ye),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)}),I=e.Record({canister_id:e.Opt(e.Principal),settings:e.Opt(be)}),he=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)}),D=e.Record({action:e.Opt(e.Int32),canister_id:e.Opt(e.Principal)}),b=e.Record({basis_points:e.Opt(e.Nat64)}),g=e.Record({seconds:e.Opt(e.Nat64)}),N=e.Record({e8s:e.Opt(e.Nat64)}),Se=e.Record({reward_rate_transition_duration:e.Opt(g),initial_reward_rate:e.Opt(b),final_reward_rate:e.Opt(b)}),xe=e.Record({neuron_maximum_dissolve_delay_bonus:e.Opt(b),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(b),neuron_minimum_stake:e.Opt(N),proposal_wait_for_quiet_deadline_increase:e.Opt(g),proposal_initial_voting_period:e.Opt(g),proposal_rejection_fee:e.Opt(N),voting_reward_parameters:e.Opt(Se)}),L=e.Record({base64_encoding:e.Opt(e.Text)}),ke=e.Record({transaction_fee:e.Opt(N),token_symbol:e.Opt(e.Text),token_logo:e.Opt(L),token_name:e.Opt(e.Text)}),Ve=e.Record({id:e.Opt(e.Principal)}),Pe=e.Record({dissolve_delay_interval:e.Opt(g),count:e.Opt(e.Nat64)}),i=e.Record({seconds_after_utc_midnight:e.Opt(e.Nat64)}),Te=e.Record({iso_codes:e.Vec(e.Text)}),Ce=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(Pe),confirmation_text:e.Opt(e.Text),maximum_participant_icp:e.Opt(N),minimum_icp:e.Opt(N),minimum_direct_participation_icp:e.Opt(N),minimum_participant_icp:e.Opt(N),start_time:e.Opt(i),maximum_direct_participation_icp:e.Opt(N),maximum_icp:e.Opt(N),neurons_fund_investment_icp:e.Opt(N),restricted_countries:e.Opt(Te)}),qe=e.Record({total:e.Opt(N)}),st=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(N)}),at=e.Record({developer_neurons:e.Vec(st)}),it=e.Record({treasury_distribution:e.Opt(qe),developer_distribution:e.Opt(at),swap_distribution:e.Opt(qe)}),Ee=e.Record({url:e.Opt(e.Text),governance_parameters:e.Opt(xe),fallback_controller_principal_ids:e.Vec(e.Principal),logo:e.Opt(L),name:e.Opt(e.Text),ledger_parameters:e.Opt(ke),description:e.Opt(e.Text),dapp_canisters:e.Vec(Ve),swap_parameters:e.Opt(Ce),initial_token_distribution:e.Opt(it)}),Be=e.Record({nns_function:e.Int32,payload:e.Vec(e.Nat8)}),h=e.Record({id:e.Opt(e.Principal),reward_account:e.Opt(p)}),ct=e.Record({dissolve_delay_seconds:e.Nat64}),_t=e.Record({to_account:e.Opt(p)}),dt=e.Variant({RewardToNeuron:ct,RewardToAccount:_t}),H=e.Record({node_provider:e.Opt(h),reward_mode:e.Opt(dt),amount_e8s:e.Nat64}),pt=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),ut=e.Record({min_participant_icp_e8s:e.Nat64,neuron_basket_construction_parameters:e.Opt(pt),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)}),lt=e.Record({community_fund_investment_e8s:e.Opt(e.Nat64),target_swap_canister_id:e.Opt(e.Principal),params:e.Opt(ut)}),mt=e.Record({start_timestamp_seconds:e.Nat64,end_timestamp_seconds:e.Nat64}),Nt=e.Record({open_time_window:e.Opt(mt)}),Ot=e.Record({request:e.Opt(Nt),swap_canister_id:e.Opt(e.Principal)}),ft=e.Record({default_followees:e.Vec(e.Tuple(e.Int32,s))}),Ge=e.Record({use_registry_derived_rewards:e.Opt(e.Bool),rewards:e.Vec(H)}),Rt=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)}),K=e.Record({human_readable:e.Opt(e.Text)}),gt=e.Record({contribution_threshold_xdr:e.Opt(K),one_third_participation_milestone_xdr:e.Opt(K),full_participation_milestone_xdr:e.Opt(K)}),vt=e.Record({maximum_icp_xdr_rate:e.Opt(b),neurons_fund_matched_funding_curve_coefficients:e.Opt(gt),max_theoretical_neurons_fund_participation_amount_xdr:e.Opt(K),minimum_icp_xdr_rate:e.Opt(b)}),W=e.Record({neuron_minimum_stake_e8s:e.Nat64,voting_power_economics:e.Opt(Rt),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(vt)}),oe=e.Record({principals:e.Vec(e.Principal)}),wt=e.Variant({ToRemove:h,ToAdd:h}),Ue=e.Record({change:e.Opt(wt)}),He=e.Record({motion_text:e.Text}),yt=e.Variant({RegisterKnownNeuron:c,FulfillSubnetRentalRequest:d,ManageNeuron:we,UpdateCanisterSettings:I,InstallCode:he,StopOrStartCanister:D,CreateServiceNervousSystem:Ee,ExecuteNnsFunction:Be,RewardNodeProvider:H,OpenSnsTokenSwap:lt,SetSnsTokenSwapOpenTimeWindow:Ot,SetDefaultFollowees:ft,RewardNodeProviders:Ge,ManageNetworkEconomics:W,ApproveGenesisKyc:oe,AddOrRemoveNodeProvider:Ue,Motion:He});o.fill(e.Record({url:e.Text,title:e.Opt(e.Text),action:e.Opt(yt),summary:e.Text}));let bt=e.Record({proposal:e.Opt(o),caller:e.Opt(e.Principal),proposer_id:e.Opt(n)}),Ke=e.Record({xdr_permyriad_per_icp:e.Opt(e.Nat64),timestamp_seconds:e.Opt(e.Nat64)}),j=e.Record({minimum_xdr_permyriad_per_icp:e.Opt(e.Nat64),registry_version:e.Opt(e.Nat64),node_providers:e.Vec(h),timestamp:e.Nat64,rewards:e.Vec(H),xdr_conversion_rate:e.Opt(Ke),maximum_node_provider_rewards_e8s:e.Opt(e.Nat64)}),z=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))}),We=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(z),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)),spawning_neurons_count:e.Nat64,declining_voting_power_neuron_subset_metrics:e.Opt(z),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(z),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(z),timestamp_seconds:e.Nat64,seed_neuron_count:e.Nat64}),ht=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}),je=e.Record({groups:e.Vec(ht),timestamp_seconds:e.Opt(e.Nat64)}),ze=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)}),Xe=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}),St=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)}),xt=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)}),ne=e.Record({neurons_fund_neuron_portions:e.Vec(xt)}),kt=e.Record({serialized_representation:e.Opt(e.Text)}),X=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(St),max_neurons_fund_swap_participation_icp_e8s:e.Opt(e.Nat64),neurons_fund_reserves:e.Opt(ne),ideal_matched_participation_function:e.Opt(kt),allocated_neurons_fund_participation_icp_e8s:e.Opt(e.Nat64)}),Vt=e.Record({final_neurons_fund_participation:e.Opt(X),initial_neurons_fund_participation:e.Opt(X),neurons_fund_refunds:e.Opt(ne)}),Pt=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)}),S=e.Record({status:e.Opt(Pt),canister_id:e.Opt(e.Principal)}),Tt=e.Record({ledger_index_canister_summary:e.Opt(S),fallback_controller_principal_ids:e.Vec(e.Principal),ledger_archive_canister_summaries:e.Vec(S),ledger_canister_summary:e.Opt(S),swap_canister_summary:e.Opt(S),governance_canister_summary:e.Opt(S),root_canister_summary:e.Opt(S),dapp_canister_summaries:e.Vec(S)}),Qe=e.Record({swap_background_information:e.Opt(Tt)}),$e=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),Ct=e.Record({current_deadline_timestamp_seconds:e.Nat64}),Mt=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(Vt),reject_cost_e8s:e.Nat64,derived_proposal_information:e.Opt(Qe),latest_tally:e.Opt($e),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(Ct),executed_timestamp_seconds:e.Nat64,original_total_community_fund_maturity_e8s_equivalent:e.Opt(e.Nat64)}),Ft=e.Variant({Spawn:n,Split:m,Configure:C,Merge:q,DisburseToNeuron:E,SyncCommand:e.Record({}),ClaimOrRefreshNeuron:A,MergeMaturity:B,Disburse:G}),At=e.Record({command:e.Opt(Ft),timestamp:e.Nat64}),Ze=e.Record({vote:e.Int32,proposal_id:e.Opt(v)}),qt=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(w),finalize_disbursement_timestamp_seconds:e.Opt(e.Nat64)}),Et=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(Ze),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(qt)),dissolve_state:e.Opt(Et),followees:e.Vec(e.Tuple(e.Int32,s)),neuron_fees_e8s:e.Nat64,visibility:e.Opt(e.Int32),transfer:e.Opt(Xe),known_neuron_data:e.Opt(a),spawn_at_timestamp_seconds:e.Opt(e.Nat64)}),vn=e.Record({default_followees:e.Vec(e.Tuple(e.Int32,s)),making_sns_proposal:e.Opt(bt),most_recent_monthly_node_provider_rewards:e.Opt(j),maturity_modulation_last_updated_at_timestamp_seconds:e.Opt(e.Nat64),wait_for_quiet_threshold_seconds:e.Nat64,metrics:e.Opt(We),neuron_management_voting_period_seconds:e.Opt(e.Nat64),node_providers:e.Vec(h),cached_daily_maturity_modulation_basis_points:e.Opt(e.Int32),economics:e.Opt(W),restore_aging_summary:e.Opt(je),spawning_neurons:e.Opt(e.Bool),latest_reward_event:e.Opt(ze),to_claim_transfers:e.Vec(Xe),short_voting_period_seconds:e.Nat64,proposals:e.Vec(e.Tuple(e.Nat64,Mt)),xdr_conversion_rate:e.Opt(Ke),in_flight_commands:e.Vec(e.Tuple(e.Nat64,At)),neurons:e.Vec(e.Tuple(e.Nat64,T)),genesis_timestamp_seconds:e.Nat64}),J=e.Variant({Ok:e.Null,Err:R}),Bt=e.Variant({Error:R,NeuronId:n}),Gt=e.Record({result:e.Opt(Bt)}),Ye=e.Variant({Ok:T,Err:R}),Ut=e.Variant({Ok:We,Err:R}),Ht=e.Variant({Ok:j,Err:R}),Q=e.Record({dissolve_delay_seconds:e.Nat64,recent_ballots:e.Vec(Ze),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(a),voting_power:e.Nat64,age_seconds:e.Nat64}),Ie=e.Variant({Ok:Q,Err:R}),Kt=e.Record({nns_proposal_id:e.Opt(v)}),Wt=e.Record({final_neurons_fund_participation:e.Opt(X),initial_neurons_fund_participation:e.Opt(X),neurons_fund_refunds:e.Opt(ne)}),jt=e.Record({neurons_fund_audit_info:e.Opt(Wt)}),zt=e.Variant({Ok:jt,Err:R}),Xt=e.Record({result:e.Opt(zt)}),Jt=e.Variant({Ok:h,Err:R}),re=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(Qe),latest_tally:e.Opt($e),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}),Qt=e.Record({known_neurons:e.Vec(c)}),$t=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($t)),include_neurons_readable_by_caller:e.Bool}),Yt=e.Record({neuron_infos:e.Vec(e.Tuple(e.Nat64,Q)),full_neurons:e.Vec(T),total_pages_available:e.Opt(e.Nat64)}),It=e.Record({start_timestamp_second