@dfinity/nns 5.1.2 → 5.2.0-next-2024-07-30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +48 -35
  2. package/dist/candid/genesis_token.did +1 -1
  3. package/dist/candid/governance.certified.idl.js +145 -21
  4. package/dist/candid/governance.d.ts +71 -6
  5. package/dist/candid/governance.did +64 -5
  6. package/dist/candid/governance.idl.js +145 -21
  7. package/dist/candid/governance_test.certified.idl.js +145 -21
  8. package/dist/candid/governance_test.d.ts +71 -6
  9. package/dist/candid/governance_test.did +64 -5
  10. package/dist/candid/governance_test.idl.js +145 -21
  11. package/dist/candid/old_list_neurons_service.certified.idl.d.ts +2 -0
  12. package/dist/candid/old_list_neurons_service.certified.idl.js +78 -0
  13. package/dist/candid/sns_wasm.certified.idl.js +3 -0
  14. package/dist/candid/sns_wasm.d.ts +5 -0
  15. package/dist/candid/sns_wasm.did +4 -1
  16. package/dist/candid/sns_wasm.idl.js +3 -0
  17. package/dist/cjs/index.cjs.js +1 -1
  18. package/dist/cjs/index.cjs.js.map +4 -4
  19. package/dist/esm/chunk-R4CH4PKK.js +2 -0
  20. package/dist/esm/chunk-R4CH4PKK.js.map +7 -0
  21. package/dist/esm/chunk-REL225EW.js +19 -0
  22. package/dist/esm/chunk-REL225EW.js.map +7 -0
  23. package/dist/esm/governance.canister.js +1 -1
  24. package/dist/esm/index.js +1 -1
  25. package/dist/esm/index.js.map +3 -3
  26. package/dist/esm/sns_wasm.canister.js +1 -1
  27. package/dist/types/canisters/governance/request.converters.d.ts +9 -2
  28. package/dist/types/canisters/governance/response.converters.d.ts +8 -1
  29. package/dist/types/enums/governance.enums.d.ts +18 -1
  30. package/dist/types/governance.canister.d.ts +11 -2
  31. package/dist/types/governance_test.canister.d.ts +2 -1
  32. package/dist/types/types/governance.options.d.ts +2 -0
  33. package/dist/types/types/governance_converters.d.ts +43 -1
  34. package/package.json +7 -7
  35. package/dist/esm/chunk-AN6DZS5M.js +0 -19
  36. package/dist/esm/chunk-AN6DZS5M.js.map +0 -7
  37. package/dist/esm/chunk-RRSEQTKA.js +0 -2
  38. package/dist/esm/chunk-RRSEQTKA.js.map +0 -7
@@ -1,4 +1,4 @@
1
- "use strict";var In=Object.create;var _o=Object.defineProperty;var Dn=Object.getOwnPropertyDescriptor;var Ln=Object.getOwnPropertyNames;var er=Object.getPrototypeOf,tr=Object.prototype.hasOwnProperty;var or=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),nr=(e,t)=>{for(var o in t)_o(e,o,{get:t[o],enumerable:!0})},Go=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Ln(t))!tr.call(e,r)&&r!==o&&_o(e,r,{get:()=>t[r],enumerable:!(n=Dn(t,r))||n.enumerable});return e};var rr=(e,t,o)=>(o=e!=null?In(er(e)):{},Go(t||!e||!e.__esModule?_o(o,"default",{value:e,enumerable:!0}):o,e)),sr=e=>Go(_o({},"__esModule",{value:!0}),e);var nn=or((hs,on)=>{on.exports=require("crypto").randomBytes});var ts={};nr(ts,{CouldNotClaimNeuronError:()=>Ze,GenesisTokenCanister:()=>uo,GovernanceCanister:()=>vo,GovernanceError:()=>Pe,GovernanceTestCanister:()=>yo,InsufficientAmountError:()=>Ie,NeuronState:()=>Ko,NeuronType:()=>Xo,NnsFunction:()=>zo,ProposalRewardStatus:()=>Wo,ProposalStatus:()=>Ho,SnsWasmCanister:()=>bo,StakeNeuronError:()=>ao,Topic:()=>Uo,UnrecognizedTypeError:()=>Te,UnsupportedValueError:()=>x,Vote:()=>jo,ineligibleNeurons:()=>Zn,votableNeurons:()=>Lr,votedNeurons:()=>es});module.exports=sr(ts);var Ko=(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))(Ko||{}),Uo=(u=>(u[u.Unspecified=0]="Unspecified",u[u.ManageNeuron=1]="ManageNeuron",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.SubnetReplicaVersionManagement=12]="SubnetReplicaVersionManagement",u[u.ReplicaVersionManagement=13]="ReplicaVersionManagement",u[u.SnsAndCommunityFund=14]="SnsAndCommunityFund",u[u.ApiBoundaryNodeManagement=15]="ApiBoundaryNodeManagement",u[u.SubnetRental=16]="SubnetRental",u))(Uo||{}),Wo=(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))(Wo||{}),Ho=(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))(Ho||{}),jo=(n=>(n[n.Unspecified=0]="Unspecified",n[n.Yes=1]="Yes",n[n.No=2]="No",n))(jo||{}),zo=(s=>(s[s.Unspecified=0]="Unspecified",s[s.CreateSubnet=1]="CreateSubnet",s[s.AddNodeToSubnet=2]="AddNodeToSubnet",s[s.NnsCanisterInstall=3]="NnsCanisterInstall",s[s.NnsCanisterUpgrade=4]="NnsCanisterUpgrade",s[s.BlessReplicaVersion=5]="BlessReplicaVersion",s[s.RecoverSubnet=6]="RecoverSubnet",s[s.UpdateConfigOfSubnet=7]="UpdateConfigOfSubnet",s[s.AssignNoid=8]="AssignNoid",s[s.NnsRootUpgrade=9]="NnsRootUpgrade",s[s.IcpXdrConversionRate=10]="IcpXdrConversionRate",s[s.UpdateSubnetReplicaVersion=11]="UpdateSubnetReplicaVersion",s[s.ClearProvisionalWhitelist=12]="ClearProvisionalWhitelist",s[s.RemoveNodesFromSubnet=13]="RemoveNodesFromSubnet",s[s.SetAuthorizedSubnetworks=14]="SetAuthorizedSubnetworks",s[s.SetFirewallConfig=15]="SetFirewallConfig",s[s.UpdateNodeOperatorConfig=16]="UpdateNodeOperatorConfig",s[s.StopOrStartNnsCanister=17]="StopOrStartNnsCanister",s[s.RemoveNodes=18]="RemoveNodes",s[s.UninstallCode=19]="UninstallCode",s[s.UpdateNodeRewardsTable=20]="UpdateNodeRewardsTable",s[s.AddOrRemoveDataCenters=21]="AddOrRemoveDataCenters",s[s.UpdateUnassignedNodesConfig=22]="UpdateUnassignedNodesConfig",s[s.RemoveNodeOperators=23]="RemoveNodeOperators",s[s.RerouteCanisterRanges=24]="RerouteCanisterRanges",s[s.AddFirewallRules=25]="AddFirewallRules",s[s.RemoveFirewallRules=26]="RemoveFirewallRules",s[s.UpdateFirewallRules=27]="UpdateFirewallRules",s[s.PrepareCanisterMigration=28]="PrepareCanisterMigration",s[s.CompleteCanisterMigration=29]="CompleteCanisterMigration",s[s.AddSnsWasm=30]="AddSnsWasm",s[s.ChangeSubnetMembership=31]="ChangeSubnetMembership",s[s.UpdateSubnetType=32]="UpdateSubnetType",s[s.ChangeSubnetTypeAssignment=33]="ChangeSubnetTypeAssignment",s[s.UpdateSnsWasmSnsSubnetIds=34]="UpdateSnsWasmSnsSubnetIds",s[s.UpdateAllowedPrincipals=35]="UpdateAllowedPrincipals",s[s.RetireReplicaVersion=36]="RetireReplicaVersion",s[s.InsertSnsWasmUpgradePathEntries=37]="InsertSnsWasmUpgradePathEntries",s[s.UpdateElectedReplicaVersions=38]="UpdateElectedReplicaVersions",s[s.BitcoinSetConfig=39]="BitcoinSetConfig",s[s.UpdateElectedHostosVersions=40]="UpdateElectedHostosVersions",s[s.UpdateNodesHostosVersion=41]="UpdateNodesHostosVersion",s[s.AddApiBoundaryNode=43]="AddApiBoundaryNode",s[s.RemoveApiBoundaryNodes=44]="RemoveApiBoundaryNodes",s[s.UpdateApiBoundaryNodesVersion=46]="UpdateApiBoundaryNodesVersion",s[s.DeployGuestosToSomeApiBoundaryNodes=47]="DeployGuestosToSomeApiBoundaryNodes",s[s.DeployGuestosToAllUnassignedNodes=48]="DeployGuestosToAllUnassignedNodes",s[s.UpdateSshReadOnlyAccessForAllUnassignedNodes=49]="UpdateSshReadOnlyAccessForAllUnassignedNodes",s[s.ReviseElectedHostosVersions=50]="ReviseElectedHostosVersions",s[s.DeployHostosToSomeNodes=51]="DeployHostosToSomeNodes",s[s.SubnetRentalRequest=52]="SubnetRentalRequest",s))(zo||{}),Xo=(n=>(n[n.Unspecified=0]="Unspecified",n[n.Seed=1]="Seed",n[n.Ect=2]="Ect",n))(Xo||{});var ao=class extends Error{},Ze=class extends ao{},Ie=class extends ao{constructor(o){super();this.minimumAmount=o}},Te=class extends Error{},Pe=class extends Error{constructor(o){super();this.detail=o}},x=class extends Error{constructor(t){super("Unsupported value: "+t)}};var Zo=require("@dfinity/utils");var Jo=({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}),r=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(r),is_whitelisted_for_forwarding:e.Bool,has_donated:e.Bool,failed_transferred_neurons:e.Vec(r),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 $o=({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}),r=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(r),is_whitelisted_for_forwarding:e.Bool,has_donated:e.Bool,failed_transferred_neurons:e.Vec(r),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 io=require("@dfinity/principal"),is=io.Principal.fromText("rrkah-fqaaa-aaaaa-aaaaq-cai"),po=io.Principal.fromText("rrkah-fqaaa-aaaaa-aaaaq-cai"),Qo=io.Principal.fromText("renrk-eyaaa-aaaaa-aaada-cai"),Yo=io.Principal.fromText("r7inp-6aaaa-aaaaa-aaabq-cai");var uo=class e{constructor(t){this.service=t;this.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)}}static create(t={}){let{service:o}=(0,Zo.createServices)({options:{...t,canisterId:t.canisterId??Qo},idlFactory:$o,certifiedIdlFactory:Jo});return new e(o)}};var Ce=require("@dfinity/ledger-icp"),l=require("@dfinity/utils");function ar(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}function ho(e,...t){if(!ar(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${e.length}`)}function xo(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Io(e,t){ho(e);let o=t.outputLen;if(e.length<o)throw new Error(`digestInto() expects output buffer of length at least ${o}`)}var mo=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),D=(e,t)=>e<<32-t|e>>>t;var Ns=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function ir(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function ko(e){return typeof e=="string"&&(e=ir(e)),ho(e),e}var lo=class{clone(){return this._cloneInto()}},fs={}.toString;function Do(e){let t=n=>e().update(ko(n)).digest(),o=e();return t.outputLen=o.outputLen,t.blockLen=o.blockLen,t.create=()=>e(),t}function cr(e,t,o,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,o,n);let r=BigInt(32),a=BigInt(4294967295),c=Number(o>>r&a),_=Number(o&a),d=n?4:0,O=n?0:4;e.setUint32(t+d,c,n),e.setUint32(t+O,_,n)}var Lo=(e,t,o)=>e&t^~e&o,en=(e,t,o)=>e&t^e&o^t&o,No=class extends lo{constructor(t,o,n,r){super(),this.blockLen=t,this.outputLen=o,this.padOffset=n,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=mo(this.buffer)}update(t){xo(this);let{view:o,buffer:n,blockLen:r}=this;t=ko(t);let a=t.length;for(let c=0;c<a;){let _=Math.min(r-this.pos,a-c);if(_===r){let d=mo(t);for(;r<=a-c;c+=r)this.process(d,c);continue}n.set(t.subarray(c,c+_),this.pos),this.pos+=_,c+=_,this.pos===r&&(this.process(o,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){xo(this),Io(t,this),this.finished=!0;let{buffer:o,view:n,blockLen:r,isLE:a}=this,{pos:c}=this;o[c++]=128,this.buffer.subarray(c).fill(0),this.padOffset>r-c&&(this.process(n,0),c=0);for(let p=c;p<r;p++)o[p]=0;cr(n,r-8,BigInt(this.length*8),a),this.process(n,0);let _=mo(t),d=this.outputLen;if(d%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let O=d/4,R=this.get();if(O>R.length)throw new Error("_sha2: outputLen bigger than state");for(let p=0;p<O;p++)_.setUint32(4*p,R[p],a)}digest(){let{buffer:t,outputLen:o}=this;this.digestInto(t);let n=t.slice(0,o);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:o,buffer:n,length:r,finished:a,destroyed:c,pos:_}=this;return t.length=r,t.pos=_,t.finished=a,t.destroyed=c,r%o&&t.buffer.set(n),t}};var _r=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Je=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),$e=new Uint32Array(64),So=class extends No{constructor(){super(64,32,8,!1),this.A=Je[0]|0,this.B=Je[1]|0,this.C=Je[2]|0,this.D=Je[3]|0,this.E=Je[4]|0,this.F=Je[5]|0,this.G=Je[6]|0,this.H=Je[7]|0}get(){let{A:t,B:o,C:n,D:r,E:a,F:c,G:_,H:d}=this;return[t,o,n,r,a,c,_,d]}set(t,o,n,r,a,c,_,d){this.A=t|0,this.B=o|0,this.C=n|0,this.D=r|0,this.E=a|0,this.F=c|0,this.G=_|0,this.H=d|0}process(t,o){for(let p=0;p<16;p++,o+=4)$e[p]=t.getUint32(o,!1);for(let p=16;p<64;p++){let v=$e[p-15],k=$e[p-2],G=D(v,7)^D(v,18)^v>>>3,B=D(k,17)^D(k,19)^k>>>10;$e[p]=B+$e[p-7]+G+$e[p-16]|0}let{A:n,B:r,C:a,D:c,E:_,F:d,G:O,H:R}=this;for(let p=0;p<64;p++){let v=D(_,6)^D(_,11)^D(_,25),k=R+v+Lo(_,d,O)+_r[p]+$e[p]|0,B=(D(n,2)^D(n,13)^D(n,22))+en(n,r,a)|0;R=O,O=d,d=_,_=c+k|0,c=a,a=r,r=n,n=k+B|0}n=n+this.A|0,r=r+this.B|0,a=a+this.C|0,c=c+this.D|0,_=_+this.E|0,d=d+this.F|0,O=O+this.G|0,R=R+this.H|0,this.set(n,r,a,c,_,d,O,R)}roundClean(){$e.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var tn=Do(()=>new So);var Eo=rr(nn());var rn=({IDL:e})=>{let t=e.Rec(),o=e.Record({id:e.Nat64}),n=e.Record({followees:e.Vec(o)}),r=e.Record({name:e.Text,description:e.Opt(e.Text)}),a=e.Record({id:e.Opt(o),known_neuron_data:e.Opt(r)}),c=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}),d=e.Record({topic:e.Int32,followees:e.Vec(o)}),O=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),R=e.Variant({NeuronIdOrSubaccount:e.Record({}),MemoAndController:O,Memo:e.Nat64}),p=e.Record({by:e.Opt(R)}),v=e.Record({hot_key_to_remove:e.Opt(e.Principal)}),k=e.Record({new_hot_key:e.Opt(e.Principal)}),G=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),B=e.Record({additional_dissolve_delay_seconds:e.Nat32}),oe=e.Record({dissolve_timestamp_seconds:e.Nat64}),u=e.Variant({RemoveHotKey:v,AddHotKey:k,ChangeAutoStakeMaturity:G,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:B,JoinCommunityFund:e.Record({}),LeaveCommunityFund:e.Record({}),SetDissolveTimestamp:oe}),K=e.Record({operation:e.Opt(u)}),ne=e.Record({vote:e.Int32,proposal:e.Opt(o)}),U=e.Record({source_neuron_id:e.Opt(o)}),W=e.Record({dissolve_delay_seconds:e.Nat64,kyc_verified:e.Bool,amount_e8s:e.Nat64,new_controller:e.Opt(e.Principal),nonce:e.Nat64}),re=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),H=e.Record({percentage_to_merge:e.Nat32}),S=e.Record({hash:e.Vec(e.Nat8)}),se=e.Record({e8s:e.Nat64}),j=e.Record({to_account:e.Opt(S),amount:e.Opt(se)}),ae=e.Variant({Spawn:c,Split:_,Follow:d,ClaimOrRefresh:p,Configure:K,RegisterVote:ne,Merge:U,DisburseToNeuron:W,MakeProposal:t,StakeMaturity:re,MergeMaturity:H,Disburse:j}),C=e.Variant({Subaccount:e.Vec(e.Nat8),NeuronId:o}),P=e.Record({id:e.Opt(o),command:e.Opt(ae),neuron_id_or_subaccount:e.Opt(C)}),g=e.Record({basis_points:e.Opt(e.Nat64)}),f=e.Record({seconds:e.Opt(e.Nat64)}),m=e.Record({e8s:e.Opt(e.Nat64)}),ie=e.Record({reward_rate_transition_duration:e.Opt(f),initial_reward_rate:e.Opt(g),final_reward_rate:e.Opt(g)}),h=e.Record({neuron_maximum_dissolve_delay_bonus:e.Opt(g),neuron_maximum_age_for_age_bonus:e.Opt(f),neuron_maximum_dissolve_delay:e.Opt(f),neuron_minimum_dissolve_delay_to_vote:e.Opt(f),neuron_maximum_age_bonus:e.Opt(g),neuron_minimum_stake:e.Opt(m),proposal_wait_for_quiet_deadline_increase:e.Opt(f),proposal_initial_voting_period:e.Opt(f),proposal_rejection_fee:e.Opt(m),voting_reward_parameters:e.Opt(ie)}),z=e.Record({base64_encoding:e.Opt(e.Text)}),ce=e.Record({transaction_fee:e.Opt(m),token_symbol:e.Opt(e.Text),token_logo:e.Opt(z),token_name:e.Opt(e.Text)}),_e=e.Record({id:e.Opt(e.Principal)}),de=e.Record({dissolve_delay_interval:e.Opt(f),count:e.Opt(e.Nat64)}),pe=e.Record({seconds_after_utc_midnight:e.Opt(e.Nat64)}),ue=e.Record({iso_codes:e.Vec(e.Text)}),le=e.Record({minimum_participants:e.Opt(e.Nat64),neurons_fund_participation:e.Opt(e.Bool),duration:e.Opt(f),neuron_basket_construction_parameters:e.Opt(de),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(pe),maximum_direct_participation_icp:e.Opt(m),maximum_icp:e.Opt(m),neurons_fund_investment_icp:e.Opt(m),restricted_countries:e.Opt(ue)}),X=e.Record({total:e.Opt(m)}),me=e.Record({controller:e.Opt(e.Principal),dissolve_delay:e.Opt(f),memo:e.Opt(e.Nat64),vesting_period:e.Opt(f),stake:e.Opt(m)}),Ne=e.Record({developer_neurons:e.Vec(me)}),fe=e.Record({treasury_distribution:e.Opt(X),developer_distribution:e.Opt(Ne),swap_distribution:e.Opt(X)}),Oe=e.Record({url:e.Opt(e.Text),governance_parameters:e.Opt(h),fallback_controller_principal_ids:e.Vec(e.Principal),logo:e.Opt(z),name:e.Opt(e.Text),ledger_parameters:e.Opt(ce),description:e.Opt(e.Text),dapp_canisters:e.Vec(_e),swap_parameters:e.Opt(le),initial_token_distribution:e.Opt(fe)}),Re=e.Record({nns_function:e.Int32,payload:e.Vec(e.Nat8)}),w=e.Record({id:e.Opt(e.Principal),reward_account:e.Opt(S)}),ge=e.Record({dissolve_delay_seconds:e.Nat64}),we=e.Record({to_account:e.Opt(S)}),s=e.Variant({RewardToNeuron:ge,RewardToAccount:we}),M=e.Record({node_provider:e.Opt(w),reward_mode:e.Opt(s),amount_e8s:e.Nat64}),ve=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),ye=e.Record({min_participant_icp_e8s:e.Nat64,neuron_basket_construction_parameters:e.Opt(ve),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)}),be=e.Record({community_fund_investment_e8s:e.Opt(e.Nat64),target_swap_canister_id:e.Opt(e.Principal),params:e.Opt(ye)}),he=e.Record({start_timestamp_seconds:e.Nat64,end_timestamp_seconds:e.Nat64}),xe=e.Record({open_time_window:e.Opt(he)}),ke=e.Record({request:e.Opt(xe),swap_canister_id:e.Opt(e.Principal)}),Se=e.Record({default_followees:e.Vec(e.Tuple(e.Int32,n))}),Me=e.Record({use_registry_derived_rewards:e.Opt(e.Bool),rewards:e.Vec(M)}),F=e.Record({human_readable:e.Opt(e.Text)}),Le=e.Record({contribution_threshold_xdr:e.Opt(F),one_third_participation_milestone_xdr:e.Opt(F),full_participation_milestone_xdr:e.Opt(F)}),et=e.Record({maximum_icp_xdr_rate:e.Opt(g),neurons_fund_matched_funding_curve_coefficients:e.Opt(Le),max_theoretical_neurons_fund_participation_amount_xdr:e.Opt(F),minimum_icp_xdr_rate:e.Opt(g)}),Q=e.Record({neuron_minimum_stake_e8s:e.Nat64,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(et)}),tt=e.Record({principals:e.Vec(e.Principal)}),ot=e.Variant({ToRemove:w,ToAdd:w}),nt=e.Record({change:e.Opt(ot)}),rt=e.Record({motion_text:e.Text}),st=e.Variant({RegisterKnownNeuron:a,ManageNeuron:P,CreateServiceNervousSystem:Oe,ExecuteNnsFunction:Re,RewardNodeProvider:M,OpenSnsTokenSwap:be,SetSnsTokenSwapOpenTimeWindow:ke,SetDefaultFollowees:Se,RewardNodeProviders:Me,ManageNetworkEconomics:Q,ApproveGenesisKyc:tt,AddOrRemoveNodeProvider:nt,Motion:rt});t.fill(e.Record({url:e.Text,title:e.Opt(e.Text),action:e.Opt(st),summary:e.Text}));let at=e.Record({proposal:e.Opt(t),caller:e.Opt(e.Principal),proposer_id:e.Opt(o)}),Fe=e.Record({timestamp:e.Nat64,rewards:e.Vec(M)}),Ae=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,not_dissolving_neurons_count:e.Nat64,total_locked_e8s:e.Nat64,neurons_fund_total_active_neurons:e.Nat64,total_staked_maturity_e8s_equivalent:e.Nat64,not_dissolving_neurons_e8s_buckets_ect:e.Vec(e.Tuple(e.Nat64,e.Float64)),total_staked_e8s_ect:e.Nat64,not_dissolving_neurons_staked_maturity_e8s_equivalent_sum:e.Nat64,dissolved_neurons_e8s: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)),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)),timestamp_seconds:e.Nat64,seed_neuron_count:e.Nat64}),it=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}),qe=e.Record({groups:e.Vec(it),timestamp_seconds:e.Opt(e.Nat64)}),Ee=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(o)}),Be=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}),ct=e.Record({followers:e.Vec(o)}),_t=e.Record({followers_map:e.Vec(e.Tuple(e.Nat64,ct))}),dt=e.Variant({LastNeuronId:o}),Ge=e.Record({status:e.Opt(e.Int32),failure_reason:e.Opt(e.Text),progress:e.Opt(dt)}),pt=e.Record({neuron_indexes_migration:e.Opt(Ge),copy_inactive_neurons_to_stable_memory_migration:e.Opt(Ge)}),N=e.Record({error_message:e.Text,error_type:e.Int32}),ut=e.Record({has_created_neuron_recipes:e.Opt(e.Bool),nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),lt=e.Record({hotkey_principal:e.Text,cf_neurons:e.Vec(ut)}),Ke=e.Record({vote:e.Int32,voting_power:e.Nat64}),mt=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)}),Nt=e.Record({hotkey_principal:e.Opt(e.Principal),is_capped:e.Opt(e.Bool),maturity_equivalent_icp_e8s:e.Opt(e.Nat64),nns_neuron_id:e.Opt(o),amount_icp_e8s:e.Opt(e.Nat64)}),Y=e.Record({neurons_fund_neuron_portions:e.Vec(Nt)}),ft=e.Record({serialized_representation:e.Opt(e.Text)}),A=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(mt),max_neurons_fund_swap_participation_icp_e8s:e.Opt(e.Nat64),neurons_fund_reserves:e.Opt(Y),ideal_matched_participation_function:e.Opt(ft),allocated_neurons_fund_participation_icp_e8s:e.Opt(e.Nat64)}),Ot=e.Record({final_neurons_fund_participation:e.Opt(A),initial_neurons_fund_participation:e.Opt(A),neurons_fund_refunds:e.Opt(Y)}),Rt=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)}),y=e.Record({status:e.Opt(Rt),canister_id:e.Opt(e.Principal)}),gt=e.Record({ledger_index_canister_summary:e.Opt(y),fallback_controller_principal_ids:e.Vec(e.Principal),ledger_archive_canister_summaries:e.Vec(y),ledger_canister_summary:e.Opt(y),swap_canister_summary:e.Opt(y),governance_canister_summary:e.Opt(y),root_canister_summary:e.Opt(y),dapp_canister_summaries:e.Vec(y)}),Ue=e.Record({swap_background_information:e.Opt(gt)}),We=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),wt=e.Record({current_deadline_timestamp_seconds:e.Nat64}),vt=e.Record({id:e.Opt(o),failure_reason:e.Opt(N),cf_participants:e.Vec(lt),ballots:e.Vec(e.Tuple(e.Nat64,Ke)),proposal_timestamp_seconds:e.Nat64,reward_event_round:e.Nat64,failed_timestamp_seconds:e.Nat64,neurons_fund_data:e.Opt(Ot),reject_cost_e8s:e.Nat64,derived_proposal_information:e.Opt(Ue),latest_tally:e.Opt(We),sns_token_swap_lifecycle:e.Opt(e.Int32),decided_timestamp_seconds:e.Nat64,proposal:e.Opt(t),proposer:e.Opt(o),wait_for_quiet_state:e.Opt(wt),executed_timestamp_seconds:e.Nat64,original_total_community_fund_maturity_e8s_equivalent:e.Opt(e.Nat64)}),yt=e.Record({xdr_permyriad_per_icp:e.Opt(e.Nat64),timestamp_seconds:e.Opt(e.Nat64)}),bt=e.Variant({Spawn:o,Split:_,Configure:K,Merge:U,DisburseToNeuron:W,SyncCommand:e.Record({}),ClaimOrRefreshNeuron:p,MergeMaturity:H,Disburse:j}),ht=e.Record({command:e.Opt(bt),timestamp:e.Nat64}),He=e.Record({vote:e.Int32,proposal_id:e.Opt(o)}),xt=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),T=e.Record({id:e.Opt(o),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),controller:e.Opt(e.Principal),recent_ballots:e.Vec(He),kyc_verified:e.Bool,neuron_type:e.Opt(e.Int32),not_for_profit:e.Bool,maturity_e8s_equivalent: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),dissolve_state:e.Opt(xt),followees:e.Vec(e.Tuple(e.Int32,n)),neuron_fees_e8s:e.Nat64,transfer:e.Opt(Be),known_neuron_data:e.Opt(r),spawn_at_timestamp_seconds:e.Opt(e.Nat64)}),Bo=e.Record({default_followees:e.Vec(e.Tuple(e.Int32,n)),making_sns_proposal:e.Opt(at),most_recent_monthly_node_provider_rewards:e.Opt(Fe),maturity_modulation_last_updated_at_timestamp_seconds:e.Opt(e.Nat64),wait_for_quiet_threshold_seconds:e.Nat64,metrics:e.Opt(Ae),neuron_management_voting_period_seconds:e.Opt(e.Nat64),node_providers:e.Vec(w),cached_daily_maturity_modulation_basis_points:e.Opt(e.Int32),economics:e.Opt(Q),restore_aging_summary:e.Opt(qe),spawning_neurons:e.Opt(e.Bool),latest_reward_event:e.Opt(Ee),to_claim_transfers:e.Vec(Be),short_voting_period_seconds:e.Nat64,topic_followee_index:e.Vec(e.Tuple(e.Int32,_t)),migrations:e.Opt(pt),proposals:e.Vec(e.Tuple(e.Nat64,vt)),xdr_conversion_rate:e.Opt(yt),in_flight_commands:e.Vec(e.Tuple(e.Nat64,ht)),neurons:e.Vec(e.Tuple(e.Nat64,T)),genesis_timestamp_seconds:e.Nat64}),q=e.Variant({Ok:e.Null,Err:N}),kt=e.Variant({Error:N,NeuronId:o}),St=e.Record({result:e.Opt(kt)}),je=e.Variant({Ok:T,Err:N}),Tt=e.Variant({Ok:Ae,Err:N}),Pt=e.Variant({Ok:Me,Err:N}),E=e.Record({dissolve_delay_seconds:e.Nat64,recent_ballots:e.Vec(He),neuron_type:e.Opt(e.Int32),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,known_neuron_data:e.Opt(r),voting_power:e.Nat64,age_seconds:e.Nat64}),ze=e.Variant({Ok:E,Err:N}),Vt=e.Record({nns_proposal_id:e.Opt(o)}),Ct=e.Record({final_neurons_fund_participation:e.Opt(A),initial_neurons_fund_participation:e.Opt(A),neurons_fund_refunds:e.Opt(Y)}),Mt=e.Record({neurons_fund_audit_info:e.Opt(Ct)}),Ft=e.Variant({Ok:Mt,Err:N}),At=e.Record({result:e.Opt(Ft)}),qt=e.Variant({Ok:w,Err:N}),Z=e.Record({id:e.Opt(o),status:e.Int32,topic:e.Int32,failure_reason:e.Opt(N),ballots:e.Vec(e.Tuple(e.Nat64,Ke)),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(Ue),latest_tally:e.Opt(We),reward_status:e.Int32,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(t),proposer:e.Opt(o),executed_timestamp_seconds:e.Nat64}),Et=e.Record({known_neurons:e.Vec(a)}),Bt=e.Record({neuron_ids:e.Vec(e.Nat64),include_neurons_readable_by_caller:e.Bool}),Gt=e.Record({neuron_infos:e.Vec(e.Tuple(e.Nat64,E)),full_neurons:e.Vec(T)}),Kt=e.Record({node_providers:e.Vec(w)}),Ut=e.Record({include_reward_status:e.Vec(e.Int32),omit_large_fields:e.Opt(e.Bool),before_proposal:e.Opt(o),limit:e.Nat32,exclude_topic:e.Vec(e.Int32),include_all_manage_neuron_proposals:e.Opt(e.Bool),include_status:e.Vec(e.Int32)}),Wt=e.Record({proposal_info:e.Vec(Z)}),I=e.Record({created_neuron_id:e.Opt(o)}),Ht=e.Record({refreshed_neuron_id:e.Opt(o)}),jt=e.Record({target_neuron:e.Opt(T),source_neuron:e.Opt(T),target_neuron_info:e.Opt(E),source_neuron_info:e.Opt(E)}),zt=e.Record({message:e.Opt(e.Text),proposal_id:e.Opt(o)}),Xt=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),Jt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),$t=e.Record({transfer_block_height:e.Nat64}),Qt=e.Variant({Error:N,Spawn:I,Split:I,Follow:e.Record({}),ClaimOrRefresh:Ht,Configure:e.Record({}),RegisterVote:e.Record({}),Merge:jt,DisburseToNeuron:I,MakeProposal:zt,StakeMaturity:Xt,MergeMaturity:Jt,Disburse:$t}),Xe=e.Record({command:e.Opt(Qt)}),Yt=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)}),Zt=e.Variant({Committed:Yt,Aborted:e.Record({})}),It=e.Record({result:e.Opt(Zt),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),Dt=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)}),Lt=e.Variant({Committed:Dt,Aborted:e.Record({})}),eo=e.Record({result:e.Opt(Lt),nns_proposal_id:e.Opt(e.Nat64)}),to=e.Record({hotkey_principal:e.Opt(e.Text),is_capped:e.Opt(e.Bool),nns_neuron_id:e.Opt(e.Nat64),amount_icp_e8s:e.Opt(e.Nat64)}),oo=e.Record({neurons_fund_neuron_portions:e.Vec(to)}),no=e.Variant({Ok:oo,Err:N}),ro=e.Record({result:e.Opt(no)}),so=e.Record({reward_account:e.Opt(S)});return e.Service({claim_gtc_neurons:e.Func([e.Principal,e.Vec(o)],[q],[]),claim_or_refresh_neuron_from_account:e.Func([O],[St],[]),get_build_metadata:e.Func([],[e.Text],[]),get_full_neuron:e.Func([e.Nat64],[je],[]),get_full_neuron_by_id_or_subaccount:e.Func([C],[je],[]),get_latest_reward_event:e.Func([],[Ee],[]),get_metrics:e.Func([],[Tt],[]),get_monthly_node_provider_rewards:e.Func([],[Pt],[]),get_most_recent_monthly_node_provider_rewards:e.Func([],[e.Opt(Fe)],[]),get_network_economics_parameters:e.Func([],[Q],[]),get_neuron_ids:e.Func([],[e.Vec(e.Nat64)],[]),get_neuron_info:e.Func([e.Nat64],[ze],[]),get_neuron_info_by_id_or_subaccount:e.Func([C],[ze],[]),get_neurons_fund_audit_info:e.Func([Vt],[At],[]),get_node_provider_by_caller:e.Func([e.Null],[qt],[]),get_pending_proposals:e.Func([],[e.Vec(Z)],[]),get_proposal_info:e.Func([e.Nat64],[e.Opt(Z)],[]),get_restore_aging_summary:e.Func([],[qe],[]),list_known_neurons:e.Func([],[Et],[]),list_neurons:e.Func([Bt],[Gt],[]),list_node_providers:e.Func([],[Kt],[]),list_proposals:e.Func([Ut],[Wt],[]),manage_neuron:e.Func([P],[Xe],[]),settle_community_fund_participation:e.Func([It],[q],[]),settle_neurons_fund_participation:e.Func([eo],[ro],[]),simulate_manage_neuron:e.Func([P],[Xe],[]),transfer_gtc_neuron:e.Func([o,o],[q],[]),update_node_provider:e.Func([so],[q],[])})};var fo=({IDL:e})=>{let t=e.Rec(),o=e.Record({id:e.Nat64}),n=e.Record({followees:e.Vec(o)}),r=e.Record({name:e.Text,description:e.Opt(e.Text)}),a=e.Record({id:e.Opt(o),known_neuron_data:e.Opt(r)}),c=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}),d=e.Record({topic:e.Int32,followees:e.Vec(o)}),O=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),R=e.Variant({NeuronIdOrSubaccount:e.Record({}),MemoAndController:O,Memo:e.Nat64}),p=e.Record({by:e.Opt(R)}),v=e.Record({hot_key_to_remove:e.Opt(e.Principal)}),k=e.Record({new_hot_key:e.Opt(e.Principal)}),G=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),B=e.Record({additional_dissolve_delay_seconds:e.Nat32}),oe=e.Record({dissolve_timestamp_seconds:e.Nat64}),u=e.Variant({RemoveHotKey:v,AddHotKey:k,ChangeAutoStakeMaturity:G,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:B,JoinCommunityFund:e.Record({}),LeaveCommunityFund:e.Record({}),SetDissolveTimestamp:oe}),K=e.Record({operation:e.Opt(u)}),ne=e.Record({vote:e.Int32,proposal:e.Opt(o)}),U=e.Record({source_neuron_id:e.Opt(o)}),W=e.Record({dissolve_delay_seconds:e.Nat64,kyc_verified:e.Bool,amount_e8s:e.Nat64,new_controller:e.Opt(e.Principal),nonce:e.Nat64}),re=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),H=e.Record({percentage_to_merge:e.Nat32}),S=e.Record({hash:e.Vec(e.Nat8)}),se=e.Record({e8s:e.Nat64}),j=e.Record({to_account:e.Opt(S),amount:e.Opt(se)}),ae=e.Variant({Spawn:c,Split:_,Follow:d,ClaimOrRefresh:p,Configure:K,RegisterVote:ne,Merge:U,DisburseToNeuron:W,MakeProposal:t,StakeMaturity:re,MergeMaturity:H,Disburse:j}),C=e.Variant({Subaccount:e.Vec(e.Nat8),NeuronId:o}),P=e.Record({id:e.Opt(o),command:e.Opt(ae),neuron_id_or_subaccount:e.Opt(C)}),g=e.Record({basis_points:e.Opt(e.Nat64)}),f=e.Record({seconds:e.Opt(e.Nat64)}),m=e.Record({e8s:e.Opt(e.Nat64)}),ie=e.Record({reward_rate_transition_duration:e.Opt(f),initial_reward_rate:e.Opt(g),final_reward_rate:e.Opt(g)}),h=e.Record({neuron_maximum_dissolve_delay_bonus:e.Opt(g),neuron_maximum_age_for_age_bonus:e.Opt(f),neuron_maximum_dissolve_delay:e.Opt(f),neuron_minimum_dissolve_delay_to_vote:e.Opt(f),neuron_maximum_age_bonus:e.Opt(g),neuron_minimum_stake:e.Opt(m),proposal_wait_for_quiet_deadline_increase:e.Opt(f),proposal_initial_voting_period:e.Opt(f),proposal_rejection_fee:e.Opt(m),voting_reward_parameters:e.Opt(ie)}),z=e.Record({base64_encoding:e.Opt(e.Text)}),ce=e.Record({transaction_fee:e.Opt(m),token_symbol:e.Opt(e.Text),token_logo:e.Opt(z),token_name:e.Opt(e.Text)}),_e=e.Record({id:e.Opt(e.Principal)}),de=e.Record({dissolve_delay_interval:e.Opt(f),count:e.Opt(e.Nat64)}),pe=e.Record({seconds_after_utc_midnight:e.Opt(e.Nat64)}),ue=e.Record({iso_codes:e.Vec(e.Text)}),le=e.Record({minimum_participants:e.Opt(e.Nat64),neurons_fund_participation:e.Opt(e.Bool),duration:e.Opt(f),neuron_basket_construction_parameters:e.Opt(de),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(pe),maximum_direct_participation_icp:e.Opt(m),maximum_icp:e.Opt(m),neurons_fund_investment_icp:e.Opt(m),restricted_countries:e.Opt(ue)}),X=e.Record({total:e.Opt(m)}),me=e.Record({controller:e.Opt(e.Principal),dissolve_delay:e.Opt(f),memo:e.Opt(e.Nat64),vesting_period:e.Opt(f),stake:e.Opt(m)}),Ne=e.Record({developer_neurons:e.Vec(me)}),fe=e.Record({treasury_distribution:e.Opt(X),developer_distribution:e.Opt(Ne),swap_distribution:e.Opt(X)}),Oe=e.Record({url:e.Opt(e.Text),governance_parameters:e.Opt(h),fallback_controller_principal_ids:e.Vec(e.Principal),logo:e.Opt(z),name:e.Opt(e.Text),ledger_parameters:e.Opt(ce),description:e.Opt(e.Text),dapp_canisters:e.Vec(_e),swap_parameters:e.Opt(le),initial_token_distribution:e.Opt(fe)}),Re=e.Record({nns_function:e.Int32,payload:e.Vec(e.Nat8)}),w=e.Record({id:e.Opt(e.Principal),reward_account:e.Opt(S)}),ge=e.Record({dissolve_delay_seconds:e.Nat64}),we=e.Record({to_account:e.Opt(S)}),s=e.Variant({RewardToNeuron:ge,RewardToAccount:we}),M=e.Record({node_provider:e.Opt(w),reward_mode:e.Opt(s),amount_e8s:e.Nat64}),ve=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),ye=e.Record({min_participant_icp_e8s:e.Nat64,neuron_basket_construction_parameters:e.Opt(ve),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)}),be=e.Record({community_fund_investment_e8s:e.Opt(e.Nat64),target_swap_canister_id:e.Opt(e.Principal),params:e.Opt(ye)}),he=e.Record({start_timestamp_seconds:e.Nat64,end_timestamp_seconds:e.Nat64}),xe=e.Record({open_time_window:e.Opt(he)}),ke=e.Record({request:e.Opt(xe),swap_canister_id:e.Opt(e.Principal)}),Se=e.Record({default_followees:e.Vec(e.Tuple(e.Int32,n))}),Me=e.Record({use_registry_derived_rewards:e.Opt(e.Bool),rewards:e.Vec(M)}),F=e.Record({human_readable:e.Opt(e.Text)}),Le=e.Record({contribution_threshold_xdr:e.Opt(F),one_third_participation_milestone_xdr:e.Opt(F),full_participation_milestone_xdr:e.Opt(F)}),et=e.Record({maximum_icp_xdr_rate:e.Opt(g),neurons_fund_matched_funding_curve_coefficients:e.Opt(Le),max_theoretical_neurons_fund_participation_amount_xdr:e.Opt(F),minimum_icp_xdr_rate:e.Opt(g)}),Q=e.Record({neuron_minimum_stake_e8s:e.Nat64,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(et)}),tt=e.Record({principals:e.Vec(e.Principal)}),ot=e.Variant({ToRemove:w,ToAdd:w}),nt=e.Record({change:e.Opt(ot)}),rt=e.Record({motion_text:e.Text}),st=e.Variant({RegisterKnownNeuron:a,ManageNeuron:P,CreateServiceNervousSystem:Oe,ExecuteNnsFunction:Re,RewardNodeProvider:M,OpenSnsTokenSwap:be,SetSnsTokenSwapOpenTimeWindow:ke,SetDefaultFollowees:Se,RewardNodeProviders:Me,ManageNetworkEconomics:Q,ApproveGenesisKyc:tt,AddOrRemoveNodeProvider:nt,Motion:rt});t.fill(e.Record({url:e.Text,title:e.Opt(e.Text),action:e.Opt(st),summary:e.Text}));let at=e.Record({proposal:e.Opt(t),caller:e.Opt(e.Principal),proposer_id:e.Opt(o)}),Fe=e.Record({timestamp:e.Nat64,rewards:e.Vec(M)}),Ae=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,not_dissolving_neurons_count:e.Nat64,total_locked_e8s:e.Nat64,neurons_fund_total_active_neurons:e.Nat64,total_staked_maturity_e8s_equivalent:e.Nat64,not_dissolving_neurons_e8s_buckets_ect:e.Vec(e.Tuple(e.Nat64,e.Float64)),total_staked_e8s_ect:e.Nat64,not_dissolving_neurons_staked_maturity_e8s_equivalent_sum:e.Nat64,dissolved_neurons_e8s: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)),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)),timestamp_seconds:e.Nat64,seed_neuron_count:e.Nat64}),it=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}),qe=e.Record({groups:e.Vec(it),timestamp_seconds:e.Opt(e.Nat64)}),Ee=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(o)}),Be=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}),ct=e.Record({followers:e.Vec(o)}),_t=e.Record({followers_map:e.Vec(e.Tuple(e.Nat64,ct))}),dt=e.Variant({LastNeuronId:o}),Ge=e.Record({status:e.Opt(e.Int32),failure_reason:e.Opt(e.Text),progress:e.Opt(dt)}),pt=e.Record({neuron_indexes_migration:e.Opt(Ge),copy_inactive_neurons_to_stable_memory_migration:e.Opt(Ge)}),N=e.Record({error_message:e.Text,error_type:e.Int32}),ut=e.Record({has_created_neuron_recipes:e.Opt(e.Bool),nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),lt=e.Record({hotkey_principal:e.Text,cf_neurons:e.Vec(ut)}),Ke=e.Record({vote:e.Int32,voting_power:e.Nat64}),mt=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)}),Nt=e.Record({hotkey_principal:e.Opt(e.Principal),is_capped:e.Opt(e.Bool),maturity_equivalent_icp_e8s:e.Opt(e.Nat64),nns_neuron_id:e.Opt(o),amount_icp_e8s:e.Opt(e.Nat64)}),Y=e.Record({neurons_fund_neuron_portions:e.Vec(Nt)}),ft=e.Record({serialized_representation:e.Opt(e.Text)}),A=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(mt),max_neurons_fund_swap_participation_icp_e8s:e.Opt(e.Nat64),neurons_fund_reserves:e.Opt(Y),ideal_matched_participation_function:e.Opt(ft),allocated_neurons_fund_participation_icp_e8s:e.Opt(e.Nat64)}),Ot=e.Record({final_neurons_fund_participation:e.Opt(A),initial_neurons_fund_participation:e.Opt(A),neurons_fund_refunds:e.Opt(Y)}),Rt=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)}),y=e.Record({status:e.Opt(Rt),canister_id:e.Opt(e.Principal)}),gt=e.Record({ledger_index_canister_summary:e.Opt(y),fallback_controller_principal_ids:e.Vec(e.Principal),ledger_archive_canister_summaries:e.Vec(y),ledger_canister_summary:e.Opt(y),swap_canister_summary:e.Opt(y),governance_canister_summary:e.Opt(y),root_canister_summary:e.Opt(y),dapp_canister_summaries:e.Vec(y)}),Ue=e.Record({swap_background_information:e.Opt(gt)}),We=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),wt=e.Record({current_deadline_timestamp_seconds:e.Nat64}),vt=e.Record({id:e.Opt(o),failure_reason:e.Opt(N),cf_participants:e.Vec(lt),ballots:e.Vec(e.Tuple(e.Nat64,Ke)),proposal_timestamp_seconds:e.Nat64,reward_event_round:e.Nat64,failed_timestamp_seconds:e.Nat64,neurons_fund_data:e.Opt(Ot),reject_cost_e8s:e.Nat64,derived_proposal_information:e.Opt(Ue),latest_tally:e.Opt(We),sns_token_swap_lifecycle:e.Opt(e.Int32),decided_timestamp_seconds:e.Nat64,proposal:e.Opt(t),proposer:e.Opt(o),wait_for_quiet_state:e.Opt(wt),executed_timestamp_seconds:e.Nat64,original_total_community_fund_maturity_e8s_equivalent:e.Opt(e.Nat64)}),yt=e.Record({xdr_permyriad_per_icp:e.Opt(e.Nat64),timestamp_seconds:e.Opt(e.Nat64)}),bt=e.Variant({Spawn:o,Split:_,Configure:K,Merge:U,DisburseToNeuron:W,SyncCommand:e.Record({}),ClaimOrRefreshNeuron:p,MergeMaturity:H,Disburse:j}),ht=e.Record({command:e.Opt(bt),timestamp:e.Nat64}),He=e.Record({vote:e.Int32,proposal_id:e.Opt(o)}),xt=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),T=e.Record({id:e.Opt(o),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),controller:e.Opt(e.Principal),recent_ballots:e.Vec(He),kyc_verified:e.Bool,neuron_type:e.Opt(e.Int32),not_for_profit:e.Bool,maturity_e8s_equivalent: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),dissolve_state:e.Opt(xt),followees:e.Vec(e.Tuple(e.Int32,n)),neuron_fees_e8s:e.Nat64,transfer:e.Opt(Be),known_neuron_data:e.Opt(r),spawn_at_timestamp_seconds:e.Opt(e.Nat64)}),Bo=e.Record({default_followees:e.Vec(e.Tuple(e.Int32,n)),making_sns_proposal:e.Opt(at),most_recent_monthly_node_provider_rewards:e.Opt(Fe),maturity_modulation_last_updated_at_timestamp_seconds:e.Opt(e.Nat64),wait_for_quiet_threshold_seconds:e.Nat64,metrics:e.Opt(Ae),neuron_management_voting_period_seconds:e.Opt(e.Nat64),node_providers:e.Vec(w),cached_daily_maturity_modulation_basis_points:e.Opt(e.Int32),economics:e.Opt(Q),restore_aging_summary:e.Opt(qe),spawning_neurons:e.Opt(e.Bool),latest_reward_event:e.Opt(Ee),to_claim_transfers:e.Vec(Be),short_voting_period_seconds:e.Nat64,topic_followee_index:e.Vec(e.Tuple(e.Int32,_t)),migrations:e.Opt(pt),proposals:e.Vec(e.Tuple(e.Nat64,vt)),xdr_conversion_rate:e.Opt(yt),in_flight_commands:e.Vec(e.Tuple(e.Nat64,ht)),neurons:e.Vec(e.Tuple(e.Nat64,T)),genesis_timestamp_seconds:e.Nat64}),q=e.Variant({Ok:e.Null,Err:N}),kt=e.Variant({Error:N,NeuronId:o}),St=e.Record({result:e.Opt(kt)}),je=e.Variant({Ok:T,Err:N}),Tt=e.Variant({Ok:Ae,Err:N}),Pt=e.Variant({Ok:Me,Err:N}),E=e.Record({dissolve_delay_seconds:e.Nat64,recent_ballots:e.Vec(He),neuron_type:e.Opt(e.Int32),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,known_neuron_data:e.Opt(r),voting_power:e.Nat64,age_seconds:e.Nat64}),ze=e.Variant({Ok:E,Err:N}),Vt=e.Record({nns_proposal_id:e.Opt(o)}),Ct=e.Record({final_neurons_fund_participation:e.Opt(A),initial_neurons_fund_participation:e.Opt(A),neurons_fund_refunds:e.Opt(Y)}),Mt=e.Record({neurons_fund_audit_info:e.Opt(Ct)}),Ft=e.Variant({Ok:Mt,Err:N}),At=e.Record({result:e.Opt(Ft)}),qt=e.Variant({Ok:w,Err:N}),Z=e.Record({id:e.Opt(o),status:e.Int32,topic:e.Int32,failure_reason:e.Opt(N),ballots:e.Vec(e.Tuple(e.Nat64,Ke)),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(Ue),latest_tally:e.Opt(We),reward_status:e.Int32,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(t),proposer:e.Opt(o),executed_timestamp_seconds:e.Nat64}),Et=e.Record({known_neurons:e.Vec(a)}),Bt=e.Record({neuron_ids:e.Vec(e.Nat64),include_neurons_readable_by_caller:e.Bool}),Gt=e.Record({neuron_infos:e.Vec(e.Tuple(e.Nat64,E)),full_neurons:e.Vec(T)}),Kt=e.Record({node_providers:e.Vec(w)}),Ut=e.Record({include_reward_status:e.Vec(e.Int32),omit_large_fields:e.Opt(e.Bool),before_proposal:e.Opt(o),limit:e.Nat32,exclude_topic:e.Vec(e.Int32),include_all_manage_neuron_proposals:e.Opt(e.Bool),include_status:e.Vec(e.Int32)}),Wt=e.Record({proposal_info:e.Vec(Z)}),I=e.Record({created_neuron_id:e.Opt(o)}),Ht=e.Record({refreshed_neuron_id:e.Opt(o)}),jt=e.Record({target_neuron:e.Opt(T),source_neuron:e.Opt(T),target_neuron_info:e.Opt(E),source_neuron_info:e.Opt(E)}),zt=e.Record({message:e.Opt(e.Text),proposal_id:e.Opt(o)}),Xt=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),Jt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),$t=e.Record({transfer_block_height:e.Nat64}),Qt=e.Variant({Error:N,Spawn:I,Split:I,Follow:e.Record({}),ClaimOrRefresh:Ht,Configure:e.Record({}),RegisterVote:e.Record({}),Merge:jt,DisburseToNeuron:I,MakeProposal:zt,StakeMaturity:Xt,MergeMaturity:Jt,Disburse:$t}),Xe=e.Record({command:e.Opt(Qt)}),Yt=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)}),Zt=e.Variant({Committed:Yt,Aborted:e.Record({})}),It=e.Record({result:e.Opt(Zt),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),Dt=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)}),Lt=e.Variant({Committed:Dt,Aborted:e.Record({})}),eo=e.Record({result:e.Opt(Lt),nns_proposal_id:e.Opt(e.Nat64)}),to=e.Record({hotkey_principal:e.Opt(e.Text),is_capped:e.Opt(e.Bool),nns_neuron_id:e.Opt(e.Nat64),amount_icp_e8s:e.Opt(e.Nat64)}),oo=e.Record({neurons_fund_neuron_portions:e.Vec(to)}),no=e.Variant({Ok:oo,Err:N}),ro=e.Record({result:e.Opt(no)}),so=e.Record({reward_account:e.Opt(S)});return e.Service({claim_gtc_neurons:e.Func([e.Principal,e.Vec(o)],[q],[]),claim_or_refresh_neuron_from_account:e.Func([O],[St],[]),get_build_metadata:e.Func([],[e.Text],["query"]),get_full_neuron:e.Func([e.Nat64],[je],["query"]),get_full_neuron_by_id_or_subaccount:e.Func([C],[je],["query"]),get_latest_reward_event:e.Func([],[Ee],["query"]),get_metrics:e.Func([],[Tt],["query"]),get_monthly_node_provider_rewards:e.Func([],[Pt],[]),get_most_recent_monthly_node_provider_rewards:e.Func([],[e.Opt(Fe)],["query"]),get_network_economics_parameters:e.Func([],[Q],["query"]),get_neuron_ids:e.Func([],[e.Vec(e.Nat64)],["query"]),get_neuron_info:e.Func([e.Nat64],[ze],["query"]),get_neuron_info_by_id_or_subaccount:e.Func([C],[ze],["query"]),get_neurons_fund_audit_info:e.Func([Vt],[At],["query"]),get_node_provider_by_caller:e.Func([e.Null],[qt],["query"]),get_pending_proposals:e.Func([],[e.Vec(Z)],["query"]),get_proposal_info:e.Func([e.Nat64],[e.Opt(Z)],["query"]),get_restore_aging_summary:e.Func([],[qe],["query"]),list_known_neurons:e.Func([],[Et],["query"]),list_neurons:e.Func([Bt],[Gt],["query"]),list_node_providers:e.Func([],[Kt],["query"]),list_proposals:e.Func([Ut],[Wt],["query"]),manage_neuron:e.Func([P],[Xe],[]),settle_community_fund_participation:e.Func([It],[q],[]),settle_neurons_fund_participation:e.Func([eo],[ro],[]),simulate_manage_neuron:e.Func([P],[Xe],[]),transfer_gtc_neuron:e.Func([o,o],[q],[]),update_node_provider:e.Func([so],[q],[])})};var cn=require("@dfinity/ledger-icp"),L=require("@dfinity/principal"),b=require("@dfinity/utils");var _n=e=>({id:e}),To=e=>({id:e}),dr=e=>({followees:e.map(To)}),pr=e=>{if("NeuronId"in e)return{NeuronId:{id:e.NeuronId}};if("Subaccount"in e)return{Subaccount:Uint8Array.from(e.Subaccount)};throw new x(e)},Oo=e=>e.basisPoints!==void 0?{basis_points:[e.basisPoints]}:{basis_points:[]},ee=e=>e.seconds!==void 0?{seconds:[e.seconds]}:{seconds:[]},ur=e=>e.secondsAfterUtcMidnight!==void 0?{seconds_after_utc_midnight:[e.secondsAfterUtcMidnight]}:{seconds_after_utc_midnight:[]},lr=e=>({iso_codes:e.isoCodes}),J=e=>e.e8s!==void 0?{e8s:[e.e8s]}:{e8s:[]},dn=e=>e.base64Encoding!==void 0?{base64_encoding:[e.base64Encoding]}:{base64_encoding:[]},mr=e=>({reward_rate_transition_duration:e.rewardRateTransitionDuration!==void 0?[ee(e.rewardRateTransitionDuration)]:[],initial_reward_rate:e.initialRewardRate!==void 0?[Oo(e.initialRewardRate)]:[],final_reward_rate:e.finalRewardRate!==void 0?[Oo(e.finalRewardRate)]:[]}),Nr=e=>({transaction_fee:e.transactionFee!==void 0?[J(e.transactionFee)]:[],token_symbol:e.tokenSymbol!==void 0?[e.tokenSymbol]:[],token_logo:e.tokenLogo!==void 0?[dn(e.tokenLogo)]:[],token_name:e.tokenName!==void 0?[e.tokenName]:[]}),fr=e=>({minimum_participants:e.minimumParticipants!==void 0?[e.minimumParticipants]:[],duration:e.duration!==void 0?[ee(e.duration)]:[],neuron_basket_construction_parameters:e.neuronBasketConstructionParameters!==void 0?[Or(e.neuronBasketConstructionParameters)]:[],confirmation_text:e.confirmationText!==void 0?[e.confirmationText]:[],maximum_participant_icp:e.maximumParticipantIcp!==void 0?[J(e.maximumParticipantIcp)]:[],neurons_fund_investment_icp:e.neuronsFundInvestmentIcp!==void 0?[J(e.neuronsFundInvestmentIcp)]:[],minimum_icp:e.minimumIcp!==void 0?[J(e.minimumIcp)]:[],minimum_participant_icp:e.minimumParticipantIcp!==void 0?[J(e.minimumParticipantIcp)]:[],start_time:e.startTime!==void 0?[ur(e.startTime)]:[],maximum_icp:e.maximumIcp!==void 0?[J(e.maximumIcp)]:[],restricted_countries:e.restrictedCountries!==void 0?[lr(e.restrictedCountries)]:[],maximum_direct_participation_icp:e.maxDirectParticipationIcp!==void 0?[J(e.maxDirectParticipationIcp)]:[],minimum_direct_participation_icp:e.minDirectParticipationIcp!==void 0?[J(e.minDirectParticipationIcp)]:[],neurons_fund_participation:(0,b.toNullable)(e.neuronsFundParticipation)}),Or=e=>({dissolve_delay_interval:e.dissolveDelayInterval!==void 0?[ee(e.dissolveDelayInterval)]:[],count:e.count!==void 0?[e.count]:[]}),Rr=e=>({neuron_maximum_dissolve_delay_bonus:e.neuronMaximumDissolveDelayBonus!==void 0?[Oo(e.neuronMaximumDissolveDelayBonus)]:[],neuron_maximum_age_for_age_bonus:e.neuronMaximumAgeForAgeBonus!==void 0?[ee(e.neuronMaximumAgeForAgeBonus)]:[],neuron_maximum_dissolve_delay:e.neuronMaximumDissolveDelay!==void 0?[ee(e.neuronMaximumDissolveDelay)]:[],neuron_minimum_dissolve_delay_to_vote:e.neuronMinimumDissolveDelayToVote!==void 0?[ee(e.neuronMinimumDissolveDelayToVote)]:[],neuron_maximum_age_bonus:e.neuronMaximumAgeBonus!==void 0?[Oo(e.neuronMaximumAgeBonus)]:[],neuron_minimum_stake:e.neuronMinimumStake!==void 0?[J(e.neuronMinimumStake)]:[],proposal_wait_for_quiet_deadline_increase:e.proposalWaitForQuietDeadlineIncrease!==void 0?[ee(e.proposalWaitForQuietDeadlineIncrease)]:[],proposal_initial_voting_period:e.proposalInitialVotingPeriod!==void 0?[ee(e.proposalInitialVotingPeriod)]:[],proposal_rejection_fee:e.proposalRejectionFee!==void 0?[J(e.proposalRejectionFee)]:[],voting_reward_parameters:e.votingRewardParameters!==void 0?[mr(e.votingRewardParameters)]:[]}),sn=e=>({total:e.total!==void 0?[J(e.total)]:[]}),gr=e=>({treasury_distribution:e.treasuryDistribution!==void 0?[sn(e.treasuryDistribution)]:[],developer_distribution:e.developerDistribution!==void 0?[vr(e.developerDistribution)]:[],swap_distribution:e.swapDistribution!==void 0?[sn(e.swapDistribution)]:[]}),wr=e=>({controller:e.controller!==void 0?[L.Principal.fromText(e.controller)]:[],dissolve_delay:e.dissolveDelay!==void 0?[ee(e.dissolveDelay)]:[],memo:e.memo!==void 0?[e.memo]:[],vesting_period:e.vestingPeriod!==void 0?[ee(e.vestingPeriod)]:[],stake:e.stake!==void 0?[J(e.stake)]:[]}),vr=e=>({developer_neurons:e.developerNeurons.map(wr)}),yr=e=>({url:e.url!==void 0?[e.url]:[],governance_parameters:e.governanceParameters!==void 0?[Rr(e.governanceParameters)]:[],fallback_controller_principal_ids:e.fallbackControllerPrincipalIds.map(L.Principal.fromText),logo:e.logo!==void 0?[dn(e.logo)]:[],name:e.name!==void 0?[e.name]:[],ledger_parameters:e.ledgerParameters!==void 0?[Nr(e.ledgerParameters)]:[],description:e.description!==void 0?[e.description]:[],dapp_canisters:e.dappCanisters.map(t=>({id:[L.Principal.fromText(t)]})),swap_parameters:e.swapParameters!==void 0?[fr(e.swapParameters)]:[],initial_token_distribution:e.initialTokenDistribution!==void 0?[gr(e.initialTokenDistribution)]:[]}),pn=e=>{if("ExecuteNnsFunction"in e){let t=e.ExecuteNnsFunction;if(t.payloadBytes===void 0)throw new Error("payloadBytes not found");return{ExecuteNnsFunction:{nns_function:t.nnsFunctionId,payload:(0,b.arrayBufferToUint8Array)(t.payloadBytes)}}}if("ManageNeuron"in e){let t=e.ManageNeuron;return{ManageNeuron:Tr(t)}}if("ApproveGenesisKyc"in e)return{ApproveGenesisKyc:{principals:e.ApproveGenesisKyc.principals.map(L.Principal.fromText)}};if("ManageNetworkEconomics"in e){let t=e.ManageNetworkEconomics;return{ManageNetworkEconomics:{neuron_minimum_stake_e8s:t.neuronMinimumStake,max_proposals_to_keep_per_topic:t.maxProposalsToKeepPerTopic,neuron_management_fee_per_proposal_e8s:t.neuronManagementFeePerProposal,reject_cost_e8s:t.rejectCost,transaction_fee_e8s:t.transactionFee,neuron_spawn_dissolve_delay_seconds:t.neuronSpawnDissolveDelaySeconds,minimum_icp_xdr_rate:t.minimumIcpXdrRate,maximum_node_provider_rewards_e8s:t.maximumNodeProviderRewards,neurons_fund_economics:kr(t.neuronsFundEconomics)}}}if("RewardNodeProvider"in e){let t=e.RewardNodeProvider;return{RewardNodeProvider:{node_provider:t.nodeProvider?[Ro(t.nodeProvider)]:[],amount_e8s:t.amountE8s,reward_mode:t.rewardMode!=null?[an(t.rewardMode)]:[]}}}if("RewardNodeProviders"in e){let t=e.RewardNodeProviders;return{RewardNodeProviders:{use_registry_derived_rewards:t.useRegistryDerivedRewards===void 0?[]:[t.useRegistryDerivedRewards],rewards:t.rewards.map(o=>({node_provider:o.nodeProvider?[Ro(o.nodeProvider)]:[],amount_e8s:o.amountE8s,reward_mode:o.rewardMode!=null?[an(o.rewardMode)]:[]}))}}}if("AddOrRemoveNodeProvider"in e){let t=e.AddOrRemoveNodeProvider;return{AddOrRemoveNodeProvider:{change:t.change?[xr(t.change)]:[]}}}if("Motion"in e)return{Motion:{motion_text:e.Motion.motionText}};if("SetDefaultFollowees"in e)return{SetDefaultFollowees:{default_followees:e.SetDefaultFollowees.defaultFollowees.map(o=>[o.topic,dr(o.followees)])}};if("RegisterKnownNeuron"in e){let t=e.RegisterKnownNeuron;return{RegisterKnownNeuron:{id:[{id:t.id}],known_neuron_data:[{name:t.name,description:t.description!==void 0?[t.description]:[]}]}}}if("SetSnsTokenSwapOpenTimeWindow"in e){let{request:t,swapCanisterId:o}=e.SetSnsTokenSwapOpenTimeWindow;return{SetSnsTokenSwapOpenTimeWindow:{request:t===void 0?[]:[{open_time_window:t.openTimeWindow===void 0?[]:[{start_timestamp_seconds:t.openTimeWindow.startTimestampSeconds,end_timestamp_seconds:t.openTimeWindow.endTimestampSeconds}]}],swap_canister_id:o===void 0?[]:[L.Principal.fromText(o)]}}}if("OpenSnsTokenSwap"in e){let{communityFundInvestmentE8s:t,targetSwapCanisterId:o,params:n}=e.OpenSnsTokenSwap;return{OpenSnsTokenSwap:{community_fund_investment_e8s:(0,b.toNullable)(t),target_swap_canister_id:(0,b.toNullable)(o),params:n===void 0?[]:[{min_participant_icp_e8s:n.minParticipantIcpE8s,max_icp_e8s:n.maxIcpE8s,swap_due_timestamp_seconds:n.swapDueTimestampSeconds,min_participants:n.minParticipants,sns_token_e8s:n.snsTokenE8s,max_participant_icp_e8s:n.maxParticipantIcpE8s,min_icp_e8s:n.minIcpE8s,sale_delay_seconds:(0,b.toNullable)(n.saleDelaySeconds),neuron_basket_construction_parameters:(0,b.toNullable)(n.neuronBasketConstructionParameters),max_direct_participation_icp_e8s:(0,b.toNullable)(n.maxDirectParticipationIcpE8s),min_direct_participation_icp_e8s:(0,b.toNullable)(n.minDirectParticipationIcpE8s)}]}}}if("CreateServiceNervousSystem"in e)return{CreateServiceNervousSystem:yr(e.CreateServiceNervousSystem)};throw new x(e)},br=e=>{if("Split"in e)return{Split:{amount_e8s:e.Split.amount}};if("Follow"in e){let t=e.Follow;return{Follow:{topic:t.topic,followees:t.followees.map(To)}}}if("ClaimOrRefresh"in e){let t=e.ClaimOrRefresh;return{ClaimOrRefresh:{by:t.by?[Sr(t.by)]:[]}}}if("Configure"in e){let t=e.Configure;return{Configure:{operation:t.operation?[hr(t.operation)]:[]}}}if("RegisterVote"in e){let t=e.RegisterVote;return{RegisterVote:{vote:t.vote,proposal:t.proposal?[_n(t.proposal)]:[]}}}if("DisburseToNeuron"in e){let t=e.DisburseToNeuron;return{DisburseToNeuron:{dissolve_delay_seconds:t.dissolveDelaySeconds,kyc_verified:t.kycVerified,amount_e8s:t.amount,new_controller:t.newController?[L.Principal.fromText(t.newController)]:[],nonce:t.nonce}}}if("MergeMaturity"in e)return{MergeMaturity:{percentage_to_merge:e.MergeMaturity.percentageToMerge}};if("StakeMaturity"in e){let{percentageToStake:t}=e.StakeMaturity;return{StakeMaturity:{percentage_to_stake:(0,b.toNullable)(t)}}}if("MakeProposal"in e){let t=e.MakeProposal;return{MakeProposal:{url:t.url,title:[],action:t.action?[pn(t.action)]:[],summary:t.summary}}}if("Disburse"in e){let t=e.Disburse;return{Disburse:{to_account:t.toAccountId?[Po(t.toAccountId)]:[],amount:t.amount?[un(t.amount)]:[]}}}if("Spawn"in e){let t=e.Spawn;return{Spawn:{percentage_to_spawn:t.percentageToSpawn===void 0?[]:[t.percentageToSpawn],new_controller:t.newController?[L.Principal.fromText(t.newController)]:[],nonce:[]}}}if("Merge"in e){let t=e.Merge;return{Merge:{source_neuron_id:t.sourceNeuronId?[{id:t.sourceNeuronId}]:[]}}}throw new x(e)},hr=e=>{if("RemoveHotKey"in e){let t=e.RemoveHotKey;return{RemoveHotKey:{hot_key_to_remove:t.hotKeyToRemove!=null?[L.Principal.fromText(t.hotKeyToRemove)]:[]}}}if("AddHotKey"in e){let t=e.AddHotKey;return{AddHotKey:{new_hot_key:t.newHotKey?[L.Principal.fromText(t.newHotKey)]:[]}}}if("StopDissolving"in e)return{StopDissolving:{}};if("StartDissolving"in e)return{StartDissolving:{}};if("IncreaseDissolveDelay"in e)return{IncreaseDissolveDelay:{additional_dissolve_delay_seconds:e.IncreaseDissolveDelay.additionalDissolveDelaySeconds}};if("JoinCommunityFund"in e||"LeaveCommunityFund"in e)return e;if("SetDissolveTimestamp"in e)return{SetDissolveTimestamp:{dissolve_timestamp_seconds:e.SetDissolveTimestamp.dissolveTimestampSeconds}};if("ChangeAutoStakeMaturity"in e){let{requestedSettingForAutoStakeMaturity:t}=e.ChangeAutoStakeMaturity;return{ChangeAutoStakeMaturity:{requested_setting_for_auto_stake_maturity:t}}}throw new x(e)},xr=e=>{if("ToRemove"in e)return{ToRemove:Ro(e.ToRemove)};if("ToAdd"in e)return{ToAdd:Ro(e.ToAdd)};throw new x(e)},Ro=e=>({id:e.id!=null?[L.Principal.fromText(e.id)]:[],reward_account:e.rewardAccount!=null?[Po(e.rewardAccount)]:[]}),un=e=>({e8s:e}),Po=e=>({hash:(0,cn.accountIdentifierToBytes)(e)}),kr=e=>{if((0,b.isNullish)(e))return[];let{maximumIcpXdrRate:t,maxTheoreticalNeuronsFundParticipationAmountXdr:o,neuronsFundMatchedFundingCurveCoefficients:n,minimumIcpXdrRate:r}=e,a=d=>(0,b.isNullish)(d)?[]:[{basis_points:(0,b.toNullable)(d.basisPoints)}],c=d=>(0,b.isNullish)(d)?[]:[{human_readable:(0,b.toNullable)(d.humanReadable)}],_=d=>(0,b.isNullish)(d)?[]:[{contribution_threshold_xdr:c(d.contributionThresholdXdr),full_participation_milestone_xdr:c(d.fullParticipationMilestoneXdr),one_third_participation_milestone_xdr:c(d.oneThirdParticipationMilestoneXdr)}];return[{maximum_icp_xdr_rate:a(t),neurons_fund_matched_funding_curve_coefficients:_(n),minimum_icp_xdr_rate:a(r),max_theoretical_neurons_fund_participation_amount_xdr:c(o)}]},an=e=>{if("RewardToNeuron"in e)return{RewardToNeuron:{dissolve_delay_seconds:e.RewardToNeuron.dissolveDelaySeconds}};if("RewardToAccount"in e)return{RewardToAccount:{to_account:e.RewardToAccount.toAccount!=null?[Po(e.RewardToAccount.toAccount)]:[]}};throw new x(e)},Sr=e=>{if("NeuronIdOrSubaccount"in e)return{NeuronIdOrSubaccount:{}};if("Memo"in e)return{Memo:e.Memo};if("MemoAndController"in e)return{MemoAndController:{memo:e.MemoAndController.memo,controller:e.MemoAndController.controller?[e.MemoAndController.controller]:[]}};throw new x(e)},ln=e=>({neuron_ids:BigUint64Array.from(e??[]),include_neurons_readable_by_caller:!e}),Tr=({id:e,command:t,neuronIdOrSubaccount:o})=>({id:e?[To(e)]:[],command:t?[br(t)]:[],neuron_id_or_subaccount:o?[pr(o)]:[]}),mn=({includeRewardStatus:e,beforeProposal:t,excludeTopic:o,includeStatus:n,limit:r,includeAllManageNeuronProposals:a,omitLargeFields:c})=>({include_reward_status:Int32Array.from(e),before_proposal:t?[_n(t)]:[],limit:r,exclude_topic:Int32Array.from(o),include_all_manage_neuron_proposals:a!==void 0?[a]:[],include_status:Int32Array.from(n),omit_large_fields:(0,b.toNullable)(c)}),Nn=e=>({id:[],command:[{ClaimOrRefresh:{by:[{NeuronIdOrSubaccount:{}}]}}],neuron_id_or_subaccount:[{NeuronId:{id:e.neuronId}}]}),fn=({memo:e,controller:t})=>{let o={ClaimOrRefresh:{by:[{MemoAndController:{controller:t==null?[]:[t],memo:e}}]}};return{id:[],command:[o],neuron_id_or_subaccount:[]}},On=({neuronId:e,amount:t})=>({id:[],command:[{Split:{amount_e8s:t}}],neuron_id_or_subaccount:[{NeuronId:{id:e}}]});var Rn=({neuronId:e,vote:t,proposalId:o})=>Qe({neuronId:e,command:{RegisterVote:{vote:t,proposal:[{id:o}]}}}),gn=e=>{let t={MakeProposal:{url:e.url,title:e.title!=null?[e.title]:[],summary:e.summary,action:[pn(e.action)]}};return{id:[],command:[t],neuron_id_or_subaccount:[{NeuronId:{id:e.neuronId}}]}},wn=({neuronId:e,topic:t,followees:o})=>Qe({neuronId:e,command:{Follow:{topic:t,followees:o.map(n=>({id:n}))}}}),vn=({neuronId:e,toAccountIdentifier:t,amount:o})=>Qe({neuronId:e,command:{Disburse:{to_account:t!==void 0?[t.toAccountIdentifierHash()]:[],amount:o!==void 0?[un(o)]:[]}}}),yn=({neuronId:e,percentageToMerge:t})=>Qe({neuronId:e,command:{MergeMaturity:{percentage_to_merge:t}}}),bn=({neuronId:e,percentageToStake:t})=>Qe({neuronId:e,command:{StakeMaturity:{percentage_to_stake:(0,b.toNullable)(t)}}}),hn=({neuronId:e,percentageToSpawn:t,newController:o,nonce:n})=>Qe({neuronId:e,command:{Spawn:{percentage_to_spawn:t===void 0?[]:[t],new_controller:o===void 0?[]:[o],nonce:n===void 0?[]:[n]}}}),xn=({neuronId:e,principal:t})=>Ve({neuronId:e,operation:{AddHotKey:{new_hot_key:[t]}}}),kn=({neuronId:e,principal:t})=>Ve({neuronId:e,operation:{RemoveHotKey:{hot_key_to_remove:[t]}}}),Sn=({neuronId:e,additionalDissolveDelaySeconds:t})=>Ve({neuronId:e,operation:{IncreaseDissolveDelay:{additional_dissolve_delay_seconds:t}}}),Tn=({neuronId:e,dissolveDelaySeconds:t})=>Ve({neuronId:e,operation:{SetDissolveTimestamp:{dissolve_timestamp_seconds:BigInt(t)}}}),Pn=e=>Ve({neuronId:e,operation:{JoinCommunityFund:{}}}),Vn=({neuronId:e,autoStake:t})=>Ve({neuronId:e,operation:{ChangeAutoStakeMaturity:{requested_setting_for_auto_stake_maturity:t}}}),Cn=e=>Ve({neuronId:e,operation:{LeaveCommunityFund:{}}}),Vo=({sourceNeuronId:e,targetNeuronId:t})=>Qe({neuronId:t,command:{Merge:{source_neuron_id:[{id:e}]}}}),Mn=e=>Ve({neuronId:e,operation:{StartDissolving:{}}}),Fn=e=>Ve({neuronId:e,operation:{StopDissolving:{}}}),Qe=({neuronId:e,command:t})=>({id:[{id:e}],command:[t],neuron_id_or_subaccount:[]}),Ve=({neuronId:e,operation:t})=>Qe({neuronId:e,command:{Configure:{operation:[t]}}});var De=require("@dfinity/ledger-icp"),Co=require("@dfinity/principal"),i=require("@dfinity/utils");var Mo=({neuronId:e,neuronInfo:t,rawNeuron:o,canisterId:n})=>{let r=o?Pr({neuron:o,canisterId:n}):void 0;return{neuronId:e,dissolveDelaySeconds:t.dissolve_delay_seconds,recentBallots:t.recent_ballots.map(Bn),neuronType:(0,i.fromNullable)(t.neuron_type),createdTimestampSeconds:t.created_timestamp_seconds,state:t.state,joinedCommunityFundTimestampSeconds:t.joined_community_fund_timestamp_seconds.length?t.joined_community_fund_timestamp_seconds[0]:void 0,retrievedAtTimestampSeconds:t.retrieved_at_timestamp_seconds,votingPower:t.voting_power,ageSeconds:t.age_seconds,fullNeuron:r}},Pr=({neuron:e,canisterId:t})=>({id:e.id.length?Ye(e.id[0]):void 0,stakedMaturityE8sEquivalent:(0,i.fromNullable)(e.staked_maturity_e8s_equivalent),controller:e.controller.length?e.controller[0].toString():void 0,recentBallots:e.recent_ballots.map(Bn),neuronType:(0,i.fromNullable)(e.neuron_type),kycVerified:e.kyc_verified,notForProfit:e.not_for_profit,cachedNeuronStake:e.cached_neuron_stake_e8s,createdTimestampSeconds:e.created_timestamp_seconds,autoStakeMaturity:(0,i.fromNullable)(e.auto_stake_maturity),maturityE8sEquivalent:e.maturity_e8s_equivalent,agingSinceTimestampSeconds:e.aging_since_timestamp_seconds,neuronFees:e.neuron_fees_e8s,hotKeys:e.hot_keys.map(o=>o.toString()),accountIdentifier:(0,De.principalToAccountIdentifier)(t,Uint8Array.from(e.account)),joinedCommunityFundTimestampSeconds:e.joined_community_fund_timestamp_seconds.length?e.joined_community_fund_timestamp_seconds[0]:void 0,dissolveState:e.dissolve_state.length?Vr(e.dissolve_state[0]):void 0,spawnAtTimesSeconds:e.spawn_at_timestamp_seconds[0],followees:e.followees.map(([o,n])=>Gn({topic:o,followees:n}))}),En=e=>({id:(0,i.nonNullish)(e.id)?(0,i.toNullable)({id:e.id}):[],staked_maturity_e8s_equivalent:(0,i.toNullable)(e.stakedMaturityE8sEquivalent),controller:(0,i.nonNullish)(e.controller)?(0,i.toNullable)(Co.Principal.from(e.controller)):[],recent_ballots:e.recentBallots.map(t=>({vote:t.vote,proposal_id:(0,i.nonNullish)(t.proposalId)?(0,i.toNullable)({id:t.proposalId}):[]})),kyc_verified:e.kycVerified,neuron_type:(0,i.toNullable)(e.neuronType),not_for_profit:e.notForProfit,cached_neuron_stake_e8s:e.cachedNeuronStake,created_timestamp_seconds:e.createdTimestampSeconds,auto_stake_maturity:(0,i.toNullable)(e.autoStakeMaturity),maturity_e8s_equivalent:e.maturityE8sEquivalent,aging_since_timestamp_seconds:e.agingSinceTimestampSeconds,neuron_fees_e8s:e.neuronFees,hot_keys:e.hotKeys.map(t=>Co.Principal.from(t)),account:De.AccountIdentifier.fromHex(e.accountIdentifier).toUint8Array(),joined_community_fund_timestamp_seconds:(0,i.toNullable)(e.joinedCommunityFundTimestampSeconds),dissolve_state:(0,i.nonNullish)(e.dissolveState)?[e.dissolveState]:[],spawn_at_timestamp_seconds:(0,i.toNullable)(e.spawnAtTimesSeconds),followees:e.followees.map(t=>[t.topic,{followees:t.followees.map(o=>({id:o}))}]),transfer:[],known_neuron_data:[]}),Bn=({vote:e,proposal_id:t})=>({vote:e,proposalId:t.length?Ye(t[0]):void 0}),Vr=e=>"DissolveDelaySeconds"in e?{DissolveDelaySeconds:e.DissolveDelaySeconds}:{WhenDissolvedTimestampSeconds:e.WhenDissolvedTimestampSeconds},Gn=({topic:e,followees:t})=>({topic:e,followees:t.followees.map(Ye)}),Ye=({id:e})=>e,Cr=e=>{if("NeuronId"in e)return{NeuronId:e.NeuronId.id};if("Subaccount"in e)return{Subaccount:(0,i.uint8ArrayToArrayOfNumber)(Uint8Array.from(e.Subaccount))};throw new x(e)},Mr=({neuronId:e,ballot:t})=>{let{vote:o,voting_power:n}=t;return{neuronId:e,vote:o,votingPower:n}},Fr=({title:e,url:t,action:o,summary:n})=>({title:e.length?e[0]:void 0,url:t,action:o.length?Kn(o[0]):void 0,summary:n}),Kn=e=>{var t;if("ExecuteNnsFunction"in e)return{ExecuteNnsFunction:{nnsFunctionId:e.ExecuteNnsFunction.nns_function}};if("ManageNeuron"in e){let o=e.ManageNeuron;return{ManageNeuron:{id:o.id.length?Ye(o.id[0]):void 0,command:o.command.length?qr(o.command[0]):void 0,neuronIdOrSubaccount:o.neuron_id_or_subaccount.length?Cr(o.neuron_id_or_subaccount[0]):void 0}}}if("ApproveGenesisKyc"in e)return{ApproveGenesisKyc:{principals:e.ApproveGenesisKyc.principals.map(n=>n.toString())}};if("ManageNetworkEconomics"in e){let o=e.ManageNetworkEconomics;return{ManageNetworkEconomics:{neuronMinimumStake:o.neuron_minimum_stake_e8s,maxProposalsToKeepPerTopic:o.max_proposals_to_keep_per_topic,neuronManagementFeePerProposal:o.neuron_management_fee_per_proposal_e8s,rejectCost:o.reject_cost_e8s,transactionFee:o.transaction_fee_e8s,neuronSpawnDissolveDelaySeconds:o.neuron_spawn_dissolve_delay_seconds,minimumIcpXdrRate:o.minimum_icp_xdr_rate,maximumNodeProviderRewards:o.maximum_node_provider_rewards_e8s,neuronsFundEconomics:Gr(o.neurons_fund_economics)}}}if("RewardNodeProvider"in e){let o=e.RewardNodeProvider;return{RewardNodeProvider:{nodeProvider:o.node_provider.length?go(o.node_provider[0]):void 0,amountE8s:o.amount_e8s,rewardMode:o.reward_mode.length?An(o.reward_mode[0]):void 0}}}if("RewardNodeProviders"in e){let o=e.RewardNodeProviders;return{RewardNodeProviders:{useRegistryDerivedRewards:o.use_registry_derived_rewards.length?o.use_registry_derived_rewards[0]:void 0,rewards:o.rewards.map(n=>({nodeProvider:n.node_provider.length?go(n.node_provider[0]):void 0,amountE8s:n.amount_e8s,rewardMode:n.reward_mode.length?An(n.reward_mode[0]):void 0}))}}}if("AddOrRemoveNodeProvider"in e){let o=e.AddOrRemoveNodeProvider;return{AddOrRemoveNodeProvider:{change:o.change.length?Br(o.change[0]):void 0}}}if("Motion"in e)return{Motion:{motionText:e.Motion.motion_text}};if("SetDefaultFollowees"in e)return{SetDefaultFollowees:{defaultFollowees:e.SetDefaultFollowees.default_followees.map(([n,r])=>Gn({topic:n,followees:r}))}};if("RegisterKnownNeuron"in e){let o=e.RegisterKnownNeuron;return{RegisterKnownNeuron:Wr(o)}}if("SetSnsTokenSwapOpenTimeWindow"in e){let o=e.SetSnsTokenSwapOpenTimeWindow,n=(t=o.request)!=null&&t.length?{openTimeWindow:o.request[0].open_time_window.length?{startTimestampSeconds:o.request[0].open_time_window[0].start_timestamp_seconds,endTimestampSeconds:o.request[0].open_time_window[0].end_timestamp_seconds}:void 0}:void 0,r=o!=null&&o.swap_canister_id.length?o.swap_canister_id[0].toString():void 0;return{SetSnsTokenSwapOpenTimeWindow:{request:n,swapCanisterId:r}}}if("OpenSnsTokenSwap"in e){let o=e.OpenSnsTokenSwap,n=(0,i.fromNullable)(o.params);return{OpenSnsTokenSwap:{communityFundInvestmentE8s:(0,i.fromNullable)(o.community_fund_investment_e8s),targetSwapCanisterId:(0,i.fromNullable)(o.target_swap_canister_id),params:n&&{minParticipantIcpE8s:n.min_participant_icp_e8s,maxIcpE8s:n.max_icp_e8s,swapDueTimestampSeconds:n.swap_due_timestamp_seconds,minParticipants:n.min_participants,snsTokenE8s:n.sns_token_e8s,maxParticipantIcpE8s:n.max_participant_icp_e8s,minIcpE8s:n.min_icp_e8s,saleDelaySeconds:(0,i.fromNullable)(n.sale_delay_seconds),neuronBasketConstructionParameters:(0,i.fromNullable)(n.neuron_basket_construction_parameters),maxDirectParticipationIcpE8s:(0,i.fromNullable)(n.max_direct_participation_icp_e8s),minDirectParticipationIcpE8s:(0,i.fromNullable)(n.min_direct_participation_icp_e8s)}}}}if("CreateServiceNervousSystem"in e){let o=e.CreateServiceNervousSystem;return{CreateServiceNervousSystem:{url:(0,i.fromNullable)(o.url),governanceParameters:$r((0,i.fromNullable)(o.governance_parameters)),fallbackControllerPrincipalIds:o.fallback_controller_principal_ids.map(n=>n.toString()),logo:Hn((0,i.fromNullable)(o.logo)),name:(0,i.fromNullable)(o.name),ledgerParameters:Xr((0,i.fromNullable)(o.ledger_parameters)),description:(0,i.fromNullable)(o.description),dappCanisters:o.dapp_canisters.map(zr)??[],swapParameters:Yr((0,i.fromNullable)(o.swap_parameters)),initialTokenDistribution:Dr((0,i.fromNullable)(o.initial_token_distribution))}}}throw new x(e)},Ar=e=>({no:e.no,yes:e.yes,total:e.total,timestampSeconds:e.timestamp_seconds}),qr=e=>{if("Spawn"in e){let t=e.Spawn;return{Spawn:{newController:t.new_controller.length?t.new_controller[0].toString():void 0,percentageToSpawn:t.percentage_to_spawn.length?t.percentage_to_spawn[0]:0}}}if("Split"in e)return{Split:{amount:e.Split.amount_e8s}};if("Follow"in e){let t=e.Follow;return{Follow:{topic:t.topic,followees:t.followees.map(Ye)}}}if("ClaimOrRefresh"in e){let t=e.ClaimOrRefresh;return{ClaimOrRefresh:{by:t.by.length?Ur(t.by[0]):void 0}}}if("Configure"in e){let t=e.Configure;return{Configure:{operation:t.operation.length?Er(t.operation[0]):void 0}}}if("RegisterVote"in e){let t=e.RegisterVote;return{RegisterVote:{vote:t.vote,proposal:t.proposal.length?Ye(t.proposal[0]):void 0}}}if("DisburseToNeuron"in e){let t=e.DisburseToNeuron;return{DisburseToNeuron:{dissolveDelaySeconds:t.dissolve_delay_seconds,kycVerified:t.kyc_verified,amount:t.amount_e8s,newController:t.new_controller.length?t.new_controller[0].toString():void 0,nonce:t.nonce}}}if("MergeMaturity"in e)return{MergeMaturity:{percentageToMerge:e.MergeMaturity.percentage_to_merge}};if("StakeMaturity"in e){let{percentage_to_stake:t}=e.StakeMaturity;return{StakeMaturity:{percentageToStake:(0,i.fromNullable)(t)}}}if("MakeProposal"in e){let t=e.MakeProposal;return{MakeProposal:{title:t.title.length?t.title[0]:void 0,url:t.url,action:t.action.length?Kn(t.action[0]):void 0,summary:t.summary}}}if("Disburse"in e){let t=e.Disburse;return{Disburse:{toAccountId:t.to_account.length?Fo(t.to_account[0]):void 0,amount:t.amount.length?Kr(t.amount[0]):void 0}}}if("Merge"in e){let t=e.Merge;return{Merge:{sourceNeuronId:t.source_neuron_id.length?t.source_neuron_id[0].id:void 0}}}throw new x(e)},Er=e=>{if("RemoveHotKey"in e){let t=e.RemoveHotKey;return{RemoveHotKey:{hotKeyToRemove:t.hot_key_to_remove.length?t.hot_key_to_remove[0].toString():void 0}}}if("AddHotKey"in e){let t=e.AddHotKey;return{AddHotKey:{newHotKey:t.new_hot_key.length?t.new_hot_key[0].toString():void 0}}}if("StopDissolving"in e)return{StopDissolving:{}};if("StartDissolving"in e)return{StartDissolving:{}};if("IncreaseDissolveDelay"in e)return{IncreaseDissolveDelay:{additionalDissolveDelaySeconds:e.IncreaseDissolveDelay.additional_dissolve_delay_seconds}};if("JoinCommunityFund"in e||"LeaveCommunityFund"in e)return e;if("SetDissolveTimestamp"in e)return{SetDissolveTimestamp:{dissolveTimestampSeconds:e.SetDissolveTimestamp.dissolve_timestamp_seconds}};if("ChangeAutoStakeMaturity"in e){let{requested_setting_for_auto_stake_maturity:t}=e.ChangeAutoStakeMaturity;return{ChangeAutoStakeMaturity:{requestedSettingForAutoStakeMaturity:t}}}throw new x(e)},Br=e=>{if("ToRemove"in e)return{ToRemove:go(e.ToRemove)};if("ToAdd"in e)return{ToAdd:go(e.ToAdd)};throw new x(e)},Gr=e=>{let t=(0,i.fromNullable)(e);if((0,i.isNullish)(t))return;let{maximum_icp_xdr_rate:o,neurons_fund_matched_funding_curve_coefficients:n,max_theoretical_neurons_fund_participation_amount_xdr:r,minimum_icp_xdr_rate:a}=t,c=O=>{let R=(0,i.fromNullable)(O);if((0,i.isNullish)(R))return;let{basis_points:p}=R,v=(0,i.fromNullable)(p);return(0,i.nonNullish)(v)?{basisPoints:v}:void 0},_=O=>{let R=(0,i.fromNullable)(O);if((0,i.isNullish)(R))return;let{human_readable:p}=R,v=(0,i.fromNullable)(p);return(0,i.nonNullish)(v)?{humanReadable:v}:void 0},d=O=>{let R=(0,i.fromNullable)(O);if((0,i.isNullish)(R))return;let{full_participation_milestone_xdr:p,one_third_participation_milestone_xdr:v,contribution_threshold_xdr:k}=R;return{fullParticipationMilestoneXdr:_(p),oneThirdParticipationMilestoneXdr:_(v),contributionThresholdXdr:_(k)}};return{maximumIcpXdrRate:c(o),neuronsFundMatchedFundingCurveCoefficients:d(n),maxTheoreticalNeuronsFundParticipationAmountXdr:_(r),minimumIcpXdrRate:c(a)}},go=e=>({id:e.id.length?e.id[0].toString():void 0,rewardAccount:e.reward_account.length?Fo(e.reward_account[0]):void 0}),Kr=e=>e.e8s,Fo=e=>(0,De.accountIdentifierFromBytes)(new Uint8Array(e.hash)),An=e=>{if("RewardToNeuron"in e)return{RewardToNeuron:{dissolveDelaySeconds:e.RewardToNeuron.dissolve_delay_seconds}};if("RewardToAccount"in e)return{RewardToAccount:{toAccount:e.RewardToAccount.to_account!=null&&e.RewardToAccount.to_account.length?Fo(e.RewardToAccount.to_account[0]):void 0}};throw new x(e)},Ur=e=>{if("NeuronIdOrSubaccount"in e)return{NeuronIdOrSubaccount:{}};if("Memo"in e)return{Memo:e.Memo};if("MemoAndController"in e)return{MemoAndController:{memo:e.MemoAndController.memo,controller:e.MemoAndController.controller.length?e.MemoAndController.controller[0]:void 0}};throw new x(e)},Ao=e=>({id:e.id.length?Ye(e.id[0]):void 0,ballots:e.ballots.map(t=>Mr({neuronId:t[0],ballot:t[1]})),rejectCost:e.reject_cost_e8s,proposalTimestampSeconds:e.proposal_timestamp_seconds,rewardEventRound:e.reward_event_round,failedTimestampSeconds:e.failed_timestamp_seconds,deadlineTimestampSeconds:(0,i.fromNullable)(e.deadline_timestamp_seconds),decidedTimestampSeconds:e.decided_timestamp_seconds,proposal:e.proposal.length?Fr(e.proposal[0]):void 0,proposer:e.proposer.length?Ye(e.proposer[0]):void 0,latestTally:e.latest_tally.length?Ar(e.latest_tally[0]):void 0,executedTimestampSeconds:e.executed_timestamp_seconds,topic:e.topic,status:e.status,rewardStatus:e.reward_status}),Un=({response:{neuron_infos:e,full_neurons:t},canisterId:o})=>e.map(([n,r])=>Mo({neuronId:n,neuronInfo:r,rawNeuron:t.find(a=>a.id.length&&a.id[0].id===n),canisterId:o})),Wn=({proposal_info:e})=>({proposals:e.map(Ao)}),Wr=({id:e,known_neuron_data:t})=>{var o,n,r;return{id:((o=e[0])==null?void 0:o.id)??BigInt(0),name:((n=t[0])==null?void 0:n.name)??"",description:((r=t[0])==null?void 0:r.description[0])??""}},wo=e=>e===void 0?void 0:{basisPoints:(0,i.fromNullable)(e.basis_points)},te=e=>e===void 0?void 0:{seconds:(0,i.fromNullable)(e.seconds)},Hr=e=>e===void 0?void 0:{secondsAfterUtcMidnight:(0,i.fromNullable)(e.seconds_after_utc_midnight)},jr=e=>e===void 0?void 0:{isoCodes:e.iso_codes},$=e=>e===void 0?void 0:{e8s:(0,i.fromNullable)(e.e8s)},zr=e=>e===void 0||e.id.length===0?void 0:(0,i.fromDefinedNullable)(e.id).toString(),Hn=e=>e===void 0?void 0:{base64Encoding:(0,i.fromNullable)(e.base64_encoding)},Xr=e=>e===void 0?void 0:{transactionFee:$((0,i.fromNullable)(e.transaction_fee)),tokenSymbol:(0,i.fromNullable)(e.token_symbol),tokenLogo:Hn((0,i.fromNullable)(e.token_logo)),tokenName:(0,i.fromNullable)(e.token_name)},Jr=e=>e===void 0?void 0:{rewardRateTransitionDuration:te((0,i.fromNullable)(e.reward_rate_transition_duration)),initialRewardRate:wo((0,i.fromNullable)(e.initial_reward_rate)),finalRewardRate:wo((0,i.fromNullable)(e.final_reward_rate))},$r=e=>e===void 0?void 0:{neuronMaximumDissolveDelayBonus:wo((0,i.fromNullable)(e.neuron_maximum_dissolve_delay_bonus)),neuronMaximumAgeForAgeBonus:te((0,i.fromNullable)(e.neuron_maximum_age_for_age_bonus)),neuronMaximumDissolveDelay:te((0,i.fromNullable)(e.neuron_maximum_dissolve_delay)),neuronMinimumDissolveDelayToVote:te((0,i.fromNullable)(e.neuron_minimum_dissolve_delay_to_vote)),neuronMaximumAgeBonus:wo((0,i.fromNullable)(e.neuron_maximum_age_bonus)),neuronMinimumStake:$((0,i.fromNullable)(e.neuron_minimum_stake)),proposalWaitForQuietDeadlineIncrease:te((0,i.fromNullable)(e.proposal_wait_for_quiet_deadline_increase)),proposalInitialVotingPeriod:te((0,i.fromNullable)(e.proposal_initial_voting_period)),proposalRejectionFee:$((0,i.fromNullable)(e.proposal_rejection_fee)),votingRewardParameters:Jr((0,i.fromNullable)(e.voting_reward_parameters))},Qr=e=>e===void 0?void 0:{dissolveDelayInterval:te((0,i.fromNullable)(e.dissolve_delay_interval)),count:(0,i.fromNullable)(e.count)},Yr=e=>e===void 0?void 0:{minimumParticipants:(0,i.fromNullable)(e.minimum_participants),duration:te((0,i.fromNullable)(e.duration)),neuronBasketConstructionParameters:Qr((0,i.fromNullable)(e.neuron_basket_construction_parameters)),confirmationText:(0,i.fromNullable)(e.confirmation_text),maximumParticipantIcp:$((0,i.fromNullable)(e.maximum_participant_icp)),neuronsFundInvestmentIcp:$((0,i.fromNullable)(e.neurons_fund_investment_icp)),minimumIcp:$((0,i.fromNullable)(e.minimum_icp)),minimumParticipantIcp:$((0,i.fromNullable)(e.minimum_participant_icp)),startTime:Hr((0,i.fromNullable)(e.start_time)),maximumIcp:$((0,i.fromNullable)(e.maximum_icp)),restrictedCountries:jr((0,i.fromNullable)(e.restricted_countries)),maxDirectParticipationIcp:$((0,i.fromNullable)(e.maximum_direct_participation_icp)),minDirectParticipationIcp:$((0,i.fromNullable)(e.minimum_direct_participation_icp)),neuronsFundParticipation:(0,i.fromNullable)(e.neurons_fund_participation)},qn=e=>e===void 0?void 0:{total:$((0,i.fromNullable)(e.total))},Zr=e=>e===void 0?void 0:{controller:e.controller.length===0?void 0:e.controller[0].toString(),dissolveDelay:te((0,i.fromNullable)(e.dissolve_delay)),memo:(0,i.fromNullable)(e.memo),vestingPeriod:te((0,i.fromNullable)(e.vesting_period)),stake:$((0,i.fromNullable)(e.stake))},Ir=e=>e===void 0?void 0:{developerNeurons:e.developer_neurons.map(Zr)},Dr=e=>e===void 0?void 0:{treasuryDistribution:qn((0,i.fromNullable)(e.treasury_distribution)),developerDistribution:Ir((0,i.fromNullable)(e.developer_distribution)),swapDistribution:qn((0,i.fromNullable)(e.swap_distribution))};var co=e=>{let{command:t}=e,o=t[0];if(!o)throw new Pe({error_message:"Error updating neuron",error_type:0});if("Error"in o)throw new Pe(o.Error);return o},V=async({request:e,service:t})=>{let o=await t.manage_neuron(e);return co(o)},jn=async({request:e,service:t})=>{let o=await t.simulate_manage_neuron(e);return co(o)};var qo=BigInt(1e8);var vo=class e{constructor(t,o,n,r){this.canisterId=t;this.service=o;this.certifiedService=n;this.agent=r;this.listNeurons=async({certified:t=!0,neuronIds:o})=>{let n=ln(o),r=await this.getGovernanceService(t).list_neurons(n);return Un({response:r,canisterId:this.canisterId})};this.listKnownNeurons=async(t=!0)=>(await this.getGovernanceService(t).list_known_neurons()).known_neurons.map(n=>{var r,a,c;return{id:((r=(0,l.fromNullable)(n.id))==null?void 0:r.id)??BigInt(0),name:((a=(0,l.fromNullable)(n.known_neuron_data))==null?void 0:a.name)??"",description:(0,l.fromNullable)(((c=(0,l.fromNullable)(n.known_neuron_data))==null?void 0:c.description)??[])}});this.getLastestRewardEvent=async(t=!0)=>this.getGovernanceService(t).get_latest_reward_event();this.listProposals=async({request:t,certified:o=!0})=>{let n=mn(t),r=await this.getGovernanceService(o).list_proposals(n);return Wn(r)};this.stakeNeuron=async({stake:t,principal:o,fromSubAccount:n,ledgerCanister:r,createdAt:a,fee:c})=>{if(t<qo)throw new Ie(t);let _=new Uint8Array((0,Eo.default)(8)),d=(0,l.uint8ArrayToBigInt)(_),O=this.buildNeuronStakeSubAccount(_,o),R=Ce.AccountIdentifier.fromPrincipal({principal:this.canisterId,subAccount:O});await r.transfer({memo:d,amount:t,fromSubAccount:n,to:R,createdAt:a,fee:c});let p=await this.claimOrRefreshNeuronFromAccount({controller:o,memo:d});if((0,l.isNullish)(p))throw new Ze;return p};this.stakeNeuronIcrc1=async({stake:t,principal:o,fromSubAccount:n,ledgerCanister:r,createdAt:a,fee:c})=>{if(t<qo)throw new Ie(t);let _=new Uint8Array((0,Eo.default)(8)),d=(0,l.uint8ArrayToBigInt)(_),O=this.getNeuronStakeSubAccountBytes(_,o);await r.icrc1Transfer({icrc1Memo:_,amount:t,fromSubAccount:n,to:{owner:this.canisterId,subaccount:[O]},createdAt:a,fee:c});let R=await this.claimOrRefreshNeuronFromAccount({controller:o,memo:d});if((0,l.isNullish)(R))throw new Ze;return R};this.increaseDissolveDelay=async({neuronId:t,additionalDissolveDelaySeconds:o})=>{let n=Sn({neuronId:t,additionalDissolveDelaySeconds:o});await V({request:n,service:this.certifiedService})};this.setDissolveDelay=async({neuronId:t,dissolveDelaySeconds:o})=>{let n=Tn({neuronId:t,dissolveDelaySeconds:o});await V({request:n,service:this.certifiedService})};this.startDissolving=async t=>{let o=Mn(t);await V({request:o,service:this.certifiedService})};this.stopDissolving=async t=>{let o=Fn(t);await V({request:o,service:this.certifiedService})};this.joinCommunityFund=async t=>{let o=Pn(t);await V({request:o,service:this.certifiedService})};this.autoStakeMaturity=async t=>{await V({request:Vn(t),service:this.certifiedService})};this.leaveCommunityFund=async t=>{let o=Cn(t);await V({request:o,service:this.certifiedService})};this.setNodeProviderAccount=async t=>{(0,Ce.checkAccountId)(t);let o=Ce.AccountIdentifier.fromHex(t),n=await this.certifiedService.update_node_provider({reward_account:[o.toAccountIdentifierHash()]});if("Err"in n)throw new Pe(n.Err)};this.mergeNeurons=async t=>{let o=Vo(t);await V({request:o,service:this.certifiedService})};this.simulateMergeNeurons=async t=>{var d;let o=Vo(t),n=await jn({request:o,service:this.certifiedService}),r,a,c,_;if("Merge"in n&&(0,l.nonNullish)(r=n.Merge)&&(0,l.nonNullish)(a=(0,l.fromNullable)(r.target_neuron_info))&&(0,l.nonNullish)(c=(0,l.fromNullable)(r.target_neuron))&&(0,l.nonNullish)(_=(d=(0,l.fromNullable)(c.id))==null?void 0:d.id))return Mo({neuronId:_,neuronInfo:a,rawNeuron:c,canisterId:this.canisterId});throw new Te(`simulateMergeNeurons: Unrecognized Merge error in ${JSON.stringify(n)}`)};this.splitNeuron=async({neuronId:t,amount:o})=>{let n=On({neuronId:t,amount:o}),r=await this.certifiedService.manage_neuron(n),a=co(r);if("Split"in a){let c=(0,l.fromNullable)(a.Split.created_neuron_id);if((0,l.isNullish)(c))throw new Pe({error_message:"Unexpected error splitting neuron. No neuronId in Split response.",error_type:0});return c.id}throw new Te(`Unrecognized Split error in ${JSON.stringify(r)}`)};this.getProposal=async({proposalId:t,certified:o=!0})=>{let[n]=await this.getGovernanceService(o).get_proposal_info(t);return n?Ao(n):void 0};this.makeProposal=async t=>{var r;let o=gn(t),n=await V({request:o,service:this.certifiedService});return"MakeProposal"in n?(r=(0,l.fromNullable)(n.MakeProposal.proposal_id))==null?void 0:r.id:void 0};this.registerVote=async({neuronId:t,vote:o,proposalId:n})=>{let r=Rn({neuronId:t,vote:o,proposalId:n});await V({request:r,service:this.certifiedService})};this.setFollowees=async t=>{let o=wn(t);await V({request:o,service:this.certifiedService})};this.disburse=async({neuronId:t,toAccountId:o,amount:n})=>{(0,l.nonNullish)(o)&&(0,Ce.checkAccountId)(o);let r=(0,l.nonNullish)(o)?Ce.AccountIdentifier.fromHex(o):void 0,a=vn({neuronId:t,toAccountIdentifier:r,amount:n});await V({request:a,service:this.certifiedService})};this.mergeMaturity=async({neuronId:t,percentageToMerge:o})=>{(0,l.assertPercentageNumber)(o);let n=yn({neuronId:t,percentageToMerge:o});await V({request:n,service:this.certifiedService})};this.stakeMaturity=async({neuronId:t,percentageToStake:o})=>{(0,l.assertPercentageNumber)(o??100),await V({request:bn({neuronId:t,percentageToStake:o}),service:this.certifiedService})};this.spawnNeuron=async({neuronId:t,percentageToSpawn:o,newController:n,nonce:r})=>{var O;(0,l.nonNullish)(o)&&(0,l.assertPercentageNumber)(o);let a=hn({neuronId:t,percentageToSpawn:o,newController:n,nonce:r}),c=await this.certifiedService.manage_neuron(a),_=co(c),d;if("Spawn"in _&&(0,l.nonNullish)(d=(O=(0,l.fromNullable)(_.Spawn.created_neuron_id))==null?void 0:O.id))return d;throw new Te(`Unrecognized Spawn error in ${JSON.stringify(c)}`)};this.addHotkey=async({neuronId:t,principal:o})=>{let n=xn({neuronId:t,principal:o});await V({request:n,service:this.certifiedService})};this.removeHotkey=async({neuronId:t,principal:o})=>{let n=kn({neuronId:t,principal:o});await V({request:n,service:this.certifiedService})};this.claimOrRefreshNeuronFromAccount=async({memo:t,controller:o})=>{var c;let n=fn({memo:t,controller:o}),r=await this.certifiedService.manage_neuron(n),a;if((0,l.nonNullish)(a=(0,l.fromNullable)(r.command))&&"ClaimOrRefresh"in a)return(c=(0,l.fromNullable)(a.ClaimOrRefresh.refreshed_neuron_id))==null?void 0:c.id;throw new Te(`Unrecognized ClaimOrRefresh error in ${JSON.stringify(r)}`)};this.claimOrRefreshNeuron=async t=>{var a;let o=Nn(t),n=await this.service.manage_neuron(o),r;if((0,l.nonNullish)(r=(0,l.fromNullable)(n.command))&&"ClaimOrRefresh"in r)return(a=(0,l.fromNullable)(r.ClaimOrRefresh.refreshed_neuron_id))==null?void 0:a.id;throw new Te(`Unrecognized ClaimOrRefresh error in ${JSON.stringify(n)}`)};this.buildNeuronStakeSubAccount=(t,o)=>Ce.SubAccount.fromBytes(this.getNeuronStakeSubAccountBytes(t,o));this.getNeuronStakeSubAccountBytes=(t,o)=>{let n=(0,l.asciiStringToByteArray)("neuron-stake"),r=tn.create();return r.update((0,l.arrayOfNumberToUint8Array)([12,...n,...o.toUint8Array(),...t])),r.digest()};this.getNeuron=async({certified:t=!0,neuronId:o})=>{let[n]=await this.listNeurons({certified:t,neuronIds:[o]});return n};this.canisterId=t,this.service=o,this.certifiedService=n,this.agent=r}static create(t={}){let o=t.canisterId??po,{service:n,certifiedService:r,agent:a}=(0,l.createServices)({options:{...t,canisterId:o},idlFactory:fo,certifiedIdlFactory:rn});return new e(o,n,r,a)}getGovernanceService(t){return t?this.certifiedService:this.service}};var Xn=require("@dfinity/utils");var zn=({IDL:e})=>{let t=e.Rec(),o=e.Record({id:e.Nat64}),n=e.Record({followees:e.Vec(o)}),r=e.Record({name:e.Text,description:e.Opt(e.Text)}),a=e.Record({id:e.Opt(o),known_neuron_data:e.Opt(r)}),c=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}),d=e.Record({topic:e.Int32,followees:e.Vec(o)}),O=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),R=e.Variant({NeuronIdOrSubaccount:e.Record({}),MemoAndController:O,Memo:e.Nat64}),p=e.Record({by:e.Opt(R)}),v=e.Record({hot_key_to_remove:e.Opt(e.Principal)}),k=e.Record({new_hot_key:e.Opt(e.Principal)}),G=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),B=e.Record({additional_dissolve_delay_seconds:e.Nat32}),oe=e.Record({dissolve_timestamp_seconds:e.Nat64}),u=e.Variant({RemoveHotKey:v,AddHotKey:k,ChangeAutoStakeMaturity:G,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:B,JoinCommunityFund:e.Record({}),LeaveCommunityFund:e.Record({}),SetDissolveTimestamp:oe}),K=e.Record({operation:e.Opt(u)}),ne=e.Record({vote:e.Int32,proposal:e.Opt(o)}),U=e.Record({source_neuron_id:e.Opt(o)}),W=e.Record({dissolve_delay_seconds:e.Nat64,kyc_verified:e.Bool,amount_e8s:e.Nat64,new_controller:e.Opt(e.Principal),nonce:e.Nat64}),re=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),H=e.Record({percentage_to_merge:e.Nat32}),S=e.Record({hash:e.Vec(e.Nat8)}),se=e.Record({e8s:e.Nat64}),j=e.Record({to_account:e.Opt(S),amount:e.Opt(se)}),ae=e.Variant({Spawn:c,Split:_,Follow:d,ClaimOrRefresh:p,Configure:K,RegisterVote:ne,Merge:U,DisburseToNeuron:W,MakeProposal:t,StakeMaturity:re,MergeMaturity:H,Disburse:j}),C=e.Variant({Subaccount:e.Vec(e.Nat8),NeuronId:o}),P=e.Record({id:e.Opt(o),command:e.Opt(ae),neuron_id_or_subaccount:e.Opt(C)}),g=e.Record({basis_points:e.Opt(e.Nat64)}),f=e.Record({seconds:e.Opt(e.Nat64)}),m=e.Record({e8s:e.Opt(e.Nat64)}),ie=e.Record({reward_rate_transition_duration:e.Opt(f),initial_reward_rate:e.Opt(g),final_reward_rate:e.Opt(g)}),h=e.Record({neuron_maximum_dissolve_delay_bonus:e.Opt(g),neuron_maximum_age_for_age_bonus:e.Opt(f),neuron_maximum_dissolve_delay:e.Opt(f),neuron_minimum_dissolve_delay_to_vote:e.Opt(f),neuron_maximum_age_bonus:e.Opt(g),neuron_minimum_stake:e.Opt(m),proposal_wait_for_quiet_deadline_increase:e.Opt(f),proposal_initial_voting_period:e.Opt(f),proposal_rejection_fee:e.Opt(m),voting_reward_parameters:e.Opt(ie)}),z=e.Record({base64_encoding:e.Opt(e.Text)}),ce=e.Record({transaction_fee:e.Opt(m),token_symbol:e.Opt(e.Text),token_logo:e.Opt(z),token_name:e.Opt(e.Text)}),_e=e.Record({id:e.Opt(e.Principal)}),de=e.Record({dissolve_delay_interval:e.Opt(f),count:e.Opt(e.Nat64)}),pe=e.Record({seconds_after_utc_midnight:e.Opt(e.Nat64)}),ue=e.Record({iso_codes:e.Vec(e.Text)}),le=e.Record({minimum_participants:e.Opt(e.Nat64),neurons_fund_participation:e.Opt(e.Bool),duration:e.Opt(f),neuron_basket_construction_parameters:e.Opt(de),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(pe),maximum_direct_participation_icp:e.Opt(m),maximum_icp:e.Opt(m),neurons_fund_investment_icp:e.Opt(m),restricted_countries:e.Opt(ue)}),X=e.Record({total:e.Opt(m)}),me=e.Record({controller:e.Opt(e.Principal),dissolve_delay:e.Opt(f),memo:e.Opt(e.Nat64),vesting_period:e.Opt(f),stake:e.Opt(m)}),Ne=e.Record({developer_neurons:e.Vec(me)}),fe=e.Record({treasury_distribution:e.Opt(X),developer_distribution:e.Opt(Ne),swap_distribution:e.Opt(X)}),Oe=e.Record({url:e.Opt(e.Text),governance_parameters:e.Opt(h),fallback_controller_principal_ids:e.Vec(e.Principal),logo:e.Opt(z),name:e.Opt(e.Text),ledger_parameters:e.Opt(ce),description:e.Opt(e.Text),dapp_canisters:e.Vec(_e),swap_parameters:e.Opt(le),initial_token_distribution:e.Opt(fe)}),Re=e.Record({nns_function:e.Int32,payload:e.Vec(e.Nat8)}),w=e.Record({id:e.Opt(e.Principal),reward_account:e.Opt(S)}),ge=e.Record({dissolve_delay_seconds:e.Nat64}),we=e.Record({to_account:e.Opt(S)}),s=e.Variant({RewardToNeuron:ge,RewardToAccount:we}),M=e.Record({node_provider:e.Opt(w),reward_mode:e.Opt(s),amount_e8s:e.Nat64}),ve=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),ye=e.Record({min_participant_icp_e8s:e.Nat64,neuron_basket_construction_parameters:e.Opt(ve),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)}),be=e.Record({community_fund_investment_e8s:e.Opt(e.Nat64),target_swap_canister_id:e.Opt(e.Principal),params:e.Opt(ye)}),he=e.Record({start_timestamp_seconds:e.Nat64,end_timestamp_seconds:e.Nat64}),xe=e.Record({open_time_window:e.Opt(he)}),ke=e.Record({request:e.Opt(xe),swap_canister_id:e.Opt(e.Principal)}),Se=e.Record({default_followees:e.Vec(e.Tuple(e.Int32,n))}),Me=e.Record({use_registry_derived_rewards:e.Opt(e.Bool),rewards:e.Vec(M)}),F=e.Record({human_readable:e.Opt(e.Text)}),Le=e.Record({contribution_threshold_xdr:e.Opt(F),one_third_participation_milestone_xdr:e.Opt(F),full_participation_milestone_xdr:e.Opt(F)}),et=e.Record({maximum_icp_xdr_rate:e.Opt(g),neurons_fund_matched_funding_curve_coefficients:e.Opt(Le),max_theoretical_neurons_fund_participation_amount_xdr:e.Opt(F),minimum_icp_xdr_rate:e.Opt(g)}),Q=e.Record({neuron_minimum_stake_e8s:e.Nat64,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(et)}),tt=e.Record({principals:e.Vec(e.Principal)}),ot=e.Variant({ToRemove:w,ToAdd:w}),nt=e.Record({change:e.Opt(ot)}),rt=e.Record({motion_text:e.Text}),st=e.Variant({RegisterKnownNeuron:a,ManageNeuron:P,CreateServiceNervousSystem:Oe,ExecuteNnsFunction:Re,RewardNodeProvider:M,OpenSnsTokenSwap:be,SetSnsTokenSwapOpenTimeWindow:ke,SetDefaultFollowees:Se,RewardNodeProviders:Me,ManageNetworkEconomics:Q,ApproveGenesisKyc:tt,AddOrRemoveNodeProvider:nt,Motion:rt});t.fill(e.Record({url:e.Text,title:e.Opt(e.Text),action:e.Opt(st),summary:e.Text}));let at=e.Record({proposal:e.Opt(t),caller:e.Opt(e.Principal),proposer_id:e.Opt(o)}),Fe=e.Record({timestamp:e.Nat64,rewards:e.Vec(M)}),Ae=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,not_dissolving_neurons_count:e.Nat64,total_locked_e8s:e.Nat64,neurons_fund_total_active_neurons:e.Nat64,total_staked_maturity_e8s_equivalent:e.Nat64,not_dissolving_neurons_e8s_buckets_ect:e.Vec(e.Tuple(e.Nat64,e.Float64)),total_staked_e8s_ect:e.Nat64,not_dissolving_neurons_staked_maturity_e8s_equivalent_sum:e.Nat64,dissolved_neurons_e8s: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)),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)),timestamp_seconds:e.Nat64,seed_neuron_count:e.Nat64}),it=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}),qe=e.Record({groups:e.Vec(it),timestamp_seconds:e.Opt(e.Nat64)}),Ee=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(o)}),Be=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}),ct=e.Record({followers:e.Vec(o)}),_t=e.Record({followers_map:e.Vec(e.Tuple(e.Nat64,ct))}),dt=e.Variant({LastNeuronId:o}),Ge=e.Record({status:e.Opt(e.Int32),failure_reason:e.Opt(e.Text),progress:e.Opt(dt)}),pt=e.Record({neuron_indexes_migration:e.Opt(Ge),copy_inactive_neurons_to_stable_memory_migration:e.Opt(Ge)}),N=e.Record({error_message:e.Text,error_type:e.Int32}),ut=e.Record({has_created_neuron_recipes:e.Opt(e.Bool),nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),lt=e.Record({hotkey_principal:e.Text,cf_neurons:e.Vec(ut)}),Ke=e.Record({vote:e.Int32,voting_power:e.Nat64}),mt=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)}),Nt=e.Record({hotkey_principal:e.Opt(e.Principal),is_capped:e.Opt(e.Bool),maturity_equivalent_icp_e8s:e.Opt(e.Nat64),nns_neuron_id:e.Opt(o),amount_icp_e8s:e.Opt(e.Nat64)}),Y=e.Record({neurons_fund_neuron_portions:e.Vec(Nt)}),ft=e.Record({serialized_representation:e.Opt(e.Text)}),A=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(mt),max_neurons_fund_swap_participation_icp_e8s:e.Opt(e.Nat64),neurons_fund_reserves:e.Opt(Y),ideal_matched_participation_function:e.Opt(ft),allocated_neurons_fund_participation_icp_e8s:e.Opt(e.Nat64)}),Ot=e.Record({final_neurons_fund_participation:e.Opt(A),initial_neurons_fund_participation:e.Opt(A),neurons_fund_refunds:e.Opt(Y)}),Rt=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)}),y=e.Record({status:e.Opt(Rt),canister_id:e.Opt(e.Principal)}),gt=e.Record({ledger_index_canister_summary:e.Opt(y),fallback_controller_principal_ids:e.Vec(e.Principal),ledger_archive_canister_summaries:e.Vec(y),ledger_canister_summary:e.Opt(y),swap_canister_summary:e.Opt(y),governance_canister_summary:e.Opt(y),root_canister_summary:e.Opt(y),dapp_canister_summaries:e.Vec(y)}),Ue=e.Record({swap_background_information:e.Opt(gt)}),We=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),wt=e.Record({current_deadline_timestamp_seconds:e.Nat64}),vt=e.Record({id:e.Opt(o),failure_reason:e.Opt(N),cf_participants:e.Vec(lt),ballots:e.Vec(e.Tuple(e.Nat64,Ke)),proposal_timestamp_seconds:e.Nat64,reward_event_round:e.Nat64,failed_timestamp_seconds:e.Nat64,neurons_fund_data:e.Opt(Ot),reject_cost_e8s:e.Nat64,derived_proposal_information:e.Opt(Ue),latest_tally:e.Opt(We),sns_token_swap_lifecycle:e.Opt(e.Int32),decided_timestamp_seconds:e.Nat64,proposal:e.Opt(t),proposer:e.Opt(o),wait_for_quiet_state:e.Opt(wt),executed_timestamp_seconds:e.Nat64,original_total_community_fund_maturity_e8s_equivalent:e.Opt(e.Nat64)}),yt=e.Record({xdr_permyriad_per_icp:e.Opt(e.Nat64),timestamp_seconds:e.Opt(e.Nat64)}),bt=e.Variant({Spawn:o,Split:_,Configure:K,Merge:U,DisburseToNeuron:W,SyncCommand:e.Record({}),ClaimOrRefreshNeuron:p,MergeMaturity:H,Disburse:j}),ht=e.Record({command:e.Opt(bt),timestamp:e.Nat64}),He=e.Record({vote:e.Int32,proposal_id:e.Opt(o)}),xt=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),T=e.Record({id:e.Opt(o),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),controller:e.Opt(e.Principal),recent_ballots:e.Vec(He),kyc_verified:e.Bool,neuron_type:e.Opt(e.Int32),not_for_profit:e.Bool,maturity_e8s_equivalent: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),dissolve_state:e.Opt(xt),followees:e.Vec(e.Tuple(e.Int32,n)),neuron_fees_e8s:e.Nat64,transfer:e.Opt(Be),known_neuron_data:e.Opt(r),spawn_at_timestamp_seconds:e.Opt(e.Nat64)}),Bo=e.Record({default_followees:e.Vec(e.Tuple(e.Int32,n)),making_sns_proposal:e.Opt(at),most_recent_monthly_node_provider_rewards:e.Opt(Fe),maturity_modulation_last_updated_at_timestamp_seconds:e.Opt(e.Nat64),wait_for_quiet_threshold_seconds:e.Nat64,metrics:e.Opt(Ae),neuron_management_voting_period_seconds:e.Opt(e.Nat64),node_providers:e.Vec(w),cached_daily_maturity_modulation_basis_points:e.Opt(e.Int32),economics:e.Opt(Q),restore_aging_summary:e.Opt(qe),spawning_neurons:e.Opt(e.Bool),latest_reward_event:e.Opt(Ee),to_claim_transfers:e.Vec(Be),short_voting_period_seconds:e.Nat64,topic_followee_index:e.Vec(e.Tuple(e.Int32,_t)),migrations:e.Opt(pt),proposals:e.Vec(e.Tuple(e.Nat64,vt)),xdr_conversion_rate:e.Opt(yt),in_flight_commands:e.Vec(e.Tuple(e.Nat64,ht)),neurons:e.Vec(e.Tuple(e.Nat64,T)),genesis_timestamp_seconds:e.Nat64}),q=e.Variant({Ok:e.Null,Err:N}),kt=e.Variant({Error:N,NeuronId:o}),St=e.Record({result:e.Opt(kt)}),je=e.Variant({Ok:T,Err:N}),Tt=e.Variant({Ok:Ae,Err:N}),Pt=e.Variant({Ok:Me,Err:N}),E=e.Record({dissolve_delay_seconds:e.Nat64,recent_ballots:e.Vec(He),neuron_type:e.Opt(e.Int32),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,known_neuron_data:e.Opt(r),voting_power:e.Nat64,age_seconds:e.Nat64}),ze=e.Variant({Ok:E,Err:N}),Vt=e.Record({nns_proposal_id:e.Opt(o)}),Ct=e.Record({final_neurons_fund_participation:e.Opt(A),initial_neurons_fund_participation:e.Opt(A),neurons_fund_refunds:e.Opt(Y)}),Mt=e.Record({neurons_fund_audit_info:e.Opt(Ct)}),Ft=e.Variant({Ok:Mt,Err:N}),At=e.Record({result:e.Opt(Ft)}),qt=e.Variant({Ok:w,Err:N}),Z=e.Record({id:e.Opt(o),status:e.Int32,topic:e.Int32,failure_reason:e.Opt(N),ballots:e.Vec(e.Tuple(e.Nat64,Ke)),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(Ue),latest_tally:e.Opt(We),reward_status:e.Int32,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(t),proposer:e.Opt(o),executed_timestamp_seconds:e.Nat64}),Et=e.Record({known_neurons:e.Vec(a)}),Bt=e.Record({neuron_ids:e.Vec(e.Nat64),include_neurons_readable_by_caller:e.Bool}),Gt=e.Record({neuron_infos:e.Vec(e.Tuple(e.Nat64,E)),full_neurons:e.Vec(T)}),Kt=e.Record({node_providers:e.Vec(w)}),Ut=e.Record({include_reward_status:e.Vec(e.Int32),omit_large_fields:e.Opt(e.Bool),before_proposal:e.Opt(o),limit:e.Nat32,exclude_topic:e.Vec(e.Int32),include_all_manage_neuron_proposals:e.Opt(e.Bool),include_status:e.Vec(e.Int32)}),Wt=e.Record({proposal_info:e.Vec(Z)}),I=e.Record({created_neuron_id:e.Opt(o)}),Ht=e.Record({refreshed_neuron_id:e.Opt(o)}),jt=e.Record({target_neuron:e.Opt(T),source_neuron:e.Opt(T),target_neuron_info:e.Opt(E),source_neuron_info:e.Opt(E)}),zt=e.Record({message:e.Opt(e.Text),proposal_id:e.Opt(o)}),Xt=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),Jt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),$t=e.Record({transfer_block_height:e.Nat64}),Qt=e.Variant({Error:N,Spawn:I,Split:I,Follow:e.Record({}),ClaimOrRefresh:Ht,Configure:e.Record({}),RegisterVote:e.Record({}),Merge:jt,DisburseToNeuron:I,MakeProposal:zt,StakeMaturity:Xt,MergeMaturity:Jt,Disburse:$t}),Xe=e.Record({command:e.Opt(Qt)}),Yt=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)}),Zt=e.Variant({Committed:Yt,Aborted:e.Record({})}),It=e.Record({result:e.Opt(Zt),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),Dt=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)}),Lt=e.Variant({Committed:Dt,Aborted:e.Record({})}),eo=e.Record({result:e.Opt(Lt),nns_proposal_id:e.Opt(e.Nat64)}),to=e.Record({hotkey_principal:e.Opt(e.Text),is_capped:e.Opt(e.Bool),nns_neuron_id:e.Opt(e.Nat64),amount_icp_e8s:e.Opt(e.Nat64)}),oo=e.Record({neurons_fund_neuron_portions:e.Vec(to)}),no=e.Variant({Ok:oo,Err:N}),ro=e.Record({result:e.Opt(no)}),so=e.Record({reward_account:e.Opt(S)});return e.Service({claim_gtc_neurons:e.Func([e.Principal,e.Vec(o)],[q],[]),claim_or_refresh_neuron_from_account:e.Func([O],[St],[]),get_build_metadata:e.Func([],[e.Text],[]),get_full_neuron:e.Func([e.Nat64],[je],[]),get_full_neuron_by_id_or_subaccount:e.Func([C],[je],[]),get_latest_reward_event:e.Func([],[Ee],[]),get_metrics:e.Func([],[Tt],[]),get_monthly_node_provider_rewards:e.Func([],[Pt],[]),get_most_recent_monthly_node_provider_rewards:e.Func([],[e.Opt(Fe)],[]),get_network_economics_parameters:e.Func([],[Q],[]),get_neuron_ids:e.Func([],[e.Vec(e.Nat64)],[]),get_neuron_info:e.Func([e.Nat64],[ze],[]),get_neuron_info_by_id_or_subaccount:e.Func([C],[ze],[]),get_neurons_fund_audit_info:e.Func([Vt],[At],[]),get_node_provider_by_caller:e.Func([e.Null],[qt],[]),get_pending_proposals:e.Func([],[e.Vec(Z)],[]),get_proposal_info:e.Func([e.Nat64],[e.Opt(Z)],[]),get_restore_aging_summary:e.Func([],[qe],[]),list_known_neurons:e.Func([],[Et],[]),list_neurons:e.Func([Bt],[Gt],[]),list_node_providers:e.Func([],[Kt],[]),list_proposals:e.Func([Ut],[Wt],[]),manage_neuron:e.Func([P],[Xe],[]),settle_community_fund_participation:e.Func([It],[q],[]),settle_neurons_fund_participation:e.Func([eo],[ro],[]),simulate_manage_neuron:e.Func([P],[Xe],[]),transfer_gtc_neuron:e.Func([o,o],[q],[]),update_neuron:e.Func([T],[e.Opt(N)],[]),update_node_provider:e.Func([so],[q],[])})};var yo=class e{constructor(t){this.certifiedService=t;this.certifiedService=t}static create(t={}){let o=t.canisterId??po,{certifiedService:n}=(0,Xn.createServices)({options:{...t,canisterId:o},idlFactory:fo,certifiedIdlFactory:zn});return new e(n)}updateNeuron(t){this.certifiedService.update_neuron(En(t))}};var Qn=require("@dfinity/utils");var Jn=({IDL:e})=>{let t=e.Record({allowed_principals:e.Vec(e.Principal),access_controls_enabled:e.Bool,sns_subnet_ids:e.Vec(e.Principal)}),o=e.Record({wasm:e.Vec(e.Nat8),proposal_id:e.Opt(e.Nat64),canister_type:e.Int32}),n=e.Record({hash:e.Vec(e.Nat8),wasm:e.Opt(o)}),r=e.Record({message:e.Text}),a=e.Variant({Error:r,Hash:e.Vec(e.Nat8)}),c=e.Record({result:e.Opt(a)}),_=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),d=e.Record({id:e.Opt(e.Principal)}),O=e.Record({canisters:e.Vec(d)}),R=e.Record({slope_numerator:e.Opt(e.Nat64),intercept_icp_e8s:e.Opt(e.Nat64),from_direct_participation_icp_e8s:e.Opt(e.Nat64),slope_denominator:e.Opt(e.Nat64),to_direct_participation_icp_e8s:e.Opt(e.Nat64)}),p=e.Record({serialized_representation:e.Opt(e.Text)}),v=e.Record({coefficient_intervals:e.Vec(R),max_neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),min_direct_participation_threshold_icp_e8s:e.Opt(e.Nat64),ideal_matched_participation_function:e.Opt(p)}),k=e.Record({has_created_neuron_recipes:e.Opt(e.Bool),nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),G=e.Record({hotkey_principal:e.Text,cf_neurons:e.Vec(k)}),B=e.Record({participants:e.Vec(G)}),oe=e.Record({total_e8s:e.Nat64}),u=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Nat64,memo:e.Nat64,stake_e8s:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64)}),K=e.Record({developer_neurons:e.Vec(u)}),ne=e.Record({airdrop_neurons:e.Vec(u)}),U=e.Record({total_e8s:e.Nat64,initial_swap_amount_e8s:e.Nat64}),W=e.Record({treasury_distribution:e.Opt(oe),developer_distribution:e.Opt(K),airdrop_distribution:e.Opt(ne),swap_distribution:e.Opt(U)}),re=e.Variant({FractionalDeveloperVotingPower:W}),H=e.Record({iso_codes:e.Vec(e.Text)}),S=e.Record({url:e.Opt(e.Text),max_dissolve_delay_seconds:e.Opt(e.Nat64),max_dissolve_delay_bonus_percentage:e.Opt(e.Nat64),nns_proposal_id:e.Opt(e.Nat64),neurons_fund_participation:e.Opt(e.Bool),min_participant_icp_e8s:e.Opt(e.Nat64),neuron_basket_construction_parameters:e.Opt(_),fallback_controller_principal_ids:e.Vec(e.Text),token_symbol:e.Opt(e.Text),final_reward_rate_basis_points:e.Opt(e.Nat64),max_icp_e8s:e.Opt(e.Nat64),neuron_minimum_stake_e8s:e.Opt(e.Nat64),confirmation_text:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),swap_start_timestamp_seconds:e.Opt(e.Nat64),swap_due_timestamp_seconds:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),description:e.Opt(e.Text),max_neuron_age_seconds_for_age_bonus:e.Opt(e.Nat64),min_participants:e.Opt(e.Nat64),initial_reward_rate_basis_points:e.Opt(e.Nat64),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),dapp_canisters:e.Opt(O),neurons_fund_participation_constraints:e.Opt(v),neurons_fund_participants:e.Opt(B),max_age_bonus_percentage:e.Opt(e.Nat64),initial_token_distribution:e.Opt(re),reward_rate_transition_duration_seconds:e.Opt(e.Nat64),token_logo:e.Opt(e.Text),token_name:e.Opt(e.Text),max_participant_icp_e8s:e.Opt(e.Nat64),min_direct_participation_icp_e8s:e.Opt(e.Nat64),proposal_reject_cost_e8s:e.Opt(e.Nat64),restricted_countries:e.Opt(H),min_icp_e8s:e.Opt(e.Nat64),max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),se=e.Record({sns_init_payload:e.Opt(S)}),j=e.Record({restored_dapp_canisters:e.Vec(d),nns_controlled_dapp_canisters:e.Vec(d),sns_controlled_dapp_canisters:e.Vec(d)}),ae=e.Record({root:e.Opt(e.Principal),swap:e.Opt(e.Principal),ledger:e.Opt(e.Principal),index:e.Opt(e.Principal),governance:e.Opt(e.Principal)}),C=e.Record({dapp_canisters_transfer_result:e.Opt(j),subnet_id:e.Opt(e.Principal),error:e.Opt(r),canisters:e.Opt(ae)}),P=e.Record({allowed_principals:e.Vec(e.Principal)}),g=e.Record({proposal_id:e.Nat64}),f=e.Record({root_canister_id:e.Opt(e.Principal),governance_canister_id:e.Opt(e.Principal),index_canister_id:e.Opt(e.Principal),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal)}),m=e.Variant({Error:r,DeployedSns:f}),ie=e.Record({get_deployed_sns_by_proposal_id_result:e.Opt(m)}),h=e.Record({archive_wasm_hash:e.Vec(e.Nat8),root_wasm_hash:e.Vec(e.Nat8),swap_wasm_hash:e.Vec(e.Nat8),ledger_wasm_hash:e.Vec(e.Nat8),governance_wasm_hash:e.Vec(e.Nat8),index_wasm_hash:e.Vec(e.Nat8)}),z=e.Record({governance_canister_id:e.Opt(e.Principal),current_version:e.Opt(h)}),ce=e.Record({next_version:e.Opt(h)}),_e=e.Record({hash:e.Vec(e.Nat8)}),de=e.Record({proposal_id:e.Opt(e.Nat64)}),pe=e.Record({sns_subnet_ids:e.Vec(e.Principal)}),ue=e.Record({hash:e.Vec(e.Nat8)}),le=e.Record({wasm:e.Opt(o)}),X=e.Record({hash:e.Opt(e.Vec(e.Nat8))}),me=e.Record({contents:e.Opt(e.Vec(e.Nat8)),name:e.Opt(e.Text),visibility:e.Opt(e.Text)}),Ne=e.Record({sections:e.Vec(me)}),fe=e.Variant({Ok:Ne,Error:r}),Oe=e.Record({result:e.Opt(fe)}),Re=e.Record({next_version:e.Opt(h),current_version:e.Opt(h)}),w=e.Record({upgrade_path:e.Vec(Re),sns_governance_canister_id:e.Opt(e.Principal)}),ge=e.Record({error:e.Opt(r)}),we=e.Record({instances:e.Vec(f)}),s=e.Record({limit:e.Nat32,starting_at:e.Opt(h),sns_governance_canister_id:e.Opt(e.Principal)}),M=e.Record({archive_wasm_hash:e.Text,root_wasm_hash:e.Text,swap_wasm_hash:e.Text,ledger_wasm_hash:e.Text,governance_wasm_hash:e.Text,index_wasm_hash:e.Text}),ve=e.Record({pretty_version:e.Opt(M),version:e.Opt(h)}),ye=e.Record({steps:e.Vec(ve)}),be=e.Record({added_principals:e.Vec(e.Principal),removed_principals:e.Vec(e.Principal)}),he=e.Variant({Error:r,AllowedPrincipals:P}),xe=e.Record({update_allowed_principals_result:e.Opt(he)}),ke=e.Record({sns_subnet_ids_to_add:e.Vec(e.Principal),sns_subnet_ids_to_remove:e.Vec(e.Principal)}),Se=e.Record({error:e.Opt(r)});return e.Service({add_wasm:e.Func([n],[c],[]),deploy_new_sns:e.Func([se],[C],[]),get_allowed_principals:e.Func([e.Record({})],[P],[]),get_deployed_sns_by_proposal_id:e.Func([g],[ie],[]),get_latest_sns_version_pretty:e.Func([e.Null],[e.Vec(e.Tuple(e.Text,e.Text))],[]),get_next_sns_version:e.Func([z],[ce],[]),get_proposal_id_that_added_wasm:e.Func([_e],[de],[]),get_sns_subnet_ids:e.Func([e.Record({})],[pe],[]),get_wasm:e.Func([ue],[le],[]),get_wasm_metadata:e.Func([X],[Oe],[]),insert_upgrade_path_entries:e.Func([w],[ge],[]),list_deployed_snses:e.Func([e.Record({})],[we],[]),list_upgrade_steps:e.Func([s],[ye],[]),update_allowed_principals:e.Func([be],[xe],[]),update_sns_subnet_list:e.Func([ke],[Se],[])})};var $n=({IDL:e})=>{let t=e.Record({allowed_principals:e.Vec(e.Principal),access_controls_enabled:e.Bool,sns_subnet_ids:e.Vec(e.Principal)}),o=e.Record({wasm:e.Vec(e.Nat8),proposal_id:e.Opt(e.Nat64),canister_type:e.Int32}),n=e.Record({hash:e.Vec(e.Nat8),wasm:e.Opt(o)}),r=e.Record({message:e.Text}),a=e.Variant({Error:r,Hash:e.Vec(e.Nat8)}),c=e.Record({result:e.Opt(a)}),_=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),d=e.Record({id:e.Opt(e.Principal)}),O=e.Record({canisters:e.Vec(d)}),R=e.Record({slope_numerator:e.Opt(e.Nat64),intercept_icp_e8s:e.Opt(e.Nat64),from_direct_participation_icp_e8s:e.Opt(e.Nat64),slope_denominator:e.Opt(e.Nat64),to_direct_participation_icp_e8s:e.Opt(e.Nat64)}),p=e.Record({serialized_representation:e.Opt(e.Text)}),v=e.Record({coefficient_intervals:e.Vec(R),max_neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),min_direct_participation_threshold_icp_e8s:e.Opt(e.Nat64),ideal_matched_participation_function:e.Opt(p)}),k=e.Record({has_created_neuron_recipes:e.Opt(e.Bool),nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),G=e.Record({hotkey_principal:e.Text,cf_neurons:e.Vec(k)}),B=e.Record({participants:e.Vec(G)}),oe=e.Record({total_e8s:e.Nat64}),u=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Nat64,memo:e.Nat64,stake_e8s:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64)}),K=e.Record({developer_neurons:e.Vec(u)}),ne=e.Record({airdrop_neurons:e.Vec(u)}),U=e.Record({total_e8s:e.Nat64,initial_swap_amount_e8s:e.Nat64}),W=e.Record({treasury_distribution:e.Opt(oe),developer_distribution:e.Opt(K),airdrop_distribution:e.Opt(ne),swap_distribution:e.Opt(U)}),re=e.Variant({FractionalDeveloperVotingPower:W}),H=e.Record({iso_codes:e.Vec(e.Text)}),S=e.Record({url:e.Opt(e.Text),max_dissolve_delay_seconds:e.Opt(e.Nat64),max_dissolve_delay_bonus_percentage:e.Opt(e.Nat64),nns_proposal_id:e.Opt(e.Nat64),neurons_fund_participation:e.Opt(e.Bool),min_participant_icp_e8s:e.Opt(e.Nat64),neuron_basket_construction_parameters:e.Opt(_),fallback_controller_principal_ids:e.Vec(e.Text),token_symbol:e.Opt(e.Text),final_reward_rate_basis_points:e.Opt(e.Nat64),max_icp_e8s:e.Opt(e.Nat64),neuron_minimum_stake_e8s:e.Opt(e.Nat64),confirmation_text:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),swap_start_timestamp_seconds:e.Opt(e.Nat64),swap_due_timestamp_seconds:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),description:e.Opt(e.Text),max_neuron_age_seconds_for_age_bonus:e.Opt(e.Nat64),min_participants:e.Opt(e.Nat64),initial_reward_rate_basis_points:e.Opt(e.Nat64),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),dapp_canisters:e.Opt(O),neurons_fund_participation_constraints:e.Opt(v),neurons_fund_participants:e.Opt(B),max_age_bonus_percentage:e.Opt(e.Nat64),initial_token_distribution:e.Opt(re),reward_rate_transition_duration_seconds:e.Opt(e.Nat64),token_logo:e.Opt(e.Text),token_name:e.Opt(e.Text),max_participant_icp_e8s:e.Opt(e.Nat64),min_direct_participation_icp_e8s:e.Opt(e.Nat64),proposal_reject_cost_e8s:e.Opt(e.Nat64),restricted_countries:e.Opt(H),min_icp_e8s:e.Opt(e.Nat64),max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),se=e.Record({sns_init_payload:e.Opt(S)}),j=e.Record({restored_dapp_canisters:e.Vec(d),nns_controlled_dapp_canisters:e.Vec(d),sns_controlled_dapp_canisters:e.Vec(d)}),ae=e.Record({root:e.Opt(e.Principal),swap:e.Opt(e.Principal),ledger:e.Opt(e.Principal),index:e.Opt(e.Principal),governance:e.Opt(e.Principal)}),C=e.Record({dapp_canisters_transfer_result:e.Opt(j),subnet_id:e.Opt(e.Principal),error:e.Opt(r),canisters:e.Opt(ae)}),P=e.Record({allowed_principals:e.Vec(e.Principal)}),g=e.Record({proposal_id:e.Nat64}),f=e.Record({root_canister_id:e.Opt(e.Principal),governance_canister_id:e.Opt(e.Principal),index_canister_id:e.Opt(e.Principal),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal)}),m=e.Variant({Error:r,DeployedSns:f}),ie=e.Record({get_deployed_sns_by_proposal_id_result:e.Opt(m)}),h=e.Record({archive_wasm_hash:e.Vec(e.Nat8),root_wasm_hash:e.Vec(e.Nat8),swap_wasm_hash:e.Vec(e.Nat8),ledger_wasm_hash:e.Vec(e.Nat8),governance_wasm_hash:e.Vec(e.Nat8),index_wasm_hash:e.Vec(e.Nat8)}),z=e.Record({governance_canister_id:e.Opt(e.Principal),current_version:e.Opt(h)}),ce=e.Record({next_version:e.Opt(h)}),_e=e.Record({hash:e.Vec(e.Nat8)}),de=e.Record({proposal_id:e.Opt(e.Nat64)}),pe=e.Record({sns_subnet_ids:e.Vec(e.Principal)}),ue=e.Record({hash:e.Vec(e.Nat8)}),le=e.Record({wasm:e.Opt(o)}),X=e.Record({hash:e.Opt(e.Vec(e.Nat8))}),me=e.Record({contents:e.Opt(e.Vec(e.Nat8)),name:e.Opt(e.Text),visibility:e.Opt(e.Text)}),Ne=e.Record({sections:e.Vec(me)}),fe=e.Variant({Ok:Ne,Error:r}),Oe=e.Record({result:e.Opt(fe)}),Re=e.Record({next_version:e.Opt(h),current_version:e.Opt(h)}),w=e.Record({upgrade_path:e.Vec(Re),sns_governance_canister_id:e.Opt(e.Principal)}),ge=e.Record({error:e.Opt(r)}),we=e.Record({instances:e.Vec(f)}),s=e.Record({limit:e.Nat32,starting_at:e.Opt(h),sns_governance_canister_id:e.Opt(e.Principal)}),M=e.Record({archive_wasm_hash:e.Text,root_wasm_hash:e.Text,swap_wasm_hash:e.Text,ledger_wasm_hash:e.Text,governance_wasm_hash:e.Text,index_wasm_hash:e.Text}),ve=e.Record({pretty_version:e.Opt(M),version:e.Opt(h)}),ye=e.Record({steps:e.Vec(ve)}),be=e.Record({added_principals:e.Vec(e.Principal),removed_principals:e.Vec(e.Principal)}),he=e.Variant({Error:r,AllowedPrincipals:P}),xe=e.Record({update_allowed_principals_result:e.Opt(he)}),ke=e.Record({sns_subnet_ids_to_add:e.Vec(e.Principal),sns_subnet_ids_to_remove:e.Vec(e.Principal)}),Se=e.Record({error:e.Opt(r)});return e.Service({add_wasm:e.Func([n],[c],[]),deploy_new_sns:e.Func([se],[C],[]),get_allowed_principals:e.Func([e.Record({})],[P],["query"]),get_deployed_sns_by_proposal_id:e.Func([g],[ie],["query"]),get_latest_sns_version_pretty:e.Func([e.Null],[e.Vec(e.Tuple(e.Text,e.Text))],["query"]),get_next_sns_version:e.Func([z],[ce],["query"]),get_proposal_id_that_added_wasm:e.Func([_e],[de],["query"]),get_sns_subnet_ids:e.Func([e.Record({})],[pe],["query"]),get_wasm:e.Func([ue],[le],["query"]),get_wasm_metadata:e.Func([X],[Oe],["query"]),insert_upgrade_path_entries:e.Func([w],[ge],[]),list_deployed_snses:e.Func([e.Record({})],[we],["query"]),list_upgrade_steps:e.Func([s],[ye],["query"]),update_allowed_principals:e.Func([be],[xe],[]),update_sns_subnet_list:e.Func([ke],[Se],[])})};var bo=class e{constructor(t,o){this.service=t;this.certifiedService=o;this.listSnses=async({certified:t=!0})=>{let o=t?this.certifiedService:this.service,{instances:n}=await o.list_deployed_snses({});return n}}static create(t={}){let{service:o,certifiedService:n}=(0,Qn.createServices)({options:{...t,canisterId:t.canisterId??Yo},idlFactory:$n,certifiedIdlFactory:Jn});return new e(o,n)}};var Yn=({recentBallots:e,proposalId:t})=>{if(!t)return;let o=e.find(({proposalId:n})=>n===t);return o==null?void 0:o.vote},Zn=({neurons:e,proposal:t})=>{let{ballots:o,proposalTimestampSeconds:n}=t;return e.filter(({createdTimestampSeconds:r,neuronId:a})=>{let c=r>n,_=o.find(({neuronId:d})=>d===a)===void 0;return c||_})},Lr=({neurons:e,proposal:t})=>{let{id:o}=t;return e.filter(({recentBallots:n,neuronId:r})=>Yn({recentBallots:n,proposalId:o})===void 0&&Zn({neurons:e,proposal:t}).find(({neuronId:a})=>a===r)===void 0)},es=({neurons:e,proposal:{id:t}})=>e.filter(({recentBallots:o})=>Yn({recentBallots:o,proposalId:t})!==void 0);0&&(module.exports={CouldNotClaimNeuronError,GenesisTokenCanister,GovernanceCanister,GovernanceError,GovernanceTestCanister,InsufficientAmountError,NeuronState,NeuronType,NnsFunction,ProposalRewardStatus,ProposalStatus,SnsWasmCanister,StakeNeuronError,Topic,UnrecognizedTypeError,UnsupportedValueError,Vote,ineligibleNeurons,votableNeurons,votedNeurons});
1
+ "use strict";var ur=Object.create;var On=Object.defineProperty;var lr=Object.getOwnPropertyDescriptor;var mr=Object.getOwnPropertyNames;var Nr=Object.getPrototypeOf,Or=Object.prototype.hasOwnProperty;var fr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Rr=(e,t)=>{for(var n in t)On(e,n,{get:t[n],enumerable:!0})},Qn=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of mr(t))!Or.call(e,r)&&r!==n&&On(e,r,{get:()=>t[r],enumerable:!(o=lr(t,r))||o.enumerable});return e};var gr=(e,t,n)=>(n=e!=null?ur(Nr(e)):{},Qn(t||!e||!e.__esModule?On(n,"default",{value:e,enumerable:!0}):n,e)),yr=e=>Qn(On({},"__esModule",{value:!0}),e);var fo=fr((zi,Oo)=>{Oo.exports=require("crypto").randomBytes});var vi={};Rr(vi,{CanisterAction:()=>oo,CouldNotClaimNeuronError:()=>Le,GenesisTokenCanister:()=>Rn,GovernanceCanister:()=>Vn,GovernanceError:()=>Me,GovernanceTestCanister:()=>Cn,InstallMode:()=>bn,InsufficientAmountError:()=>et,LogVisibility:()=>no,NeuronState:()=>Yn,NeuronType:()=>to,NeuronVisibility:()=>ro,NnsFunction:()=>eo,ProposalRewardStatus:()=>In,ProposalStatus:()=>Dn,SnsWasmCanister:()=>An,StakeNeuronError:()=>ln,Topic:()=>Zn,UnrecognizedTypeError:()=>Ce,UnsupportedValueError:()=>h,Vote:()=>Ln,ineligibleNeurons:()=>pr,votableNeurons:()=>gi,votedNeurons:()=>yi});module.exports=yr(vi);var Yn=(s=>(s[s.Unspecified=0]="Unspecified",s[s.Locked=1]="Locked",s[s.Dissolving=2]="Dissolving",s[s.Dissolved=3]="Dissolved",s[s.Spawning=4]="Spawning",s))(Yn||{}),Zn=(p=>(p[p.Unspecified=0]="Unspecified",p[p.ManageNeuron=1]="ManageNeuron",p[p.ExchangeRate=2]="ExchangeRate",p[p.NetworkEconomics=3]="NetworkEconomics",p[p.Governance=4]="Governance",p[p.NodeAdmin=5]="NodeAdmin",p[p.ParticipantManagement=6]="ParticipantManagement",p[p.SubnetManagement=7]="SubnetManagement",p[p.NetworkCanisterManagement=8]="NetworkCanisterManagement",p[p.Kyc=9]="Kyc",p[p.NodeProviderRewards=10]="NodeProviderRewards",p[p.SnsDecentralizationSale=11]="SnsDecentralizationSale",p[p.SubnetReplicaVersionManagement=12]="SubnetReplicaVersionManagement",p[p.ReplicaVersionManagement=13]="ReplicaVersionManagement",p[p.SnsAndCommunityFund=14]="SnsAndCommunityFund",p[p.ApiBoundaryNodeManagement=15]="ApiBoundaryNodeManagement",p[p.SubnetRental=16]="SubnetRental",p[p.ProtocolCanisterManagement=17]="ProtocolCanisterManagement",p[p.ServiceNervousSystemManagement=18]="ServiceNervousSystemManagement",p))(Zn||{}),In=(s=>(s[s.Unknown=0]="Unknown",s[s.AcceptVotes=1]="AcceptVotes",s[s.ReadyToSettle=2]="ReadyToSettle",s[s.Settled=3]="Settled",s[s.Ineligible=4]="Ineligible",s))(In||{}),Dn=(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))(Dn||{}),Ln=(o=>(o[o.Unspecified=0]="Unspecified",o[o.Yes=1]="Yes",o[o.No=2]="No",o))(Ln||{}),eo=(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.UpdateSubnetReplicaVersion=11]="UpdateSubnetReplicaVersion",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.UpdateElectedReplicaVersions=38]="UpdateElectedReplicaVersions",a[a.BitcoinSetConfig=39]="BitcoinSetConfig",a[a.UpdateElectedHostosVersions=40]="UpdateElectedHostosVersions",a[a.UpdateNodesHostosVersion=41]="UpdateNodesHostosVersion",a[a.AddApiBoundaryNode=43]="AddApiBoundaryNode",a[a.RemoveApiBoundaryNodes=44]="RemoveApiBoundaryNodes",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))(eo||{}),to=(o=>(o[o.Unspecified=0]="Unspecified",o[o.Seed=1]="Seed",o[o.Ect=2]="Ect",o))(to||{}),no=(o=>(o[o.Unspecified=0]="Unspecified",o[o.Controllers=1]="Controllers",o[o.Public=2]="Public",o))(no||{}),oo=(o=>(o[o.Unspecified=0]="Unspecified",o[o.Stop=1]="Stop",o[o.Start=2]="Start",o))(oo||{}),ro=(o=>(o[o.Unspecified=0]="Unspecified",o[o.Private=1]="Private",o[o.Public=2]="Public",o))(ro||{});var ln=class extends Error{},Le=class extends ln{},et=class extends ln{constructor(n){super();this.minimumAmount=n}},Ce=class extends Error{},Me=class extends Error{constructor(n){super();this.detail=n}},h=class extends Error{constructor(t){super("Unsupported value: "+t)}};var _o=require("@dfinity/utils");var io=({IDL:e})=>{let t=e.Record({id:e.Nat64}),n=e.Variant({Ok:e.Vec(t),Err:e.Text}),o=e.Variant({Ok:e.Null,Err:e.Text}),r=e.Record({error:e.Opt(e.Text),timestamp_seconds:e.Nat64,neuron_id:e.Opt(t)}),s=e.Record({authenticated_principal_id:e.Opt(e.Principal),successfully_transferred_neurons:e.Vec(r),is_whitelisted_for_forwarding:e.Bool,has_donated:e.Bool,failed_transferred_neurons:e.Vec(r),neuron_ids:e.Vec(t),has_claimed:e.Bool,has_forwarded:e.Bool,icpts:e.Nat32}),c=e.Variant({Ok:s,Err:e.Text});return e.Service({balance:e.Func([e.Text],[e.Nat32],[]),claim_neurons:e.Func([e.Text],[n],[]),donate_account:e.Func([e.Text],[o],[]),forward_whitelisted_unclaimed_accounts:e.Func([e.Null],[o],[]),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 ao=({IDL:e})=>{let t=e.Record({id:e.Nat64}),n=e.Variant({Ok:e.Vec(t),Err:e.Text}),o=e.Variant({Ok:e.Null,Err:e.Text}),r=e.Record({error:e.Opt(e.Text),timestamp_seconds:e.Nat64,neuron_id:e.Opt(t)}),s=e.Record({authenticated_principal_id:e.Opt(e.Principal),successfully_transferred_neurons:e.Vec(r),is_whitelisted_for_forwarding:e.Bool,has_donated:e.Bool,failed_transferred_neurons:e.Vec(r),neuron_ids:e.Vec(t),has_claimed:e.Bool,has_forwarded:e.Bool,icpts:e.Nat32}),c=e.Variant({Ok:s,Err:e.Text});return e.Service({balance:e.Func([e.Text],[e.Nat32],["query"]),claim_neurons:e.Func([e.Text],[n],[]),donate_account:e.Func([e.Text],[o],[]),forward_whitelisted_unclaimed_accounts:e.Func([e.Null],[o],[]),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 mn=require("@dfinity/principal"),ki=mn.Principal.fromText("rrkah-fqaaa-aaaaa-aaaaq-cai"),fn=mn.Principal.fromText("rrkah-fqaaa-aaaaa-aaaaq-cai"),so=mn.Principal.fromText("renrk-eyaaa-aaaaa-aaada-cai"),co=mn.Principal.fromText("r7inp-6aaaa-aaaaa-aaabq-cai");var Rn=class e{constructor(t){this.service=t;this.claimNeurons=async({hexPubKey:t})=>{let n=await this.service.claim_neurons(t);if("Ok"in n)return n.Ok.map(o=>o.id);throw new Error(n.Err)}}static create(t={}){let{service:n}=(0,_o.createServices)({options:{...t,canisterId:t.canisterId??so},idlFactory:ao,certifiedIdlFactory:io});return new e(n)}};var rr=require("@dfinity/agent"),Ae=require("@dfinity/ledger-icp"),l=require("@dfinity/utils");function vr(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}function Fn(e,...t){if(!vr(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${e.length}`)}function qn(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function po(e,t){Fn(e);let n=t.outputLen;if(e.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}var yn=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),te=(e,t)=>e<<32-t|e>>>t;var qi=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function wr(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function En(e){return typeof e=="string"&&(e=wr(e)),Fn(e),e}var gn=class{clone(){return this._cloneInto()}},Ei={}.toString;function uo(e){let t=o=>e().update(En(o)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function br(e,t,n,o){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,n,o);let r=BigInt(32),s=BigInt(4294967295),c=Number(n>>r&s),_=Number(n&s),d=o?4:0,N=o?0:4;e.setUint32(t+d,c,o),e.setUint32(t+N,_,o)}var lo=(e,t,n)=>e&t^~e&n,mo=(e,t,n)=>e&t^e&n^t&n,vn=class extends gn{constructor(t,n,o,r){super(),this.blockLen=t,this.outputLen=n,this.padOffset=o,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=yn(this.buffer)}update(t){qn(this);let{view:n,buffer:o,blockLen:r}=this;t=En(t);let s=t.length;for(let c=0;c<s;){let _=Math.min(r-this.pos,s-c);if(_===r){let d=yn(t);for(;r<=s-c;c+=r)this.process(d,c);continue}o.set(t.subarray(c,c+_),this.pos),this.pos+=_,c+=_,this.pos===r&&(this.process(n,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){qn(this),po(t,this),this.finished=!0;let{buffer:n,view:o,blockLen:r,isLE:s}=this,{pos:c}=this;n[c++]=128,this.buffer.subarray(c).fill(0),this.padOffset>r-c&&(this.process(o,0),c=0);for(let u=c;u<r;u++)n[u]=0;br(o,r-8,BigInt(this.length*8),s),this.process(o,0);let _=yn(t),d=this.outputLen;if(d%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let N=d/4,g=this.get();if(N>g.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<N;u++)_.setUint32(4*u,g[u],s)}digest(){let{buffer:t,outputLen:n}=this;this.digestInto(t);let o=t.slice(0,n);return this.destroy(),o}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:n,buffer:o,length:r,finished:s,destroyed:c,pos:_}=this;return t.length=r,t.pos=_,t.finished=s,t.destroyed=c,r%n&&t.buffer.set(o),t}};var Sr=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Ye=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ze=new Uint32Array(64),Bn=class extends vn{constructor(){super(64,32,8,!1),this.A=Ye[0]|0,this.B=Ye[1]|0,this.C=Ye[2]|0,this.D=Ye[3]|0,this.E=Ye[4]|0,this.F=Ye[5]|0,this.G=Ye[6]|0,this.H=Ye[7]|0}get(){let{A:t,B:n,C:o,D:r,E:s,F:c,G:_,H:d}=this;return[t,n,o,r,s,c,_,d]}set(t,n,o,r,s,c,_,d){this.A=t|0,this.B=n|0,this.C=o|0,this.D=r|0,this.E=s|0,this.F=c|0,this.G=_|0,this.H=d|0}process(t,n){for(let u=0;u<16;u++,n+=4)Ze[u]=t.getUint32(n,!1);for(let u=16;u<64;u++){let w=Ze[u-15],x=Ze[u-2],U=te(w,7)^te(w,18)^w>>>3,G=te(x,17)^te(x,19)^x>>>10;Ze[u]=G+Ze[u-7]+U+Ze[u-16]|0}let{A:o,B:r,C:s,D:c,E:_,F:d,G:N,H:g}=this;for(let u=0;u<64;u++){let w=te(_,6)^te(_,11)^te(_,25),x=g+w+lo(_,d,N)+Sr[u]+Ze[u]|0,G=(te(o,2)^te(o,13)^te(o,22))+mo(o,r,s)|0;g=N,N=d,d=_,_=c+x|0,c=s,s=r,r=o,o=x+G|0}o=o+this.A|0,r=r+this.B|0,s=s+this.C|0,c=c+this.D|0,_=_+this.E|0,d=d+this.F|0,N=N+this.G|0,g=g+this.H|0,this.set(o,r,s,c,_,d,N,g)}roundClean(){Ze.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var No=uo(()=>new Bn);var Jn=gr(fo());var Ro=({IDL:e})=>{let t=e.Rec(),n=e.Record({id:e.Nat64}),o=e.Record({followees:e.Vec(n)}),r=e.Record({name:e.Text,description:e.Opt(e.Text)}),s=e.Record({id:e.Opt(n),known_neuron_data:e.Opt(r)}),c=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}),d=e.Record({topic:e.Int32,followees:e.Vec(n)}),N=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),g=e.Variant({NeuronIdOrSubaccount:e.Record({}),MemoAndController:N,Memo:e.Nat64}),u=e.Record({by:e.Opt(g)}),w=e.Record({hot_key_to_remove:e.Opt(e.Principal)}),x=e.Record({new_hot_key:e.Opt(e.Principal)}),U=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),G=e.Record({additional_dissolve_delay_seconds:e.Nat32}),ie=e.Record({visibility:e.Opt(e.Int32)}),ae=e.Record({dissolve_timestamp_seconds:e.Nat64}),Q=e.Variant({RemoveHotKey:w,AddHotKey:x,ChangeAutoStakeMaturity:U,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:G,SetVisibility:ie,JoinCommunityFund:e.Record({}),LeaveCommunityFund:e.Record({}),SetDissolveTimestamp:ae}),p=e.Record({operation:e.Opt(Q)}),se=e.Record({vote:e.Int32,proposal:e.Opt(n)}),K=e.Record({source_neuron_id:e.Opt(n)}),W=e.Record({dissolve_delay_seconds:e.Nat64,kyc_verified:e.Bool,amount_e8s:e.Nat64,new_controller:e.Opt(e.Principal),nonce:e.Nat64}),ce=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),H=e.Record({percentage_to_merge:e.Nat32}),k=e.Record({hash:e.Vec(e.Nat8)}),_e=e.Record({e8s:e.Nat64}),j=e.Record({to_account:e.Opt(k),amount:e.Opt(_e)}),de=e.Variant({Spawn:c,Split:_,Follow:d,ClaimOrRefresh:u,Configure:p,RegisterVote:se,Merge:K,DisburseToNeuron:W,MakeProposal:t,StakeMaturity:ce,MergeMaturity:H,Disburse:j}),C=e.Variant({Subaccount:e.Vec(e.Nat8),NeuronId:n}),V=e.Record({id:e.Opt(n),command:e.Opt(de),neuron_id_or_subaccount:e.Opt(C)}),pe=e.Record({controllers:e.Vec(e.Principal)}),Y=e.Record({freezing_threshold:e.Opt(e.Nat64),controllers:e.Opt(pe),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)}),ue=e.Record({canister_id:e.Opt(e.Principal),settings:e.Opt(Y)}),le=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)}),S=e.Record({action:e.Opt(e.Int32),canister_id:e.Opt(e.Principal)}),v=e.Record({basis_points:e.Opt(e.Nat64)}),f=e.Record({seconds:e.Opt(e.Nat64)}),m=e.Record({e8s:e.Opt(e.Nat64)}),me=e.Record({reward_rate_transition_duration:e.Opt(f),initial_reward_rate:e.Opt(v),final_reward_rate:e.Opt(v)}),Ne=e.Record({neuron_maximum_dissolve_delay_bonus:e.Opt(v),neuron_maximum_age_for_age_bonus:e.Opt(f),neuron_maximum_dissolve_delay:e.Opt(f),neuron_minimum_dissolve_delay_to_vote:e.Opt(f),neuron_maximum_age_bonus:e.Opt(v),neuron_minimum_stake:e.Opt(m),proposal_wait_for_quiet_deadline_increase:e.Opt(f),proposal_initial_voting_period:e.Opt(f),proposal_rejection_fee:e.Opt(m),voting_reward_parameters:e.Opt(me)}),z=e.Record({base64_encoding:e.Opt(e.Text)}),Oe=e.Record({transaction_fee:e.Opt(m),token_symbol:e.Opt(e.Text),token_logo:e.Opt(z),token_name:e.Opt(e.Text)}),fe=e.Record({id:e.Opt(e.Principal)}),Re=e.Record({dissolve_delay_interval:e.Opt(f),count:e.Opt(e.Nat64)}),ge=e.Record({seconds_after_utc_midnight:e.Opt(e.Nat64)}),ye=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(f),neuron_basket_construction_parameters:e.Opt(Re),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(ge),maximum_direct_participation_icp:e.Opt(m),maximum_icp:e.Opt(m),neurons_fund_investment_icp:e.Opt(m),restricted_countries:e.Opt(ye)}),X=e.Record({total:e.Opt(m)}),we=e.Record({controller:e.Opt(e.Principal),dissolve_delay:e.Opt(f),memo:e.Opt(e.Nat64),vesting_period:e.Opt(f),stake:e.Opt(m)}),be=e.Record({developer_neurons:e.Vec(we)}),a=e.Record({treasury_distribution:e.Opt(X),developer_distribution:e.Opt(be),swap_distribution:e.Opt(X)}),Se=e.Record({url:e.Opt(e.Text),governance_parameters:e.Opt(Ne),fallback_controller_principal_ids:e.Vec(e.Principal),logo:e.Opt(z),name:e.Opt(e.Text),ledger_parameters:e.Opt(Oe),description:e.Opt(e.Text),dapp_canisters:e.Vec(fe),swap_parameters:e.Opt(ve),initial_token_distribution:e.Opt(a)}),he=e.Record({nns_function:e.Int32,payload:e.Vec(e.Nat8)}),y=e.Record({id:e.Opt(e.Principal),reward_account:e.Opt(k)}),xe=e.Record({dissolve_delay_seconds:e.Nat64}),ke=e.Record({to_account:e.Opt(k)}),Pe=e.Variant({RewardToNeuron:xe,RewardToAccount:ke}),M=e.Record({node_provider:e.Opt(y),reward_mode:e.Opt(Pe),amount_e8s:e.Nat64}),Te=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),Ve=e.Record({min_participant_icp_e8s:e.Nat64,neuron_basket_construction_parameters:e.Opt(Te),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)}),tt=e.Record({community_fund_investment_e8s:e.Opt(e.Nat64),target_swap_canister_id:e.Opt(e.Principal),params:e.Opt(Ve)}),nt=e.Record({start_timestamp_seconds:e.Nat64,end_timestamp_seconds:e.Nat64}),ot=e.Record({open_time_window:e.Opt(nt)}),rt=e.Record({request:e.Opt(ot),swap_canister_id:e.Opt(e.Principal)}),it=e.Record({default_followees:e.Vec(e.Tuple(e.Int32,o))}),Fe=e.Record({use_registry_derived_rewards:e.Opt(e.Bool),rewards:e.Vec(M)}),F=e.Record({human_readable:e.Opt(e.Text)}),at=e.Record({contribution_threshold_xdr:e.Opt(F),one_third_participation_milestone_xdr:e.Opt(F),full_participation_milestone_xdr:e.Opt(F)}),st=e.Record({maximum_icp_xdr_rate:e.Opt(v),neurons_fund_matched_funding_curve_coefficients:e.Opt(at),max_theoretical_neurons_fund_participation_amount_xdr:e.Opt(F),minimum_icp_xdr_rate:e.Opt(v)}),Z=e.Record({neuron_minimum_stake_e8s:e.Nat64,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(st)}),I=e.Record({principals:e.Vec(e.Principal)}),ct=e.Variant({ToRemove:y,ToAdd:y}),_t=e.Record({change:e.Opt(ct)}),dt=e.Record({motion_text:e.Text}),pt=e.Variant({RegisterKnownNeuron:s,ManageNeuron:V,UpdateCanisterSettings:ue,InstallCode:le,StopOrStartCanister:S,CreateServiceNervousSystem:Se,ExecuteNnsFunction:he,RewardNodeProvider:M,OpenSnsTokenSwap:tt,SetSnsTokenSwapOpenTimeWindow:rt,SetDefaultFollowees:it,RewardNodeProviders:Fe,ManageNetworkEconomics:Z,ApproveGenesisKyc:I,AddOrRemoveNodeProvider:_t,Motion:dt});t.fill(e.Record({url:e.Text,title:e.Opt(e.Text),action:e.Opt(pt),summary:e.Text}));let ut=e.Record({proposal:e.Opt(t),caller:e.Opt(e.Principal),proposer_id:e.Opt(n)}),qe=e.Record({xdr_permyriad_per_icp:e.Opt(e.Nat64),timestamp_seconds:e.Opt(e.Nat64)}),Ee=e.Record({minimum_xdr_permyriad_per_icp:e.Opt(e.Nat64),registry_version:e.Opt(e.Nat64),node_providers:e.Vec(y),timestamp:e.Nat64,rewards:e.Vec(M),xdr_conversion_rate:e.Opt(qe),maximum_node_provider_rewards_e8s:e.Opt(e.Nat64)}),lt=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),total_staked_maturity_e8s_equivalent: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),count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64))}),Be=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,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)),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(lt),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)),timestamp_seconds:e.Nat64,seed_neuron_count:e.Nat64}),mt=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}),Ge=e.Record({groups:e.Vec(mt),timestamp_seconds:e.Opt(e.Nat64)}),Ue=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(n)}),Ke=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}),Nt=e.Record({followers:e.Vec(n)}),Ot=e.Record({followers_map:e.Vec(e.Tuple(e.Nat64,Nt))}),ft=e.Variant({LastNeuronId:n}),We=e.Record({status:e.Opt(e.Int32),failure_reason:e.Opt(e.Text),progress:e.Opt(ft)}),Rt=e.Record({neuron_indexes_migration:e.Opt(We),copy_inactive_neurons_to_stable_memory_migration:e.Opt(We)}),O=e.Record({error_message:e.Text,error_type:e.Int32}),gt=e.Record({has_created_neuron_recipes:e.Opt(e.Bool),hotkeys:e.Opt(I),nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),yt=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,cf_neurons:e.Vec(gt)}),He=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),hotkey_principal: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)}),D=e.Record({neurons_fund_neuron_portions:e.Vec(wt)}),bt=e.Record({serialized_representation:e.Opt(e.Text)}),q=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(D),ideal_matched_participation_function:e.Opt(bt),allocated_neurons_fund_participation_icp_e8s:e.Opt(e.Nat64)}),St=e.Record({final_neurons_fund_participation:e.Opt(q),initial_neurons_fund_participation:e.Opt(q),neurons_fund_refunds:e.Opt(D)}),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)}),b=e.Record({status:e.Opt(ht),canister_id:e.Opt(e.Principal)}),xt=e.Record({ledger_index_canister_summary:e.Opt(b),fallback_controller_principal_ids:e.Vec(e.Principal),ledger_archive_canister_summaries:e.Vec(b),ledger_canister_summary:e.Opt(b),swap_canister_summary:e.Opt(b),governance_canister_summary:e.Opt(b),root_canister_summary:e.Opt(b),dapp_canister_summaries:e.Vec(b)}),je=e.Record({swap_background_information:e.Opt(xt)}),ze=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),kt=e.Record({current_deadline_timestamp_seconds:e.Nat64}),Pt=e.Record({id:e.Opt(n),failure_reason:e.Opt(O),cf_participants:e.Vec(yt),ballots:e.Vec(e.Tuple(e.Nat64,He)),proposal_timestamp_seconds:e.Nat64,reward_event_round:e.Nat64,failed_timestamp_seconds:e.Nat64,neurons_fund_data:e.Opt(St),reject_cost_e8s:e.Nat64,derived_proposal_information:e.Opt(je),latest_tally:e.Opt(ze),sns_token_swap_lifecycle:e.Opt(e.Int32),decided_timestamp_seconds:e.Nat64,proposal:e.Opt(t),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)}),Tt=e.Variant({Spawn:n,Split:_,Configure:p,Merge:K,DisburseToNeuron:W,SyncCommand:e.Record({}),ClaimOrRefreshNeuron:u,MergeMaturity:H,Disburse:j}),Vt=e.Record({command:e.Opt(Tt),timestamp:e.Nat64}),Xe=e.Record({vote:e.Int32,proposal_id:e.Opt(n)}),Ct=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),P=e.Record({id:e.Opt(n),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),controller:e.Opt(e.Principal),recent_ballots:e.Vec(Xe),kyc_verified:e.Bool,neuron_type:e.Opt(e.Int32),not_for_profit:e.Bool,maturity_e8s_equivalent: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),dissolve_state:e.Opt(Ct),followees:e.Vec(e.Tuple(e.Int32,o)),neuron_fees_e8s:e.Nat64,visibility:e.Opt(e.Int32),transfer:e.Opt(Ke),known_neuron_data:e.Opt(r),spawn_at_timestamp_seconds:e.Opt(e.Nat64)}),$n=e.Record({default_followees:e.Vec(e.Tuple(e.Int32,o)),making_sns_proposal:e.Opt(ut),most_recent_monthly_node_provider_rewards:e.Opt(Ee),maturity_modulation_last_updated_at_timestamp_seconds:e.Opt(e.Nat64),wait_for_quiet_threshold_seconds:e.Nat64,metrics:e.Opt(Be),neuron_management_voting_period_seconds:e.Opt(e.Nat64),node_providers:e.Vec(y),cached_daily_maturity_modulation_basis_points:e.Opt(e.Int32),economics:e.Opt(Z),restore_aging_summary:e.Opt(Ge),spawning_neurons:e.Opt(e.Bool),latest_reward_event:e.Opt(Ue),to_claim_transfers:e.Vec(Ke),short_voting_period_seconds:e.Nat64,topic_followee_index:e.Vec(e.Tuple(e.Int32,Ot)),migrations:e.Opt(Rt),proposals:e.Vec(e.Tuple(e.Nat64,Pt)),xdr_conversion_rate:e.Opt(qe),in_flight_commands:e.Vec(e.Tuple(e.Nat64,Vt)),neurons:e.Vec(e.Tuple(e.Nat64,P)),genesis_timestamp_seconds:e.Nat64}),E=e.Variant({Ok:e.Null,Err:O}),Mt=e.Variant({Error:O,NeuronId:n}),At=e.Record({result:e.Opt(Mt)}),Je=e.Variant({Ok:P,Err:O}),Ft=e.Variant({Ok:Be,Err:O}),qt=e.Variant({Ok:Fe,Err:O}),B=e.Record({dissolve_delay_seconds:e.Nat64,recent_ballots:e.Vec(Xe),neuron_type:e.Opt(e.Int32),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(r),voting_power:e.Nat64,age_seconds:e.Nat64}),$e=e.Variant({Ok:B,Err:O}),Et=e.Record({nns_proposal_id:e.Opt(n)}),Bt=e.Record({final_neurons_fund_participation:e.Opt(q),initial_neurons_fund_participation:e.Opt(q),neurons_fund_refunds:e.Opt(D)}),Gt=e.Record({neurons_fund_audit_info:e.Opt(Bt)}),Ut=e.Variant({Ok:Gt,Err:O}),Kt=e.Record({result:e.Opt(Ut)}),Wt=e.Variant({Ok:y,Err:O}),L=e.Record({id:e.Opt(n),status:e.Int32,topic:e.Int32,failure_reason:e.Opt(O),ballots:e.Vec(e.Tuple(e.Nat64,He)),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(je),latest_tally:e.Opt(ze),reward_status:e.Int32,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(t),proposer:e.Opt(n),executed_timestamp_seconds:e.Nat64}),Ht=e.Record({known_neurons:e.Vec(s)}),jt=e.Record({neuron_ids:e.Vec(e.Nat64),include_empty_neurons_readable_by_caller:e.Opt(e.Bool),include_neurons_readable_by_caller:e.Bool}),zt=e.Record({neuron_infos:e.Vec(e.Tuple(e.Nat64,B)),full_neurons:e.Vec(P)}),Xt=e.Record({node_providers:e.Vec(y)}),Jt=e.Record({include_reward_status:e.Vec(e.Int32),omit_large_fields:e.Opt(e.Bool),before_proposal:e.Opt(n),limit:e.Nat32,exclude_topic:e.Vec(e.Int32),include_all_manage_neuron_proposals:e.Opt(e.Bool),include_status:e.Vec(e.Int32)}),$t=e.Record({proposal_info:e.Vec(L)}),ee=e.Record({created_neuron_id:e.Opt(n)}),Qt=e.Record({refreshed_neuron_id:e.Opt(n)}),Yt=e.Record({target_neuron:e.Opt(P),source_neuron:e.Opt(P),target_neuron_info:e.Opt(B),source_neuron_info:e.Opt(B)}),Zt=e.Record({message:e.Opt(e.Text),proposal_id:e.Opt(n)}),It=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),Dt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),Lt=e.Record({transfer_block_height:e.Nat64}),en=e.Variant({Error:O,Spawn:ee,Split:ee,Follow:e.Record({}),ClaimOrRefresh:Qt,Configure:e.Record({}),RegisterVote:e.Record({}),Merge:Yt,DisburseToNeuron:ee,MakeProposal:Zt,StakeMaturity:It,MergeMaturity:Dt,Disburse:Lt}),Qe=e.Record({command:e.Opt(en)}),tn=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)}),nn=e.Variant({Committed:tn,Aborted:e.Record({})}),on=e.Record({result:e.Opt(nn),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),rn=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)}),an=e.Variant({Committed:rn,Aborted:e.Record({})}),sn=e.Record({result:e.Opt(an),nns_proposal_id:e.Opt(e.Nat64)}),cn=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Opt(e.Text),hotkeys:e.Opt(I),is_capped:e.Opt(e.Bool),nns_neuron_id:e.Opt(e.Nat64),amount_icp_e8s:e.Opt(e.Nat64)}),_n=e.Record({neurons_fund_neuron_portions:e.Vec(cn)}),dn=e.Variant({Ok:_n,Err:O}),pn=e.Record({result:e.Opt(dn)}),un=e.Record({reward_account:e.Opt(k)});return e.Service({claim_gtc_neurons:e.Func([e.Principal,e.Vec(n)],[E],[]),claim_or_refresh_neuron_from_account:e.Func([N],[At],[]),get_build_metadata:e.Func([],[e.Text],[]),get_full_neuron:e.Func([e.Nat64],[Je],[]),get_full_neuron_by_id_or_subaccount:e.Func([C],[Je],[]),get_latest_reward_event:e.Func([],[Ue],[]),get_metrics:e.Func([],[Ft],[]),get_monthly_node_provider_rewards:e.Func([],[qt],[]),get_most_recent_monthly_node_provider_rewards:e.Func([],[e.Opt(Ee)],[]),get_network_economics_parameters:e.Func([],[Z],[]),get_neuron_ids:e.Func([],[e.Vec(e.Nat64)],[]),get_neuron_info:e.Func([e.Nat64],[$e],[]),get_neuron_info_by_id_or_subaccount:e.Func([C],[$e],[]),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(L)],[]),get_proposal_info:e.Func([e.Nat64],[e.Opt(L)],[]),get_restore_aging_summary:e.Func([],[Ge],[]),list_known_neurons:e.Func([],[Ht],[]),list_neurons:e.Func([jt],[zt],[]),list_node_providers:e.Func([],[Xt],[]),list_proposals:e.Func([Jt],[$t],[]),manage_neuron:e.Func([V],[Qe],[]),settle_community_fund_participation:e.Func([on],[E],[]),settle_neurons_fund_participation:e.Func([sn],[pn],[]),simulate_manage_neuron:e.Func([V],[Qe],[]),transfer_gtc_neuron:e.Func([n,n],[E],[]),update_node_provider:e.Func([un],[E],[])})};var wn=({IDL:e})=>{let t=e.Rec(),n=e.Record({id:e.Nat64}),o=e.Record({followees:e.Vec(n)}),r=e.Record({name:e.Text,description:e.Opt(e.Text)}),s=e.Record({id:e.Opt(n),known_neuron_data:e.Opt(r)}),c=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}),d=e.Record({topic:e.Int32,followees:e.Vec(n)}),N=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),g=e.Variant({NeuronIdOrSubaccount:e.Record({}),MemoAndController:N,Memo:e.Nat64}),u=e.Record({by:e.Opt(g)}),w=e.Record({hot_key_to_remove:e.Opt(e.Principal)}),x=e.Record({new_hot_key:e.Opt(e.Principal)}),U=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),G=e.Record({additional_dissolve_delay_seconds:e.Nat32}),ie=e.Record({visibility:e.Opt(e.Int32)}),ae=e.Record({dissolve_timestamp_seconds:e.Nat64}),Q=e.Variant({RemoveHotKey:w,AddHotKey:x,ChangeAutoStakeMaturity:U,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:G,SetVisibility:ie,JoinCommunityFund:e.Record({}),LeaveCommunityFund:e.Record({}),SetDissolveTimestamp:ae}),p=e.Record({operation:e.Opt(Q)}),se=e.Record({vote:e.Int32,proposal:e.Opt(n)}),K=e.Record({source_neuron_id:e.Opt(n)}),W=e.Record({dissolve_delay_seconds:e.Nat64,kyc_verified:e.Bool,amount_e8s:e.Nat64,new_controller:e.Opt(e.Principal),nonce:e.Nat64}),ce=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),H=e.Record({percentage_to_merge:e.Nat32}),k=e.Record({hash:e.Vec(e.Nat8)}),_e=e.Record({e8s:e.Nat64}),j=e.Record({to_account:e.Opt(k),amount:e.Opt(_e)}),de=e.Variant({Spawn:c,Split:_,Follow:d,ClaimOrRefresh:u,Configure:p,RegisterVote:se,Merge:K,DisburseToNeuron:W,MakeProposal:t,StakeMaturity:ce,MergeMaturity:H,Disburse:j}),C=e.Variant({Subaccount:e.Vec(e.Nat8),NeuronId:n}),V=e.Record({id:e.Opt(n),command:e.Opt(de),neuron_id_or_subaccount:e.Opt(C)}),pe=e.Record({controllers:e.Vec(e.Principal)}),Y=e.Record({freezing_threshold:e.Opt(e.Nat64),controllers:e.Opt(pe),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)}),ue=e.Record({canister_id:e.Opt(e.Principal),settings:e.Opt(Y)}),le=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)}),S=e.Record({action:e.Opt(e.Int32),canister_id:e.Opt(e.Principal)}),v=e.Record({basis_points:e.Opt(e.Nat64)}),f=e.Record({seconds:e.Opt(e.Nat64)}),m=e.Record({e8s:e.Opt(e.Nat64)}),me=e.Record({reward_rate_transition_duration:e.Opt(f),initial_reward_rate:e.Opt(v),final_reward_rate:e.Opt(v)}),Ne=e.Record({neuron_maximum_dissolve_delay_bonus:e.Opt(v),neuron_maximum_age_for_age_bonus:e.Opt(f),neuron_maximum_dissolve_delay:e.Opt(f),neuron_minimum_dissolve_delay_to_vote:e.Opt(f),neuron_maximum_age_bonus:e.Opt(v),neuron_minimum_stake:e.Opt(m),proposal_wait_for_quiet_deadline_increase:e.Opt(f),proposal_initial_voting_period:e.Opt(f),proposal_rejection_fee:e.Opt(m),voting_reward_parameters:e.Opt(me)}),z=e.Record({base64_encoding:e.Opt(e.Text)}),Oe=e.Record({transaction_fee:e.Opt(m),token_symbol:e.Opt(e.Text),token_logo:e.Opt(z),token_name:e.Opt(e.Text)}),fe=e.Record({id:e.Opt(e.Principal)}),Re=e.Record({dissolve_delay_interval:e.Opt(f),count:e.Opt(e.Nat64)}),ge=e.Record({seconds_after_utc_midnight:e.Opt(e.Nat64)}),ye=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(f),neuron_basket_construction_parameters:e.Opt(Re),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(ge),maximum_direct_participation_icp:e.Opt(m),maximum_icp:e.Opt(m),neurons_fund_investment_icp:e.Opt(m),restricted_countries:e.Opt(ye)}),X=e.Record({total:e.Opt(m)}),we=e.Record({controller:e.Opt(e.Principal),dissolve_delay:e.Opt(f),memo:e.Opt(e.Nat64),vesting_period:e.Opt(f),stake:e.Opt(m)}),be=e.Record({developer_neurons:e.Vec(we)}),a=e.Record({treasury_distribution:e.Opt(X),developer_distribution:e.Opt(be),swap_distribution:e.Opt(X)}),Se=e.Record({url:e.Opt(e.Text),governance_parameters:e.Opt(Ne),fallback_controller_principal_ids:e.Vec(e.Principal),logo:e.Opt(z),name:e.Opt(e.Text),ledger_parameters:e.Opt(Oe),description:e.Opt(e.Text),dapp_canisters:e.Vec(fe),swap_parameters:e.Opt(ve),initial_token_distribution:e.Opt(a)}),he=e.Record({nns_function:e.Int32,payload:e.Vec(e.Nat8)}),y=e.Record({id:e.Opt(e.Principal),reward_account:e.Opt(k)}),xe=e.Record({dissolve_delay_seconds:e.Nat64}),ke=e.Record({to_account:e.Opt(k)}),Pe=e.Variant({RewardToNeuron:xe,RewardToAccount:ke}),M=e.Record({node_provider:e.Opt(y),reward_mode:e.Opt(Pe),amount_e8s:e.Nat64}),Te=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),Ve=e.Record({min_participant_icp_e8s:e.Nat64,neuron_basket_construction_parameters:e.Opt(Te),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)}),tt=e.Record({community_fund_investment_e8s:e.Opt(e.Nat64),target_swap_canister_id:e.Opt(e.Principal),params:e.Opt(Ve)}),nt=e.Record({start_timestamp_seconds:e.Nat64,end_timestamp_seconds:e.Nat64}),ot=e.Record({open_time_window:e.Opt(nt)}),rt=e.Record({request:e.Opt(ot),swap_canister_id:e.Opt(e.Principal)}),it=e.Record({default_followees:e.Vec(e.Tuple(e.Int32,o))}),Fe=e.Record({use_registry_derived_rewards:e.Opt(e.Bool),rewards:e.Vec(M)}),F=e.Record({human_readable:e.Opt(e.Text)}),at=e.Record({contribution_threshold_xdr:e.Opt(F),one_third_participation_milestone_xdr:e.Opt(F),full_participation_milestone_xdr:e.Opt(F)}),st=e.Record({maximum_icp_xdr_rate:e.Opt(v),neurons_fund_matched_funding_curve_coefficients:e.Opt(at),max_theoretical_neurons_fund_participation_amount_xdr:e.Opt(F),minimum_icp_xdr_rate:e.Opt(v)}),Z=e.Record({neuron_minimum_stake_e8s:e.Nat64,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(st)}),I=e.Record({principals:e.Vec(e.Principal)}),ct=e.Variant({ToRemove:y,ToAdd:y}),_t=e.Record({change:e.Opt(ct)}),dt=e.Record({motion_text:e.Text}),pt=e.Variant({RegisterKnownNeuron:s,ManageNeuron:V,UpdateCanisterSettings:ue,InstallCode:le,StopOrStartCanister:S,CreateServiceNervousSystem:Se,ExecuteNnsFunction:he,RewardNodeProvider:M,OpenSnsTokenSwap:tt,SetSnsTokenSwapOpenTimeWindow:rt,SetDefaultFollowees:it,RewardNodeProviders:Fe,ManageNetworkEconomics:Z,ApproveGenesisKyc:I,AddOrRemoveNodeProvider:_t,Motion:dt});t.fill(e.Record({url:e.Text,title:e.Opt(e.Text),action:e.Opt(pt),summary:e.Text}));let ut=e.Record({proposal:e.Opt(t),caller:e.Opt(e.Principal),proposer_id:e.Opt(n)}),qe=e.Record({xdr_permyriad_per_icp:e.Opt(e.Nat64),timestamp_seconds:e.Opt(e.Nat64)}),Ee=e.Record({minimum_xdr_permyriad_per_icp:e.Opt(e.Nat64),registry_version:e.Opt(e.Nat64),node_providers:e.Vec(y),timestamp:e.Nat64,rewards:e.Vec(M),xdr_conversion_rate:e.Opt(qe),maximum_node_provider_rewards_e8s:e.Opt(e.Nat64)}),lt=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),total_staked_maturity_e8s_equivalent: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),count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64))}),Be=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,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)),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(lt),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)),timestamp_seconds:e.Nat64,seed_neuron_count:e.Nat64}),mt=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}),Ge=e.Record({groups:e.Vec(mt),timestamp_seconds:e.Opt(e.Nat64)}),Ue=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(n)}),Ke=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}),Nt=e.Record({followers:e.Vec(n)}),Ot=e.Record({followers_map:e.Vec(e.Tuple(e.Nat64,Nt))}),ft=e.Variant({LastNeuronId:n}),We=e.Record({status:e.Opt(e.Int32),failure_reason:e.Opt(e.Text),progress:e.Opt(ft)}),Rt=e.Record({neuron_indexes_migration:e.Opt(We),copy_inactive_neurons_to_stable_memory_migration:e.Opt(We)}),O=e.Record({error_message:e.Text,error_type:e.Int32}),gt=e.Record({has_created_neuron_recipes:e.Opt(e.Bool),hotkeys:e.Opt(I),nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),yt=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,cf_neurons:e.Vec(gt)}),He=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),hotkey_principal: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)}),D=e.Record({neurons_fund_neuron_portions:e.Vec(wt)}),bt=e.Record({serialized_representation:e.Opt(e.Text)}),q=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(D),ideal_matched_participation_function:e.Opt(bt),allocated_neurons_fund_participation_icp_e8s:e.Opt(e.Nat64)}),St=e.Record({final_neurons_fund_participation:e.Opt(q),initial_neurons_fund_participation:e.Opt(q),neurons_fund_refunds:e.Opt(D)}),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)}),b=e.Record({status:e.Opt(ht),canister_id:e.Opt(e.Principal)}),xt=e.Record({ledger_index_canister_summary:e.Opt(b),fallback_controller_principal_ids:e.Vec(e.Principal),ledger_archive_canister_summaries:e.Vec(b),ledger_canister_summary:e.Opt(b),swap_canister_summary:e.Opt(b),governance_canister_summary:e.Opt(b),root_canister_summary:e.Opt(b),dapp_canister_summaries:e.Vec(b)}),je=e.Record({swap_background_information:e.Opt(xt)}),ze=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),kt=e.Record({current_deadline_timestamp_seconds:e.Nat64}),Pt=e.Record({id:e.Opt(n),failure_reason:e.Opt(O),cf_participants:e.Vec(yt),ballots:e.Vec(e.Tuple(e.Nat64,He)),proposal_timestamp_seconds:e.Nat64,reward_event_round:e.Nat64,failed_timestamp_seconds:e.Nat64,neurons_fund_data:e.Opt(St),reject_cost_e8s:e.Nat64,derived_proposal_information:e.Opt(je),latest_tally:e.Opt(ze),sns_token_swap_lifecycle:e.Opt(e.Int32),decided_timestamp_seconds:e.Nat64,proposal:e.Opt(t),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)}),Tt=e.Variant({Spawn:n,Split:_,Configure:p,Merge:K,DisburseToNeuron:W,SyncCommand:e.Record({}),ClaimOrRefreshNeuron:u,MergeMaturity:H,Disburse:j}),Vt=e.Record({command:e.Opt(Tt),timestamp:e.Nat64}),Xe=e.Record({vote:e.Int32,proposal_id:e.Opt(n)}),Ct=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),P=e.Record({id:e.Opt(n),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),controller:e.Opt(e.Principal),recent_ballots:e.Vec(Xe),kyc_verified:e.Bool,neuron_type:e.Opt(e.Int32),not_for_profit:e.Bool,maturity_e8s_equivalent: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),dissolve_state:e.Opt(Ct),followees:e.Vec(e.Tuple(e.Int32,o)),neuron_fees_e8s:e.Nat64,visibility:e.Opt(e.Int32),transfer:e.Opt(Ke),known_neuron_data:e.Opt(r),spawn_at_timestamp_seconds:e.Opt(e.Nat64)}),$n=e.Record({default_followees:e.Vec(e.Tuple(e.Int32,o)),making_sns_proposal:e.Opt(ut),most_recent_monthly_node_provider_rewards:e.Opt(Ee),maturity_modulation_last_updated_at_timestamp_seconds:e.Opt(e.Nat64),wait_for_quiet_threshold_seconds:e.Nat64,metrics:e.Opt(Be),neuron_management_voting_period_seconds:e.Opt(e.Nat64),node_providers:e.Vec(y),cached_daily_maturity_modulation_basis_points:e.Opt(e.Int32),economics:e.Opt(Z),restore_aging_summary:e.Opt(Ge),spawning_neurons:e.Opt(e.Bool),latest_reward_event:e.Opt(Ue),to_claim_transfers:e.Vec(Ke),short_voting_period_seconds:e.Nat64,topic_followee_index:e.Vec(e.Tuple(e.Int32,Ot)),migrations:e.Opt(Rt),proposals:e.Vec(e.Tuple(e.Nat64,Pt)),xdr_conversion_rate:e.Opt(qe),in_flight_commands:e.Vec(e.Tuple(e.Nat64,Vt)),neurons:e.Vec(e.Tuple(e.Nat64,P)),genesis_timestamp_seconds:e.Nat64}),E=e.Variant({Ok:e.Null,Err:O}),Mt=e.Variant({Error:O,NeuronId:n}),At=e.Record({result:e.Opt(Mt)}),Je=e.Variant({Ok:P,Err:O}),Ft=e.Variant({Ok:Be,Err:O}),qt=e.Variant({Ok:Fe,Err:O}),B=e.Record({dissolve_delay_seconds:e.Nat64,recent_ballots:e.Vec(Xe),neuron_type:e.Opt(e.Int32),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(r),voting_power:e.Nat64,age_seconds:e.Nat64}),$e=e.Variant({Ok:B,Err:O}),Et=e.Record({nns_proposal_id:e.Opt(n)}),Bt=e.Record({final_neurons_fund_participation:e.Opt(q),initial_neurons_fund_participation:e.Opt(q),neurons_fund_refunds:e.Opt(D)}),Gt=e.Record({neurons_fund_audit_info:e.Opt(Bt)}),Ut=e.Variant({Ok:Gt,Err:O}),Kt=e.Record({result:e.Opt(Ut)}),Wt=e.Variant({Ok:y,Err:O}),L=e.Record({id:e.Opt(n),status:e.Int32,topic:e.Int32,failure_reason:e.Opt(O),ballots:e.Vec(e.Tuple(e.Nat64,He)),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(je),latest_tally:e.Opt(ze),reward_status:e.Int32,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(t),proposer:e.Opt(n),executed_timestamp_seconds:e.Nat64}),Ht=e.Record({known_neurons:e.Vec(s)}),jt=e.Record({neuron_ids:e.Vec(e.Nat64),include_empty_neurons_readable_by_caller:e.Opt(e.Bool),include_neurons_readable_by_caller:e.Bool}),zt=e.Record({neuron_infos:e.Vec(e.Tuple(e.Nat64,B)),full_neurons:e.Vec(P)}),Xt=e.Record({node_providers:e.Vec(y)}),Jt=e.Record({include_reward_status:e.Vec(e.Int32),omit_large_fields:e.Opt(e.Bool),before_proposal:e.Opt(n),limit:e.Nat32,exclude_topic:e.Vec(e.Int32),include_all_manage_neuron_proposals:e.Opt(e.Bool),include_status:e.Vec(e.Int32)}),$t=e.Record({proposal_info:e.Vec(L)}),ee=e.Record({created_neuron_id:e.Opt(n)}),Qt=e.Record({refreshed_neuron_id:e.Opt(n)}),Yt=e.Record({target_neuron:e.Opt(P),source_neuron:e.Opt(P),target_neuron_info:e.Opt(B),source_neuron_info:e.Opt(B)}),Zt=e.Record({message:e.Opt(e.Text),proposal_id:e.Opt(n)}),It=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),Dt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),Lt=e.Record({transfer_block_height:e.Nat64}),en=e.Variant({Error:O,Spawn:ee,Split:ee,Follow:e.Record({}),ClaimOrRefresh:Qt,Configure:e.Record({}),RegisterVote:e.Record({}),Merge:Yt,DisburseToNeuron:ee,MakeProposal:Zt,StakeMaturity:It,MergeMaturity:Dt,Disburse:Lt}),Qe=e.Record({command:e.Opt(en)}),tn=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)}),nn=e.Variant({Committed:tn,Aborted:e.Record({})}),on=e.Record({result:e.Opt(nn),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),rn=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)}),an=e.Variant({Committed:rn,Aborted:e.Record({})}),sn=e.Record({result:e.Opt(an),nns_proposal_id:e.Opt(e.Nat64)}),cn=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Opt(e.Text),hotkeys:e.Opt(I),is_capped:e.Opt(e.Bool),nns_neuron_id:e.Opt(e.Nat64),amount_icp_e8s:e.Opt(e.Nat64)}),_n=e.Record({neurons_fund_neuron_portions:e.Vec(cn)}),dn=e.Variant({Ok:_n,Err:O}),pn=e.Record({result:e.Opt(dn)}),un=e.Record({reward_account:e.Opt(k)});return e.Service({claim_gtc_neurons:e.Func([e.Principal,e.Vec(n)],[E],[]),claim_or_refresh_neuron_from_account:e.Func([N],[At],[]),get_build_metadata:e.Func([],[e.Text],["query"]),get_full_neuron:e.Func([e.Nat64],[Je],["query"]),get_full_neuron_by_id_or_subaccount:e.Func([C],[Je],["query"]),get_latest_reward_event:e.Func([],[Ue],["query"]),get_metrics:e.Func([],[Ft],["query"]),get_monthly_node_provider_rewards:e.Func([],[qt],[]),get_most_recent_monthly_node_provider_rewards:e.Func([],[e.Opt(Ee)],["query"]),get_network_economics_parameters:e.Func([],[Z],["query"]),get_neuron_ids:e.Func([],[e.Vec(e.Nat64)],["query"]),get_neuron_info:e.Func([e.Nat64],[$e],["query"]),get_neuron_info_by_id_or_subaccount:e.Func([C],[$e],["query"]),get_neurons_fund_audit_info:e.Func([Et],[Kt],["query"]),get_node_provider_by_caller:e.Func([e.Null],[Wt],["query"]),get_pending_proposals:e.Func([],[e.Vec(L)],["query"]),get_proposal_info:e.Func([e.Nat64],[e.Opt(L)],["query"]),get_restore_aging_summary:e.Func([],[Ge],["query"]),list_known_neurons:e.Func([],[Ht],["query"]),list_neurons:e.Func([jt],[zt],["query"]),list_node_providers:e.Func([],[Xt],["query"]),list_proposals:e.Func([Jt],[$t],["query"]),manage_neuron:e.Func([V],[Qe],[]),settle_community_fund_participation:e.Func([on],[E],[]),settle_neurons_fund_participation:e.Func([sn],[pn],[]),simulate_manage_neuron:e.Func([V],[Qe],[]),transfer_gtc_neuron:e.Func([n,n],[E],[]),update_node_provider:e.Func([un],[E],[])})};var go=({IDL:e})=>{let t=e.Record({id:e.Nat64}),n=e.Record({followees:e.Vec(t)}),o=e.Record({name:e.Text,description:e.Opt(e.Text)}),r=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}),s=e.Record({vote:e.Int32,proposal_id:e.Opt(t)}),c=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),_=e.Record({id:e.Opt(t),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),controller:e.Opt(e.Principal),recent_ballots:e.Vec(s),kyc_verified:e.Bool,neuron_type:e.Opt(e.Int32),not_for_profit:e.Bool,maturity_e8s_equivalent: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),dissolve_state:e.Opt(c),followees:e.Vec(e.Tuple(e.Int32,n)),neuron_fees_e8s:e.Nat64,transfer:e.Opt(r),known_neuron_data:e.Opt(o),spawn_at_timestamp_seconds:e.Opt(e.Nat64)}),d=e.Record({dissolve_delay_seconds:e.Nat64,recent_ballots:e.Vec(s),neuron_type:e.Opt(e.Int32),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,known_neuron_data:e.Opt(o),voting_power:e.Nat64,age_seconds:e.Nat64}),N=e.Record({neuron_ids:e.Vec(e.Nat64),include_neurons_readable_by_caller:e.Bool}),g=e.Record({neuron_infos:e.Vec(e.Tuple(e.Nat64,d)),full_neurons:e.Vec(_)});return e.Service({list_neurons:e.Func([N],[g],[])})};var wo=require("@dfinity/ledger-icp"),A=require("@dfinity/principal"),R=require("@dfinity/utils");var bn=(r=>(r[r.Unspecified=0]="Unspecified",r[r.Install=1]="Install",r[r.Reinstall=2]="Reinstall",r[r.Upgrade=3]="Upgrade",r))(bn||{});var bo=e=>({id:e}),Gn=e=>({id:e}),hr=e=>({followees:e.map(Gn)}),xr=e=>{if("NeuronId"in e)return{NeuronId:{id:e.NeuronId}};if("Subaccount"in e)return{Subaccount:Uint8Array.from(e.Subaccount)};throw new h(e)},Sn=e=>e.basisPoints!==void 0?{basis_points:[e.basisPoints]}:{basis_points:[]},ne=e=>e.seconds!==void 0?{seconds:[e.seconds]}:{seconds:[]},kr=e=>e.secondsAfterUtcMidnight!==void 0?{seconds_after_utc_midnight:[e.secondsAfterUtcMidnight]}:{seconds_after_utc_midnight:[]},Pr=e=>({iso_codes:e.isoCodes}),J=e=>e.e8s!==void 0?{e8s:[e.e8s]}:{e8s:[]},So=e=>e.base64Encoding!==void 0?{base64_encoding:[e.base64Encoding]}:{base64_encoding:[]},Tr=e=>({reward_rate_transition_duration:e.rewardRateTransitionDuration!==void 0?[ne(e.rewardRateTransitionDuration)]:[],initial_reward_rate:e.initialRewardRate!==void 0?[Sn(e.initialRewardRate)]:[],final_reward_rate:e.finalRewardRate!==void 0?[Sn(e.finalRewardRate)]:[]}),Vr=e=>({transaction_fee:e.transactionFee!==void 0?[J(e.transactionFee)]:[],token_symbol:e.tokenSymbol!==void 0?[e.tokenSymbol]:[],token_logo:e.tokenLogo!==void 0?[So(e.tokenLogo)]:[],token_name:e.tokenName!==void 0?[e.tokenName]:[]}),Cr=e=>({minimum_participants:e.minimumParticipants!==void 0?[e.minimumParticipants]:[],duration:e.duration!==void 0?[ne(e.duration)]:[],neuron_basket_construction_parameters:e.neuronBasketConstructionParameters!==void 0?[Mr(e.neuronBasketConstructionParameters)]:[],confirmation_text:e.confirmationText!==void 0?[e.confirmationText]:[],maximum_participant_icp:e.maximumParticipantIcp!==void 0?[J(e.maximumParticipantIcp)]:[],neurons_fund_investment_icp:e.neuronsFundInvestmentIcp!==void 0?[J(e.neuronsFundInvestmentIcp)]:[],minimum_icp:e.minimumIcp!==void 0?[J(e.minimumIcp)]:[],minimum_participant_icp:e.minimumParticipantIcp!==void 0?[J(e.minimumParticipantIcp)]:[],start_time:e.startTime!==void 0?[kr(e.startTime)]:[],maximum_icp:e.maximumIcp!==void 0?[J(e.maximumIcp)]:[],restricted_countries:e.restrictedCountries!==void 0?[Pr(e.restrictedCountries)]:[],maximum_direct_participation_icp:e.maxDirectParticipationIcp!==void 0?[J(e.maxDirectParticipationIcp)]:[],minimum_direct_participation_icp:e.minDirectParticipationIcp!==void 0?[J(e.minDirectParticipationIcp)]:[],neurons_fund_participation:(0,R.toNullable)(e.neuronsFundParticipation)}),Mr=e=>({dissolve_delay_interval:e.dissolveDelayInterval!==void 0?[ne(e.dissolveDelayInterval)]:[],count:e.count!==void 0?[e.count]:[]}),Ar=e=>({neuron_maximum_dissolve_delay_bonus:e.neuronMaximumDissolveDelayBonus!==void 0?[Sn(e.neuronMaximumDissolveDelayBonus)]:[],neuron_maximum_age_for_age_bonus:e.neuronMaximumAgeForAgeBonus!==void 0?[ne(e.neuronMaximumAgeForAgeBonus)]:[],neuron_maximum_dissolve_delay:e.neuronMaximumDissolveDelay!==void 0?[ne(e.neuronMaximumDissolveDelay)]:[],neuron_minimum_dissolve_delay_to_vote:e.neuronMinimumDissolveDelayToVote!==void 0?[ne(e.neuronMinimumDissolveDelayToVote)]:[],neuron_maximum_age_bonus:e.neuronMaximumAgeBonus!==void 0?[Sn(e.neuronMaximumAgeBonus)]:[],neuron_minimum_stake:e.neuronMinimumStake!==void 0?[J(e.neuronMinimumStake)]:[],proposal_wait_for_quiet_deadline_increase:e.proposalWaitForQuietDeadlineIncrease!==void 0?[ne(e.proposalWaitForQuietDeadlineIncrease)]:[],proposal_initial_voting_period:e.proposalInitialVotingPeriod!==void 0?[ne(e.proposalInitialVotingPeriod)]:[],proposal_rejection_fee:e.proposalRejectionFee!==void 0?[J(e.proposalRejectionFee)]:[],voting_reward_parameters:e.votingRewardParameters!==void 0?[Tr(e.votingRewardParameters)]:[]}),yo=e=>({total:e.total!==void 0?[J(e.total)]:[]}),Fr=e=>({treasury_distribution:e.treasuryDistribution!==void 0?[yo(e.treasuryDistribution)]:[],developer_distribution:e.developerDistribution!==void 0?[Er(e.developerDistribution)]:[],swap_distribution:e.swapDistribution!==void 0?[yo(e.swapDistribution)]:[]}),qr=e=>({controller:e.controller!==void 0?[A.Principal.fromText(e.controller)]:[],dissolve_delay:e.dissolveDelay!==void 0?[ne(e.dissolveDelay)]:[],memo:e.memo!==void 0?[e.memo]:[],vesting_period:e.vestingPeriod!==void 0?[ne(e.vestingPeriod)]:[],stake:e.stake!==void 0?[J(e.stake)]:[]}),Er=e=>({developer_neurons:e.developerNeurons.map(qr)}),Br=e=>({url:e.url!==void 0?[e.url]:[],governance_parameters:e.governanceParameters!==void 0?[Ar(e.governanceParameters)]:[],fallback_controller_principal_ids:e.fallbackControllerPrincipalIds.map(t=>A.Principal.fromText(t)),logo:e.logo!==void 0?[So(e.logo)]:[],name:e.name!==void 0?[e.name]:[],ledger_parameters:e.ledgerParameters!==void 0?[Vr(e.ledgerParameters)]:[],description:e.description!==void 0?[e.description]:[],dapp_canisters:e.dappCanisters.map(t=>({id:[A.Principal.fromText(t)]})),swap_parameters:e.swapParameters!==void 0?[Cr(e.swapParameters)]:[],initial_token_distribution:e.initialTokenDistribution!==void 0?[Fr(e.initialTokenDistribution)]:[]}),Gr=e=>{if(!(0,R.isNullish)(e))switch(e){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3;default:return 0}},Ur=e=>({arg:(0,R.toNullable)(e.arg),wasm_module:(0,R.toNullable)(e.wasmModule),skip_stopping_before_installing:(0,R.toNullable)(e.skipStoppingBeforeInstalling),canister_id:(0,R.toNullable)((0,R.nonNullish)(e.canisterId)?A.Principal.fromText(e.canisterId):void 0),install_mode:(0,R.toNullable)(Gr(e.installMode))}),Kr=e=>e===void 0?[]:[{freezing_threshold:(0,R.toNullable)(e.freezingThreshold),controllers:e.controllers?[{controllers:e.controllers.map(t=>A.Principal.fromText(t))}]:[],log_visibility:(0,R.toNullable)(e.logVisibility),wasm_memory_limit:(0,R.toNullable)(e.wasmMemoryLimit),compute_allocation:(0,R.toNullable)(e.computeAllocation),memory_allocation:(0,R.toNullable)(e.memoryAllocation)}],ho=e=>{if("ExecuteNnsFunction"in e){let t=e.ExecuteNnsFunction;if(t.payloadBytes===void 0)throw new Error("payloadBytes not found");return{ExecuteNnsFunction:{nns_function:t.nnsFunctionId,payload:(0,R.arrayBufferToUint8Array)(t.payloadBytes)}}}if("ManageNeuron"in e){let t=e.ManageNeuron;return{ManageNeuron:Jr(t)}}if("ApproveGenesisKyc"in e)return{ApproveGenesisKyc:{principals:e.ApproveGenesisKyc.principals.map(A.Principal.fromText)}};if("ManageNetworkEconomics"in e){let t=e.ManageNetworkEconomics;return{ManageNetworkEconomics:{neuron_minimum_stake_e8s:t.neuronMinimumStake,max_proposals_to_keep_per_topic:t.maxProposalsToKeepPerTopic,neuron_management_fee_per_proposal_e8s:t.neuronManagementFeePerProposal,reject_cost_e8s:t.rejectCost,transaction_fee_e8s:t.transactionFee,neuron_spawn_dissolve_delay_seconds:t.neuronSpawnDissolveDelaySeconds,minimum_icp_xdr_rate:t.minimumIcpXdrRate,maximum_node_provider_rewards_e8s:t.maximumNodeProviderRewards,neurons_fund_economics:zr(t.neuronsFundEconomics)}}}if("RewardNodeProvider"in e){let t=e.RewardNodeProvider;return{RewardNodeProvider:{node_provider:t.nodeProvider?[hn(t.nodeProvider)]:[],amount_e8s:t.amountE8s,reward_mode:t.rewardMode!=null?[vo(t.rewardMode)]:[]}}}if("RewardNodeProviders"in e){let t=e.RewardNodeProviders;return{RewardNodeProviders:{use_registry_derived_rewards:t.useRegistryDerivedRewards===void 0?[]:[t.useRegistryDerivedRewards],rewards:t.rewards.map(n=>({node_provider:n.nodeProvider?[hn(n.nodeProvider)]:[],amount_e8s:n.amountE8s,reward_mode:n.rewardMode!=null?[vo(n.rewardMode)]:[]}))}}}if("AddOrRemoveNodeProvider"in e){let t=e.AddOrRemoveNodeProvider;return{AddOrRemoveNodeProvider:{change:t.change?[jr(t.change)]:[]}}}if("Motion"in e)return{Motion:{motion_text:e.Motion.motionText}};if("SetDefaultFollowees"in e)return{SetDefaultFollowees:{default_followees:e.SetDefaultFollowees.defaultFollowees.map(n=>[n.topic,hr(n.followees)])}};if("RegisterKnownNeuron"in e){let t=e.RegisterKnownNeuron;return{RegisterKnownNeuron:{id:[{id:t.id}],known_neuron_data:[{name:t.name,description:t.description!==void 0?[t.description]:[]}]}}}if("SetSnsTokenSwapOpenTimeWindow"in e){let{request:t,swapCanisterId:n}=e.SetSnsTokenSwapOpenTimeWindow;return{SetSnsTokenSwapOpenTimeWindow:{request:t===void 0?[]:[{open_time_window:t.openTimeWindow===void 0?[]:[{start_timestamp_seconds:t.openTimeWindow.startTimestampSeconds,end_timestamp_seconds:t.openTimeWindow.endTimestampSeconds}]}],swap_canister_id:n===void 0?[]:[A.Principal.fromText(n)]}}}if("OpenSnsTokenSwap"in e){let{communityFundInvestmentE8s:t,targetSwapCanisterId:n,params:o}=e.OpenSnsTokenSwap;return{OpenSnsTokenSwap:{community_fund_investment_e8s:(0,R.toNullable)(t),target_swap_canister_id:(0,R.toNullable)(n),params:o===void 0?[]:[{min_participant_icp_e8s:o.minParticipantIcpE8s,max_icp_e8s:o.maxIcpE8s,swap_due_timestamp_seconds:o.swapDueTimestampSeconds,min_participants:o.minParticipants,sns_token_e8s:o.snsTokenE8s,max_participant_icp_e8s:o.maxParticipantIcpE8s,min_icp_e8s:o.minIcpE8s,sale_delay_seconds:(0,R.toNullable)(o.saleDelaySeconds),neuron_basket_construction_parameters:(0,R.toNullable)(o.neuronBasketConstructionParameters),max_direct_participation_icp_e8s:(0,R.toNullable)(o.maxDirectParticipationIcpE8s),min_direct_participation_icp_e8s:(0,R.toNullable)(o.minDirectParticipationIcpE8s)}]}}}if("CreateServiceNervousSystem"in e)return{CreateServiceNervousSystem:Br(e.CreateServiceNervousSystem)};if("InstallCode"in e)return{InstallCode:Ur(e.InstallCode)};if("StopOrStartCanister"in e){let t=e.StopOrStartCanister;return{StopOrStartCanister:{canister_id:t.canisterId?[A.Principal.fromText(t.canisterId)]:[],action:t.action?[t.action]:[]}}}if("UpdateCanisterSettings"in e){let t=e.UpdateCanisterSettings;return{UpdateCanisterSettings:{canister_id:t.canisterId?[A.Principal.fromText(t.canisterId)]:[],settings:Kr(t.settings)}}}throw new h(e)},Wr=e=>{if("Split"in e)return{Split:{amount_e8s:e.Split.amount}};if("Follow"in e){let t=e.Follow;return{Follow:{topic:t.topic,followees:t.followees.map(Gn)}}}if("ClaimOrRefresh"in e){let t=e.ClaimOrRefresh;return{ClaimOrRefresh:{by:t.by?[Xr(t.by)]:[]}}}if("Configure"in e){let t=e.Configure;return{Configure:{operation:t.operation?[Hr(t.operation)]:[]}}}if("RegisterVote"in e){let t=e.RegisterVote;return{RegisterVote:{vote:t.vote,proposal:t.proposal?[bo(t.proposal)]:[]}}}if("DisburseToNeuron"in e){let t=e.DisburseToNeuron;return{DisburseToNeuron:{dissolve_delay_seconds:t.dissolveDelaySeconds,kyc_verified:t.kycVerified,amount_e8s:t.amount,new_controller:t.newController?[A.Principal.fromText(t.newController)]:[],nonce:t.nonce}}}if("MergeMaturity"in e)return{MergeMaturity:{percentage_to_merge:e.MergeMaturity.percentageToMerge}};if("StakeMaturity"in e){let{percentageToStake:t}=e.StakeMaturity;return{StakeMaturity:{percentage_to_stake:(0,R.toNullable)(t)}}}if("MakeProposal"in e){let t=e.MakeProposal;return{MakeProposal:{url:t.url,title:[],action:t.action?[ho(t.action)]:[],summary:t.summary}}}if("Disburse"in e){let t=e.Disburse;return{Disburse:{to_account:t.toAccountId?[Un(t.toAccountId)]:[],amount:t.amount?[xo(t.amount)]:[]}}}if("Spawn"in e){let t=e.Spawn;return{Spawn:{percentage_to_spawn:t.percentageToSpawn===void 0?[]:[t.percentageToSpawn],new_controller:t.newController?[A.Principal.fromText(t.newController)]:[],nonce:[]}}}if("Merge"in e){let t=e.Merge;return{Merge:{source_neuron_id:t.sourceNeuronId?[{id:t.sourceNeuronId}]:[]}}}throw new h(e)},Hr=e=>{if("RemoveHotKey"in e){let t=e.RemoveHotKey;return{RemoveHotKey:{hot_key_to_remove:t.hotKeyToRemove!=null?[A.Principal.fromText(t.hotKeyToRemove)]:[]}}}if("AddHotKey"in e){let t=e.AddHotKey;return{AddHotKey:{new_hot_key:t.newHotKey?[A.Principal.fromText(t.newHotKey)]:[]}}}if("StopDissolving"in e)return{StopDissolving:{}};if("StartDissolving"in e)return{StartDissolving:{}};if("IncreaseDissolveDelay"in e)return{IncreaseDissolveDelay:{additional_dissolve_delay_seconds:e.IncreaseDissolveDelay.additionalDissolveDelaySeconds}};if("JoinCommunityFund"in e||"LeaveCommunityFund"in e)return e;if("SetDissolveTimestamp"in e)return{SetDissolveTimestamp:{dissolve_timestamp_seconds:e.SetDissolveTimestamp.dissolveTimestampSeconds}};if("ChangeAutoStakeMaturity"in e){let{requestedSettingForAutoStakeMaturity:t}=e.ChangeAutoStakeMaturity;return{ChangeAutoStakeMaturity:{requested_setting_for_auto_stake_maturity:t}}}if("SetVisibility"in e){let t=e.SetVisibility;return{SetVisibility:{visibility:(0,R.toNullable)(t.visibility)}}}throw new h(e)},jr=e=>{if("ToRemove"in e)return{ToRemove:hn(e.ToRemove)};if("ToAdd"in e)return{ToAdd:hn(e.ToAdd)};throw new h(e)},hn=e=>({id:e.id!=null?[A.Principal.fromText(e.id)]:[],reward_account:e.rewardAccount!=null?[Un(e.rewardAccount)]:[]}),xo=e=>({e8s:e}),Un=e=>({hash:(0,wo.accountIdentifierToBytes)(e)}),zr=e=>{if((0,R.isNullish)(e))return[];let{maximumIcpXdrRate:t,maxTheoreticalNeuronsFundParticipationAmountXdr:n,neuronsFundMatchedFundingCurveCoefficients:o,minimumIcpXdrRate:r}=e,s=d=>(0,R.isNullish)(d)?[]:[{basis_points:(0,R.toNullable)(d.basisPoints)}],c=d=>(0,R.isNullish)(d)?[]:[{human_readable:(0,R.toNullable)(d.humanReadable)}],_=d=>(0,R.isNullish)(d)?[]:[{contribution_threshold_xdr:c(d.contributionThresholdXdr),full_participation_milestone_xdr:c(d.fullParticipationMilestoneXdr),one_third_participation_milestone_xdr:c(d.oneThirdParticipationMilestoneXdr)}];return[{maximum_icp_xdr_rate:s(t),neurons_fund_matched_funding_curve_coefficients:_(o),minimum_icp_xdr_rate:s(r),max_theoretical_neurons_fund_participation_amount_xdr:c(n)}]},vo=e=>{if("RewardToNeuron"in e)return{RewardToNeuron:{dissolve_delay_seconds:e.RewardToNeuron.dissolveDelaySeconds}};if("RewardToAccount"in e)return{RewardToAccount:{to_account:e.RewardToAccount.toAccount!=null?[Un(e.RewardToAccount.toAccount)]:[]}};throw new h(e)},Xr=e=>{if("NeuronIdOrSubaccount"in e)return{NeuronIdOrSubaccount:{}};if("Memo"in e)return{Memo:e.Memo};if("MemoAndController"in e)return{MemoAndController:{memo:e.MemoAndController.memo,controller:e.MemoAndController.controller?[e.MemoAndController.controller]:[]}};throw new h(e)},xn=({neuronIds:e,includeEmptyNeurons:t})=>({neuron_ids:BigUint64Array.from(e??[]),include_neurons_readable_by_caller:!e,include_empty_neurons_readable_by_caller:(0,R.toNullable)(t)}),Jr=({id:e,command:t,neuronIdOrSubaccount:n})=>({id:e?[Gn(e)]:[],command:t?[Wr(t)]:[],neuron_id_or_subaccount:n?[xr(n)]:[]}),ko=({includeRewardStatus:e,beforeProposal:t,excludeTopic:n,includeStatus:o,limit:r,includeAllManageNeuronProposals:s,omitLargeFields:c})=>({include_reward_status:Int32Array.from(e),before_proposal:t?[bo(t)]:[],limit:r,exclude_topic:Int32Array.from(n),include_all_manage_neuron_proposals:s!==void 0?[s]:[],include_status:Int32Array.from(o),omit_large_fields:(0,R.toNullable)(c)}),Po=e=>({id:[],command:[{ClaimOrRefresh:{by:[{NeuronIdOrSubaccount:{}}]}}],neuron_id_or_subaccount:[{NeuronId:{id:e.neuronId}}]}),To=({memo:e,controller:t})=>{let n={ClaimOrRefresh:{by:[{MemoAndController:{controller:t==null?[]:[t],memo:e}}]}};return{id:[],command:[n],neuron_id_or_subaccount:[]}},Vo=({neuronId:e,amount:t})=>({id:[],command:[{Split:{amount_e8s:t}}],neuron_id_or_subaccount:[{NeuronId:{id:e}}]});var Co=({neuronId:e,vote:t,proposalId:n})=>Ie({neuronId:e,command:{RegisterVote:{vote:t,proposal:[{id:n}]}}}),Mo=e=>{let t={MakeProposal:{url:e.url,title:e.title!=null?[e.title]:[],summary:e.summary,action:[ho(e.action)]}};return{id:[],command:[t],neuron_id_or_subaccount:[{NeuronId:{id:e.neuronId}}]}},Ao=({neuronId:e,topic:t,followees:n})=>Ie({neuronId:e,command:{Follow:{topic:t,followees:n.map(o=>({id:o}))}}}),Fo=({neuronId:e,toAccountIdentifier:t,amount:n})=>Ie({neuronId:e,command:{Disburse:{to_account:t!==void 0?[t.toAccountIdentifierHash()]:[],amount:n!==void 0?[xo(n)]:[]}}}),qo=({neuronId:e,percentageToMerge:t})=>Ie({neuronId:e,command:{MergeMaturity:{percentage_to_merge:t}}}),Eo=({neuronId:e,percentageToStake:t})=>Ie({neuronId:e,command:{StakeMaturity:{percentage_to_stake:(0,R.toNullable)(t)}}}),Bo=({neuronId:e,percentageToSpawn:t,newController:n,nonce:o})=>Ie({neuronId:e,command:{Spawn:{percentage_to_spawn:t===void 0?[]:[t],new_controller:n===void 0?[]:[n],nonce:o===void 0?[]:[o]}}}),Go=({neuronId:e,principal:t})=>oe({neuronId:e,operation:{AddHotKey:{new_hot_key:[t]}}}),Uo=({neuronId:e,principal:t})=>oe({neuronId:e,operation:{RemoveHotKey:{hot_key_to_remove:[t]}}}),Ko=({neuronId:e,additionalDissolveDelaySeconds:t})=>oe({neuronId:e,operation:{IncreaseDissolveDelay:{additional_dissolve_delay_seconds:t}}}),Wo=({neuronId:e,dissolveDelaySeconds:t})=>oe({neuronId:e,operation:{SetDissolveTimestamp:{dissolve_timestamp_seconds:BigInt(t)}}}),Ho=e=>oe({neuronId:e,operation:{JoinCommunityFund:{}}}),jo=({neuronId:e,autoStake:t})=>oe({neuronId:e,operation:{ChangeAutoStakeMaturity:{requested_setting_for_auto_stake_maturity:t}}}),zo=e=>oe({neuronId:e,operation:{LeaveCommunityFund:{}}}),Xo=({neuronId:e,visibility:t})=>oe({neuronId:e,operation:{SetVisibility:{visibility:[t]}}}),Kn=({sourceNeuronId:e,targetNeuronId:t})=>Ie({neuronId:t,command:{Merge:{source_neuron_id:[{id:e}]}}}),Jo=e=>oe({neuronId:e,operation:{StartDissolving:{}}}),$o=e=>oe({neuronId:e,operation:{StopDissolving:{}}}),Ie=({neuronId:e,command:t})=>({id:[{id:e}],command:[t],neuron_id_or_subaccount:[]}),oe=({neuronId:e,operation:t})=>Ie({neuronId:e,command:{Configure:{operation:[t]}}});var Tn=require("@dfinity/ledger-icp"),Wn=require("@dfinity/principal"),i=require("@dfinity/utils");var Hn=({neuronId:e,neuronInfo:t,rawNeuron:n,canisterId:o})=>{let r=n?$r({neuron:n,canisterId:o}):void 0;return{neuronId:e,dissolveDelaySeconds:t.dissolve_delay_seconds,recentBallots:t.recent_ballots.map(Io),neuronType:(0,i.fromNullable)(t.neuron_type),createdTimestampSeconds:t.created_timestamp_seconds,state:t.state,joinedCommunityFundTimestampSeconds:t.joined_community_fund_timestamp_seconds.length?t.joined_community_fund_timestamp_seconds[0]:void 0,retrievedAtTimestampSeconds:t.retrieved_at_timestamp_seconds,votingPower:t.voting_power,ageSeconds:t.age_seconds,visibility:(0,i.fromNullable)(t.visibility),fullNeuron:r}},$r=({neuron:e,canisterId:t})=>({id:e.id.length?De(e.id[0]):void 0,stakedMaturityE8sEquivalent:(0,i.fromNullable)(e.staked_maturity_e8s_equivalent),controller:e.controller.length?e.controller[0].toString():void 0,recentBallots:e.recent_ballots.map(Io),neuronType:(0,i.fromNullable)(e.neuron_type),kycVerified:e.kyc_verified,notForProfit:e.not_for_profit,cachedNeuronStake:e.cached_neuron_stake_e8s,createdTimestampSeconds:e.created_timestamp_seconds,autoStakeMaturity:(0,i.fromNullable)(e.auto_stake_maturity),maturityE8sEquivalent:e.maturity_e8s_equivalent,agingSinceTimestampSeconds:e.aging_since_timestamp_seconds,neuronFees:e.neuron_fees_e8s,hotKeys:e.hot_keys.map(n=>n.toString()),accountIdentifier:(0,Tn.principalToAccountIdentifier)(t,Uint8Array.from(e.account)),joinedCommunityFundTimestampSeconds:e.joined_community_fund_timestamp_seconds.length?e.joined_community_fund_timestamp_seconds[0]:void 0,dissolveState:e.dissolve_state.length?Qr(e.dissolve_state[0]):void 0,spawnAtTimesSeconds:e.spawn_at_timestamp_seconds[0],followees:e.followees.map(([n,o])=>Do({topic:n,followees:o})),visibility:(0,i.fromNullable)(e.visibility)}),Zo=({neuron:e,account:t})=>({id:(0,i.nonNullish)(e.id)?(0,i.toNullable)({id:e.id}):[],staked_maturity_e8s_equivalent:(0,i.toNullable)(e.stakedMaturityE8sEquivalent),controller:(0,i.nonNullish)(e.controller)?(0,i.toNullable)(Wn.Principal.from(e.controller)):[],recent_ballots:e.recentBallots.map(n=>({vote:n.vote,proposal_id:(0,i.nonNullish)(n.proposalId)?(0,i.toNullable)({id:n.proposalId}):[]})),kyc_verified:e.kycVerified,neuron_type:(0,i.toNullable)(e.neuronType),not_for_profit:e.notForProfit,cached_neuron_stake_e8s:e.cachedNeuronStake,created_timestamp_seconds:e.createdTimestampSeconds,auto_stake_maturity:(0,i.toNullable)(e.autoStakeMaturity),maturity_e8s_equivalent:e.maturityE8sEquivalent,aging_since_timestamp_seconds:e.agingSinceTimestampSeconds,neuron_fees_e8s:e.neuronFees,hot_keys:e.hotKeys.map(n=>Wn.Principal.from(n)),account:t,joined_community_fund_timestamp_seconds:(0,i.toNullable)(e.joinedCommunityFundTimestampSeconds),dissolve_state:(0,i.nonNullish)(e.dissolveState)?[e.dissolveState]:[],spawn_at_timestamp_seconds:(0,i.toNullable)(e.spawnAtTimesSeconds),followees:e.followees.map(n=>[n.topic,{followees:n.followees.map(o=>({id:o}))}]),visibility:(0,i.toNullable)(e.visibility),transfer:[],known_neuron_data:[]}),Io=({vote:e,proposal_id:t})=>({vote:e,proposalId:t.length?De(t[0]):void 0}),Qr=e=>"DissolveDelaySeconds"in e?{DissolveDelaySeconds:e.DissolveDelaySeconds}:{WhenDissolvedTimestampSeconds:e.WhenDissolvedTimestampSeconds},Do=({topic:e,followees:t})=>({topic:e,followees:t.followees.map(De)}),De=({id:e})=>e,Yr=e=>{if("NeuronId"in e)return{NeuronId:e.NeuronId.id};if("Subaccount"in e)return{Subaccount:(0,i.uint8ArrayToArrayOfNumber)(Uint8Array.from(e.Subaccount))};throw new h(e)},Zr=({neuronId:e,ballot:t})=>{let{vote:n,voting_power:o}=t;return{neuronId:e,vote:n,votingPower:o}},Ir=({title:e,url:t,action:n,summary:o})=>({title:e.length?e[0]:void 0,url:t,action:n.length?Lo(n[0]):void 0,summary:o}),Lo=e=>{var t;if("ExecuteNnsFunction"in e)return{ExecuteNnsFunction:{nnsFunctionId:e.ExecuteNnsFunction.nns_function}};if("ManageNeuron"in e){let n=e.ManageNeuron;return{ManageNeuron:{id:n.id.length?De(n.id[0]):void 0,command:n.command.length?ei(n.command[0]):void 0,neuronIdOrSubaccount:n.neuron_id_or_subaccount.length?Yr(n.neuron_id_or_subaccount[0]):void 0}}}if("ApproveGenesisKyc"in e)return{ApproveGenesisKyc:{principals:e.ApproveGenesisKyc.principals.map(o=>o.toString())}};if("ManageNetworkEconomics"in e){let n=e.ManageNetworkEconomics;return{ManageNetworkEconomics:{neuronMinimumStake:n.neuron_minimum_stake_e8s,maxProposalsToKeepPerTopic:n.max_proposals_to_keep_per_topic,neuronManagementFeePerProposal:n.neuron_management_fee_per_proposal_e8s,rejectCost:n.reject_cost_e8s,transactionFee:n.transaction_fee_e8s,neuronSpawnDissolveDelaySeconds:n.neuron_spawn_dissolve_delay_seconds,minimumIcpXdrRate:n.minimum_icp_xdr_rate,maximumNodeProviderRewards:n.maximum_node_provider_rewards_e8s,neuronsFundEconomics:oi(n.neurons_fund_economics)}}}if("RewardNodeProvider"in e){let n=e.RewardNodeProvider;return{RewardNodeProvider:{nodeProvider:n.node_provider.length?kn(n.node_provider[0]):void 0,amountE8s:n.amount_e8s,rewardMode:n.reward_mode.length?Qo(n.reward_mode[0]):void 0}}}if("RewardNodeProviders"in e){let n=e.RewardNodeProviders;return{RewardNodeProviders:{useRegistryDerivedRewards:n.use_registry_derived_rewards.length?n.use_registry_derived_rewards[0]:void 0,rewards:n.rewards.map(o=>({nodeProvider:o.node_provider.length?kn(o.node_provider[0]):void 0,amountE8s:o.amount_e8s,rewardMode:o.reward_mode.length?Qo(o.reward_mode[0]):void 0}))}}}if("AddOrRemoveNodeProvider"in e){let n=e.AddOrRemoveNodeProvider;return{AddOrRemoveNodeProvider:{change:n.change.length?ni(n.change[0]):void 0}}}if("Motion"in e)return{Motion:{motionText:e.Motion.motion_text}};if("SetDefaultFollowees"in e)return{SetDefaultFollowees:{defaultFollowees:e.SetDefaultFollowees.default_followees.map(([o,r])=>Do({topic:o,followees:r}))}};if("RegisterKnownNeuron"in e){let n=e.RegisterKnownNeuron;return{RegisterKnownNeuron:ai(n)}}if("SetSnsTokenSwapOpenTimeWindow"in e){let n=e.SetSnsTokenSwapOpenTimeWindow,o=(t=n.request)!=null&&t.length?{openTimeWindow:n.request[0].open_time_window.length?{startTimestampSeconds:n.request[0].open_time_window[0].start_timestamp_seconds,endTimestampSeconds:n.request[0].open_time_window[0].end_timestamp_seconds}:void 0}:void 0,r=n!=null&&n.swap_canister_id.length?n.swap_canister_id[0].toString():void 0;return{SetSnsTokenSwapOpenTimeWindow:{request:o,swapCanisterId:r}}}if("OpenSnsTokenSwap"in e){let n=e.OpenSnsTokenSwap,o=(0,i.fromNullable)(n.params);return{OpenSnsTokenSwap:{communityFundInvestmentE8s:(0,i.fromNullable)(n.community_fund_investment_e8s),targetSwapCanisterId:(0,i.fromNullable)(n.target_swap_canister_id),params:o&&{minParticipantIcpE8s:o.min_participant_icp_e8s,maxIcpE8s:o.max_icp_e8s,swapDueTimestampSeconds:o.swap_due_timestamp_seconds,minParticipants:o.min_participants,snsTokenE8s:o.sns_token_e8s,maxParticipantIcpE8s:o.max_participant_icp_e8s,minIcpE8s:o.min_icp_e8s,saleDelaySeconds:(0,i.fromNullable)(o.sale_delay_seconds),neuronBasketConstructionParameters:(0,i.fromNullable)(o.neuron_basket_construction_parameters),maxDirectParticipationIcpE8s:(0,i.fromNullable)(o.max_direct_participation_icp_e8s),minDirectParticipationIcpE8s:(0,i.fromNullable)(o.min_direct_participation_icp_e8s)}}}}if("CreateServiceNervousSystem"in e){let n=e.CreateServiceNervousSystem;return{CreateServiceNervousSystem:{url:(0,i.fromNullable)(n.url),governanceParameters:ui((0,i.fromNullable)(n.governance_parameters)),fallbackControllerPrincipalIds:n.fallback_controller_principal_ids.map(o=>o.toString()),logo:nr((0,i.fromNullable)(n.logo)),name:(0,i.fromNullable)(n.name),ledgerParameters:di((0,i.fromNullable)(n.ledger_parameters)),description:(0,i.fromNullable)(n.description),dappCanisters:n.dapp_canisters.map(_i)??[],swapParameters:mi((0,i.fromNullable)(n.swap_parameters)),initialTokenDistribution:fi((0,i.fromNullable)(n.initial_token_distribution))}}}if("InstallCode"in e){let n=e.InstallCode;return{InstallCode:{arg:n.arg.length?Uint8Array.from((0,i.fromDefinedNullable)(n.arg)):void 0,wasmModule:n.wasm_module.length?Uint8Array.from((0,i.fromDefinedNullable)(n.wasm_module)):void 0,skipStoppingBeforeInstalling:(0,i.fromNullable)(n.skip_stopping_before_installing),canisterId:n.canister_id.length?n.canister_id[0].toString():void 0,installMode:Dr((0,i.fromNullable)(n.install_mode))}}}if("StopOrStartCanister"in e){let n=e.StopOrStartCanister;return{StopOrStartCanister:{canisterId:n.canister_id.length?n.canister_id[0].toString():void 0,action:(0,i.fromNullable)(n.action)}}}if("UpdateCanisterSettings"in e)return{UpdateCanisterSettings:{canisterId:e.UpdateCanisterSettings.canister_id.length?e.UpdateCanisterSettings.canister_id[0].toString():void 0,settings:Ri((0,i.fromDefinedNullable)(e.UpdateCanisterSettings.settings))}};throw new h(e)},Dr=e=>{if(!(0,i.isNullish)(e))switch(e){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3;default:return 0}},Lr=e=>({no:e.no,yes:e.yes,total:e.total,timestampSeconds:e.timestamp_seconds}),ei=e=>{if("Spawn"in e){let t=e.Spawn;return{Spawn:{newController:t.new_controller.length?t.new_controller[0].toString():void 0,percentageToSpawn:t.percentage_to_spawn.length?t.percentage_to_spawn[0]:0}}}if("Split"in e)return{Split:{amount:e.Split.amount_e8s}};if("Follow"in e){let t=e.Follow;return{Follow:{topic:t.topic,followees:t.followees.map(De)}}}if("ClaimOrRefresh"in e){let t=e.ClaimOrRefresh;return{ClaimOrRefresh:{by:t.by.length?ii(t.by[0]):void 0}}}if("Configure"in e){let t=e.Configure;return{Configure:{operation:t.operation.length?ti(t.operation[0]):void 0}}}if("RegisterVote"in e){let t=e.RegisterVote;return{RegisterVote:{vote:t.vote,proposal:t.proposal.length?De(t.proposal[0]):void 0}}}if("DisburseToNeuron"in e){let t=e.DisburseToNeuron;return{DisburseToNeuron:{dissolveDelaySeconds:t.dissolve_delay_seconds,kycVerified:t.kyc_verified,amount:t.amount_e8s,newController:t.new_controller.length?t.new_controller[0].toString():void 0,nonce:t.nonce}}}if("MergeMaturity"in e)return{MergeMaturity:{percentageToMerge:e.MergeMaturity.percentage_to_merge}};if("StakeMaturity"in e){let{percentage_to_stake:t}=e.StakeMaturity;return{StakeMaturity:{percentageToStake:(0,i.fromNullable)(t)}}}if("MakeProposal"in e){let t=e.MakeProposal;return{MakeProposal:{title:t.title.length?t.title[0]:void 0,url:t.url,action:t.action.length?Lo(t.action[0]):void 0,summary:t.summary}}}if("Disburse"in e){let t=e.Disburse;return{Disburse:{toAccountId:t.to_account.length?jn(t.to_account[0]):void 0,amount:t.amount.length?ri(t.amount[0]):void 0}}}if("Merge"in e){let t=e.Merge;return{Merge:{sourceNeuronId:t.source_neuron_id.length?t.source_neuron_id[0].id:void 0}}}throw new h(e)},ti=e=>{if("RemoveHotKey"in e){let t=e.RemoveHotKey;return{RemoveHotKey:{hotKeyToRemove:t.hot_key_to_remove.length?t.hot_key_to_remove[0].toString():void 0}}}if("AddHotKey"in e){let t=e.AddHotKey;return{AddHotKey:{newHotKey:t.new_hot_key.length?t.new_hot_key[0].toString():void 0}}}if("StopDissolving"in e)return{StopDissolving:{}};if("StartDissolving"in e)return{StartDissolving:{}};if("IncreaseDissolveDelay"in e)return{IncreaseDissolveDelay:{additionalDissolveDelaySeconds:e.IncreaseDissolveDelay.additional_dissolve_delay_seconds}};if("JoinCommunityFund"in e||"LeaveCommunityFund"in e)return e;if("SetDissolveTimestamp"in e)return{SetDissolveTimestamp:{dissolveTimestampSeconds:e.SetDissolveTimestamp.dissolve_timestamp_seconds}};if("ChangeAutoStakeMaturity"in e){let{requested_setting_for_auto_stake_maturity:t}=e.ChangeAutoStakeMaturity;return{ChangeAutoStakeMaturity:{requestedSettingForAutoStakeMaturity:t}}}if("SetVisibility"in e){let t=e.SetVisibility;return{SetVisibility:{visibility:(0,i.fromNullable)(t.visibility)}}}throw new h(e)},ni=e=>{if("ToRemove"in e)return{ToRemove:kn(e.ToRemove)};if("ToAdd"in e)return{ToAdd:kn(e.ToAdd)};throw new h(e)},oi=e=>{let t=(0,i.fromNullable)(e);if((0,i.isNullish)(t))return;let{maximum_icp_xdr_rate:n,neurons_fund_matched_funding_curve_coefficients:o,max_theoretical_neurons_fund_participation_amount_xdr:r,minimum_icp_xdr_rate:s}=t,c=N=>{let g=(0,i.fromNullable)(N);if((0,i.isNullish)(g))return;let{basis_points:u}=g,w=(0,i.fromNullable)(u);return(0,i.nonNullish)(w)?{basisPoints:w}:void 0},_=N=>{let g=(0,i.fromNullable)(N);if((0,i.isNullish)(g))return;let{human_readable:u}=g,w=(0,i.fromNullable)(u);return(0,i.nonNullish)(w)?{humanReadable:w}:void 0},d=N=>{let g=(0,i.fromNullable)(N);if((0,i.isNullish)(g))return;let{full_participation_milestone_xdr:u,one_third_participation_milestone_xdr:w,contribution_threshold_xdr:x}=g;return{fullParticipationMilestoneXdr:_(u),oneThirdParticipationMilestoneXdr:_(w),contributionThresholdXdr:_(x)}};return{maximumIcpXdrRate:c(n),neuronsFundMatchedFundingCurveCoefficients:d(o),maxTheoreticalNeuronsFundParticipationAmountXdr:_(r),minimumIcpXdrRate:c(s)}},kn=e=>({id:e.id.length?e.id[0].toString():void 0,rewardAccount:e.reward_account.length?jn(e.reward_account[0]):void 0}),ri=e=>e.e8s,jn=e=>(0,Tn.accountIdentifierFromBytes)(new Uint8Array(e.hash)),Qo=e=>{if("RewardToNeuron"in e)return{RewardToNeuron:{dissolveDelaySeconds:e.RewardToNeuron.dissolve_delay_seconds}};if("RewardToAccount"in e)return{RewardToAccount:{toAccount:e.RewardToAccount.to_account!=null&&e.RewardToAccount.to_account.length?jn(e.RewardToAccount.to_account[0]):void 0}};throw new h(e)},ii=e=>{if("NeuronIdOrSubaccount"in e)return{NeuronIdOrSubaccount:{}};if("Memo"in e)return{Memo:e.Memo};if("MemoAndController"in e)return{MemoAndController:{memo:e.MemoAndController.memo,controller:e.MemoAndController.controller.length?e.MemoAndController.controller[0]:void 0}};throw new h(e)},zn=e=>({id:e.id.length?De(e.id[0]):void 0,ballots:e.ballots.map(t=>Zr({neuronId:t[0],ballot:t[1]})),rejectCost:e.reject_cost_e8s,proposalTimestampSeconds:e.proposal_timestamp_seconds,rewardEventRound:e.reward_event_round,failedTimestampSeconds:e.failed_timestamp_seconds,deadlineTimestampSeconds:(0,i.fromNullable)(e.deadline_timestamp_seconds),decidedTimestampSeconds:e.decided_timestamp_seconds,proposal:e.proposal.length?Ir(e.proposal[0]):void 0,proposer:e.proposer.length?De(e.proposer[0]):void 0,latestTally:e.latest_tally.length?Lr(e.latest_tally[0]):void 0,executedTimestampSeconds:e.executed_timestamp_seconds,topic:e.topic,status:e.status,rewardStatus:e.reward_status}),er=({response:{neuron_infos:e,full_neurons:t},canisterId:n})=>e.map(([o,r])=>Hn({neuronId:o,neuronInfo:r,rawNeuron:t.find(s=>s.id.length&&s.id[0].id===o),canisterId:n})),tr=({proposal_info:e})=>({proposals:e.map(zn)}),ai=({id:e,known_neuron_data:t})=>{var n,o,r;return{id:((n=e[0])==null?void 0:n.id)??BigInt(0),name:((o=t[0])==null?void 0:o.name)??"",description:((r=t[0])==null?void 0:r.description[0])??""}},Pn=e=>e===void 0?void 0:{basisPoints:(0,i.fromNullable)(e.basis_points)},re=e=>e===void 0?void 0:{seconds:(0,i.fromNullable)(e.seconds)},si=e=>e===void 0?void 0:{secondsAfterUtcMidnight:(0,i.fromNullable)(e.seconds_after_utc_midnight)},ci=e=>e===void 0?void 0:{isoCodes:e.iso_codes},$=e=>e===void 0?void 0:{e8s:(0,i.fromNullable)(e.e8s)},_i=e=>e===void 0||e.id.length===0?void 0:(0,i.fromDefinedNullable)(e.id).toString(),nr=e=>e===void 0?void 0:{base64Encoding:(0,i.fromNullable)(e.base64_encoding)},di=e=>e===void 0?void 0:{transactionFee:$((0,i.fromNullable)(e.transaction_fee)),tokenSymbol:(0,i.fromNullable)(e.token_symbol),tokenLogo:nr((0,i.fromNullable)(e.token_logo)),tokenName:(0,i.fromNullable)(e.token_name)},pi=e=>e===void 0?void 0:{rewardRateTransitionDuration:re((0,i.fromNullable)(e.reward_rate_transition_duration)),initialRewardRate:Pn((0,i.fromNullable)(e.initial_reward_rate)),finalRewardRate:Pn((0,i.fromNullable)(e.final_reward_rate))},ui=e=>e===void 0?void 0:{neuronMaximumDissolveDelayBonus:Pn((0,i.fromNullable)(e.neuron_maximum_dissolve_delay_bonus)),neuronMaximumAgeForAgeBonus:re((0,i.fromNullable)(e.neuron_maximum_age_for_age_bonus)),neuronMaximumDissolveDelay:re((0,i.fromNullable)(e.neuron_maximum_dissolve_delay)),neuronMinimumDissolveDelayToVote:re((0,i.fromNullable)(e.neuron_minimum_dissolve_delay_to_vote)),neuronMaximumAgeBonus:Pn((0,i.fromNullable)(e.neuron_maximum_age_bonus)),neuronMinimumStake:$((0,i.fromNullable)(e.neuron_minimum_stake)),proposalWaitForQuietDeadlineIncrease:re((0,i.fromNullable)(e.proposal_wait_for_quiet_deadline_increase)),proposalInitialVotingPeriod:re((0,i.fromNullable)(e.proposal_initial_voting_period)),proposalRejectionFee:$((0,i.fromNullable)(e.proposal_rejection_fee)),votingRewardParameters:pi((0,i.fromNullable)(e.voting_reward_parameters))},li=e=>e===void 0?void 0:{dissolveDelayInterval:re((0,i.fromNullable)(e.dissolve_delay_interval)),count:(0,i.fromNullable)(e.count)},mi=e=>e===void 0?void 0:{minimumParticipants:(0,i.fromNullable)(e.minimum_participants),duration:re((0,i.fromNullable)(e.duration)),neuronBasketConstructionParameters:li((0,i.fromNullable)(e.neuron_basket_construction_parameters)),confirmationText:(0,i.fromNullable)(e.confirmation_text),maximumParticipantIcp:$((0,i.fromNullable)(e.maximum_participant_icp)),neuronsFundInvestmentIcp:$((0,i.fromNullable)(e.neurons_fund_investment_icp)),minimumIcp:$((0,i.fromNullable)(e.minimum_icp)),minimumParticipantIcp:$((0,i.fromNullable)(e.minimum_participant_icp)),startTime:si((0,i.fromNullable)(e.start_time)),maximumIcp:$((0,i.fromNullable)(e.maximum_icp)),restrictedCountries:ci((0,i.fromNullable)(e.restricted_countries)),maxDirectParticipationIcp:$((0,i.fromNullable)(e.maximum_direct_participation_icp)),minDirectParticipationIcp:$((0,i.fromNullable)(e.minimum_direct_participation_icp)),neuronsFundParticipation:(0,i.fromNullable)(e.neurons_fund_participation)},Yo=e=>e===void 0?void 0:{total:$((0,i.fromNullable)(e.total))},Ni=e=>e===void 0?void 0:{controller:e.controller.length===0?void 0:e.controller[0].toString(),dissolveDelay:re((0,i.fromNullable)(e.dissolve_delay)),memo:(0,i.fromNullable)(e.memo),vestingPeriod:re((0,i.fromNullable)(e.vesting_period)),stake:$((0,i.fromNullable)(e.stake))},Oi=e=>e===void 0?void 0:{developerNeurons:e.developer_neurons.map(Ni)},fi=e=>e===void 0?void 0:{treasuryDistribution:Yo((0,i.fromNullable)(e.treasury_distribution)),developerDistribution:Oi((0,i.fromNullable)(e.developer_distribution)),swapDistribution:Yo((0,i.fromNullable)(e.swap_distribution))},Ri=e=>{var t;return e===void 0?void 0:{freezingThreshold:(0,i.fromNullable)(e.freezing_threshold),controllers:(t=(0,i.fromNullable)(e.controllers))==null?void 0:t.controllers.map(n=>n.toString()),logVisibility:(0,i.fromNullable)(e.log_visibility),wasmMemoryLimit:(0,i.fromNullable)(e.wasm_memory_limit),computeAllocation:(0,i.fromNullable)(e.compute_allocation),memoryAllocation:(0,i.fromNullable)(e.memory_allocation)}};var Nn=e=>{let{command:t}=e,n=t[0];if(!n)throw new Me({error_message:"Error updating neuron",error_type:0});if("Error"in n)throw new Me(n.Error);return n},T=async({request:e,service:t})=>{let n=await t.manage_neuron(e);return Nn(n)},or=async({request:e,service:t})=>{let n=await t.simulate_manage_neuron(e);return Nn(n)};var Xn=BigInt(1e8);var Vn=class e{constructor(t,n,o,r,s){this.canisterId=t;this.service=n;this.certifiedService=o;this.oldListNeuronsCertifiedService=r;this.agent=s;this.listNeurons=async({certified:t=!0,neuronIds:n,includeEmptyNeurons:o})=>{let r=xn({neuronIds:n,includeEmptyNeurons:o}),_=await((0,l.isNullish)(o)&&t?this.oldListNeuronsCertifiedService:this.getGovernanceService(t)).list_neurons(r);return er({response:_,canisterId:this.canisterId})};this.listKnownNeurons=async(t=!0)=>(await this.getGovernanceService(t).list_known_neurons()).known_neurons.map(o=>{var r,s,c;return{id:((r=(0,l.fromNullable)(o.id))==null?void 0:r.id)??BigInt(0),name:((s=(0,l.fromNullable)(o.known_neuron_data))==null?void 0:s.name)??"",description:(0,l.fromNullable)(((c=(0,l.fromNullable)(o.known_neuron_data))==null?void 0:c.description)??[])}});this.getLastestRewardEvent=async(t=!0)=>this.getGovernanceService(t).get_latest_reward_event();this.listProposals=async({request:t,certified:n=!0})=>{let o=ko(t),r=await this.getGovernanceService(n).list_proposals(o);return tr(r)};this.stakeNeuron=async({stake:t,principal:n,fromSubAccount:o,ledgerCanister:r,createdAt:s,fee:c})=>{if(t<Xn)throw new et(t);let _=new Uint8Array((0,Jn.default)(8)),d=(0,l.uint8ArrayToBigInt)(_),N=this.buildNeuronStakeSubAccount(_,n),g=Ae.AccountIdentifier.fromPrincipal({principal:this.canisterId,subAccount:N});await r.transfer({memo:d,amount:t,fromSubAccount:o,to:g,createdAt:s,fee:c});let u=await this.claimOrRefreshNeuronFromAccount({controller:n,memo:d});if((0,l.isNullish)(u))throw new Le;return u};this.stakeNeuronIcrc1=async({stake:t,principal:n,fromSubAccount:o,ledgerCanister:r,createdAt:s,fee:c})=>{if(t<Xn)throw new et(t);let _=new Uint8Array((0,Jn.default)(8)),d=(0,l.uint8ArrayToBigInt)(_),N=this.getNeuronStakeSubAccountBytes(_,n);await r.icrc1Transfer({icrc1Memo:_,amount:t,fromSubAccount:o,to:{owner:this.canisterId,subaccount:[N]},createdAt:s,fee:c});let g=await this.claimOrRefreshNeuronFromAccount({controller:n,memo:d});if((0,l.isNullish)(g))throw new Le;return g};this.increaseDissolveDelay=async({neuronId:t,additionalDissolveDelaySeconds:n})=>{let o=Ko({neuronId:t,additionalDissolveDelaySeconds:n});await T({request:o,service:this.certifiedService})};this.setDissolveDelay=async({neuronId:t,dissolveDelaySeconds:n})=>{let o=Wo({neuronId:t,dissolveDelaySeconds:n});await T({request:o,service:this.certifiedService})};this.startDissolving=async t=>{let n=Jo(t);await T({request:n,service:this.certifiedService})};this.stopDissolving=async t=>{let n=$o(t);await T({request:n,service:this.certifiedService})};this.joinCommunityFund=async t=>{let n=Ho(t);await T({request:n,service:this.certifiedService})};this.autoStakeMaturity=async t=>{await T({request:jo(t),service:this.certifiedService})};this.leaveCommunityFund=async t=>{let n=zo(t);await T({request:n,service:this.certifiedService})};this.setVisibility=async(t,n)=>{let o=Xo({neuronId:t,visibility:n});await T({request:o,service:this.certifiedService})};this.setNodeProviderAccount=async t=>{(0,Ae.checkAccountId)(t);let n=Ae.AccountIdentifier.fromHex(t),o=await this.certifiedService.update_node_provider({reward_account:[n.toAccountIdentifierHash()]});if("Err"in o)throw new Me(o.Err)};this.mergeNeurons=async t=>{let n=Kn(t);await T({request:n,service:this.certifiedService})};this.simulateMergeNeurons=async t=>{var d;let n=Kn(t),o=await or({request:n,service:this.certifiedService}),r,s,c,_;if("Merge"in o&&(0,l.nonNullish)(r=o.Merge)&&(0,l.nonNullish)(s=(0,l.fromNullable)(r.target_neuron_info))&&(0,l.nonNullish)(c=(0,l.fromNullable)(r.target_neuron))&&(0,l.nonNullish)(_=(d=(0,l.fromNullable)(c.id))==null?void 0:d.id))return Hn({neuronId:_,neuronInfo:s,rawNeuron:c,canisterId:this.canisterId});throw new Ce(`simulateMergeNeurons: Unrecognized Merge error in ${JSON.stringify(o)}`)};this.splitNeuron=async({neuronId:t,amount:n})=>{let o=Vo({neuronId:t,amount:n}),r=await this.certifiedService.manage_neuron(o),s=Nn(r);if("Split"in s){let c=(0,l.fromNullable)(s.Split.created_neuron_id);if((0,l.isNullish)(c))throw new Me({error_message:"Unexpected error splitting neuron. No neuronId in Split response.",error_type:0});return c.id}throw new Ce(`Unrecognized Split error in ${JSON.stringify(r)}`)};this.getProposal=async({proposalId:t,certified:n=!0})=>{let[o]=await this.getGovernanceService(n).get_proposal_info(t);return o?zn(o):void 0};this.makeProposal=async t=>{var r;let n=Mo(t),o=await T({request:n,service:this.certifiedService});return"MakeProposal"in o?(r=(0,l.fromNullable)(o.MakeProposal.proposal_id))==null?void 0:r.id:void 0};this.registerVote=async({neuronId:t,vote:n,proposalId:o})=>{let r=Co({neuronId:t,vote:n,proposalId:o});await T({request:r,service:this.certifiedService})};this.setFollowees=async t=>{let n=Ao(t);await T({request:n,service:this.certifiedService})};this.disburse=async({neuronId:t,toAccountId:n,amount:o})=>{(0,l.nonNullish)(n)&&(0,Ae.checkAccountId)(n);let r=(0,l.nonNullish)(n)?Ae.AccountIdentifier.fromHex(n):void 0,s=Fo({neuronId:t,toAccountIdentifier:r,amount:o});await T({request:s,service:this.certifiedService})};this.mergeMaturity=async({neuronId:t,percentageToMerge:n})=>{(0,l.assertPercentageNumber)(n);let o=qo({neuronId:t,percentageToMerge:n});await T({request:o,service:this.certifiedService})};this.stakeMaturity=async({neuronId:t,percentageToStake:n})=>{(0,l.assertPercentageNumber)(n??100),await T({request:Eo({neuronId:t,percentageToStake:n}),service:this.certifiedService})};this.spawnNeuron=async({neuronId:t,percentageToSpawn:n,newController:o,nonce:r})=>{var N;(0,l.nonNullish)(n)&&(0,l.assertPercentageNumber)(n);let s=Bo({neuronId:t,percentageToSpawn:n,newController:o,nonce:r}),c=await this.certifiedService.manage_neuron(s),_=Nn(c),d;if("Spawn"in _&&(0,l.nonNullish)(d=(N=(0,l.fromNullable)(_.Spawn.created_neuron_id))==null?void 0:N.id))return d;throw new Ce(`Unrecognized Spawn error in ${JSON.stringify(c)}`)};this.addHotkey=async({neuronId:t,principal:n})=>{let o=Go({neuronId:t,principal:n});await T({request:o,service:this.certifiedService})};this.removeHotkey=async({neuronId:t,principal:n})=>{let o=Uo({neuronId:t,principal:n});await T({request:o,service:this.certifiedService})};this.claimOrRefreshNeuronFromAccount=async({memo:t,controller:n})=>{var c;let o=To({memo:t,controller:n}),r=await this.certifiedService.manage_neuron(o),s;if((0,l.nonNullish)(s=(0,l.fromNullable)(r.command))&&"ClaimOrRefresh"in s)return(c=(0,l.fromNullable)(s.ClaimOrRefresh.refreshed_neuron_id))==null?void 0:c.id;throw new Ce(`Unrecognized ClaimOrRefresh error in ${JSON.stringify(r)}`)};this.claimOrRefreshNeuron=async t=>{var s;let n=Po(t),o=await this.service.manage_neuron(n),r;if((0,l.nonNullish)(r=(0,l.fromNullable)(o.command))&&"ClaimOrRefresh"in r)return(s=(0,l.fromNullable)(r.ClaimOrRefresh.refreshed_neuron_id))==null?void 0:s.id;throw new Ce(`Unrecognized ClaimOrRefresh error in ${JSON.stringify(o)}`)};this.buildNeuronStakeSubAccount=(t,n)=>Ae.SubAccount.fromBytes(this.getNeuronStakeSubAccountBytes(t,n));this.getNeuronStakeSubAccountBytes=(t,n)=>{let o=(0,l.asciiStringToByteArray)("neuron-stake"),r=No.create();return r.update((0,l.arrayOfNumberToUint8Array)([12,...o,...n.toUint8Array(),...t])),r.digest()};this.getNeuron=async({certified:t=!0,neuronId:n})=>{let[o]=await this.listNeurons({certified:t,neuronIds:[n]});return o};this.canisterId=t,this.service=n,this.certifiedService=o,this.oldListNeuronsCertifiedService=r,this.agent=s}static create(t={}){let n=t.canisterId??fn,{service:o,certifiedService:r,agent:s}=(0,l.createServices)({options:{...t,canisterId:n},idlFactory:wn,certifiedIdlFactory:Ro}),c=t.oldListNeuronsServiceOverride??rr.Actor.createActor(go,{agent:s,canisterId:n});return new e(n,o,r,c,s)}getGovernanceService(t){return t?this.certifiedService:this.service}};var ar=require("@dfinity/ledger-icp"),Mn=require("@dfinity/utils");var ir=({IDL:e})=>{let t=e.Rec(),n=e.Record({id:e.Nat64}),o=e.Record({followees:e.Vec(n)}),r=e.Record({name:e.Text,description:e.Opt(e.Text)}),s=e.Record({id:e.Opt(n),known_neuron_data:e.Opt(r)}),c=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}),d=e.Record({topic:e.Int32,followees:e.Vec(n)}),N=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),g=e.Variant({NeuronIdOrSubaccount:e.Record({}),MemoAndController:N,Memo:e.Nat64}),u=e.Record({by:e.Opt(g)}),w=e.Record({hot_key_to_remove:e.Opt(e.Principal)}),x=e.Record({new_hot_key:e.Opt(e.Principal)}),U=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),G=e.Record({additional_dissolve_delay_seconds:e.Nat32}),ie=e.Record({visibility:e.Opt(e.Int32)}),ae=e.Record({dissolve_timestamp_seconds:e.Nat64}),Q=e.Variant({RemoveHotKey:w,AddHotKey:x,ChangeAutoStakeMaturity:U,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:G,SetVisibility:ie,JoinCommunityFund:e.Record({}),LeaveCommunityFund:e.Record({}),SetDissolveTimestamp:ae}),p=e.Record({operation:e.Opt(Q)}),se=e.Record({vote:e.Int32,proposal:e.Opt(n)}),K=e.Record({source_neuron_id:e.Opt(n)}),W=e.Record({dissolve_delay_seconds:e.Nat64,kyc_verified:e.Bool,amount_e8s:e.Nat64,new_controller:e.Opt(e.Principal),nonce:e.Nat64}),ce=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),H=e.Record({percentage_to_merge:e.Nat32}),k=e.Record({hash:e.Vec(e.Nat8)}),_e=e.Record({e8s:e.Nat64}),j=e.Record({to_account:e.Opt(k),amount:e.Opt(_e)}),de=e.Variant({Spawn:c,Split:_,Follow:d,ClaimOrRefresh:u,Configure:p,RegisterVote:se,Merge:K,DisburseToNeuron:W,MakeProposal:t,StakeMaturity:ce,MergeMaturity:H,Disburse:j}),C=e.Variant({Subaccount:e.Vec(e.Nat8),NeuronId:n}),V=e.Record({id:e.Opt(n),command:e.Opt(de),neuron_id_or_subaccount:e.Opt(C)}),pe=e.Record({controllers:e.Vec(e.Principal)}),Y=e.Record({freezing_threshold:e.Opt(e.Nat64),controllers:e.Opt(pe),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)}),ue=e.Record({canister_id:e.Opt(e.Principal),settings:e.Opt(Y)}),le=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)}),S=e.Record({action:e.Opt(e.Int32),canister_id:e.Opt(e.Principal)}),v=e.Record({basis_points:e.Opt(e.Nat64)}),f=e.Record({seconds:e.Opt(e.Nat64)}),m=e.Record({e8s:e.Opt(e.Nat64)}),me=e.Record({reward_rate_transition_duration:e.Opt(f),initial_reward_rate:e.Opt(v),final_reward_rate:e.Opt(v)}),Ne=e.Record({neuron_maximum_dissolve_delay_bonus:e.Opt(v),neuron_maximum_age_for_age_bonus:e.Opt(f),neuron_maximum_dissolve_delay:e.Opt(f),neuron_minimum_dissolve_delay_to_vote:e.Opt(f),neuron_maximum_age_bonus:e.Opt(v),neuron_minimum_stake:e.Opt(m),proposal_wait_for_quiet_deadline_increase:e.Opt(f),proposal_initial_voting_period:e.Opt(f),proposal_rejection_fee:e.Opt(m),voting_reward_parameters:e.Opt(me)}),z=e.Record({base64_encoding:e.Opt(e.Text)}),Oe=e.Record({transaction_fee:e.Opt(m),token_symbol:e.Opt(e.Text),token_logo:e.Opt(z),token_name:e.Opt(e.Text)}),fe=e.Record({id:e.Opt(e.Principal)}),Re=e.Record({dissolve_delay_interval:e.Opt(f),count:e.Opt(e.Nat64)}),ge=e.Record({seconds_after_utc_midnight:e.Opt(e.Nat64)}),ye=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(f),neuron_basket_construction_parameters:e.Opt(Re),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(ge),maximum_direct_participation_icp:e.Opt(m),maximum_icp:e.Opt(m),neurons_fund_investment_icp:e.Opt(m),restricted_countries:e.Opt(ye)}),X=e.Record({total:e.Opt(m)}),we=e.Record({controller:e.Opt(e.Principal),dissolve_delay:e.Opt(f),memo:e.Opt(e.Nat64),vesting_period:e.Opt(f),stake:e.Opt(m)}),be=e.Record({developer_neurons:e.Vec(we)}),a=e.Record({treasury_distribution:e.Opt(X),developer_distribution:e.Opt(be),swap_distribution:e.Opt(X)}),Se=e.Record({url:e.Opt(e.Text),governance_parameters:e.Opt(Ne),fallback_controller_principal_ids:e.Vec(e.Principal),logo:e.Opt(z),name:e.Opt(e.Text),ledger_parameters:e.Opt(Oe),description:e.Opt(e.Text),dapp_canisters:e.Vec(fe),swap_parameters:e.Opt(ve),initial_token_distribution:e.Opt(a)}),he=e.Record({nns_function:e.Int32,payload:e.Vec(e.Nat8)}),y=e.Record({id:e.Opt(e.Principal),reward_account:e.Opt(k)}),xe=e.Record({dissolve_delay_seconds:e.Nat64}),ke=e.Record({to_account:e.Opt(k)}),Pe=e.Variant({RewardToNeuron:xe,RewardToAccount:ke}),M=e.Record({node_provider:e.Opt(y),reward_mode:e.Opt(Pe),amount_e8s:e.Nat64}),Te=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),Ve=e.Record({min_participant_icp_e8s:e.Nat64,neuron_basket_construction_parameters:e.Opt(Te),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)}),tt=e.Record({community_fund_investment_e8s:e.Opt(e.Nat64),target_swap_canister_id:e.Opt(e.Principal),params:e.Opt(Ve)}),nt=e.Record({start_timestamp_seconds:e.Nat64,end_timestamp_seconds:e.Nat64}),ot=e.Record({open_time_window:e.Opt(nt)}),rt=e.Record({request:e.Opt(ot),swap_canister_id:e.Opt(e.Principal)}),it=e.Record({default_followees:e.Vec(e.Tuple(e.Int32,o))}),Fe=e.Record({use_registry_derived_rewards:e.Opt(e.Bool),rewards:e.Vec(M)}),F=e.Record({human_readable:e.Opt(e.Text)}),at=e.Record({contribution_threshold_xdr:e.Opt(F),one_third_participation_milestone_xdr:e.Opt(F),full_participation_milestone_xdr:e.Opt(F)}),st=e.Record({maximum_icp_xdr_rate:e.Opt(v),neurons_fund_matched_funding_curve_coefficients:e.Opt(at),max_theoretical_neurons_fund_participation_amount_xdr:e.Opt(F),minimum_icp_xdr_rate:e.Opt(v)}),Z=e.Record({neuron_minimum_stake_e8s:e.Nat64,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(st)}),I=e.Record({principals:e.Vec(e.Principal)}),ct=e.Variant({ToRemove:y,ToAdd:y}),_t=e.Record({change:e.Opt(ct)}),dt=e.Record({motion_text:e.Text}),pt=e.Variant({RegisterKnownNeuron:s,ManageNeuron:V,UpdateCanisterSettings:ue,InstallCode:le,StopOrStartCanister:S,CreateServiceNervousSystem:Se,ExecuteNnsFunction:he,RewardNodeProvider:M,OpenSnsTokenSwap:tt,SetSnsTokenSwapOpenTimeWindow:rt,SetDefaultFollowees:it,RewardNodeProviders:Fe,ManageNetworkEconomics:Z,ApproveGenesisKyc:I,AddOrRemoveNodeProvider:_t,Motion:dt});t.fill(e.Record({url:e.Text,title:e.Opt(e.Text),action:e.Opt(pt),summary:e.Text}));let ut=e.Record({proposal:e.Opt(t),caller:e.Opt(e.Principal),proposer_id:e.Opt(n)}),qe=e.Record({xdr_permyriad_per_icp:e.Opt(e.Nat64),timestamp_seconds:e.Opt(e.Nat64)}),Ee=e.Record({minimum_xdr_permyriad_per_icp:e.Opt(e.Nat64),registry_version:e.Opt(e.Nat64),node_providers:e.Vec(y),timestamp:e.Nat64,rewards:e.Vec(M),xdr_conversion_rate:e.Opt(qe),maximum_node_provider_rewards_e8s:e.Opt(e.Nat64)}),lt=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),total_staked_maturity_e8s_equivalent: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),count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64))}),Be=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,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)),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(lt),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)),timestamp_seconds:e.Nat64,seed_neuron_count:e.Nat64}),mt=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}),Ge=e.Record({groups:e.Vec(mt),timestamp_seconds:e.Opt(e.Nat64)}),Ue=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(n)}),Ke=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}),Nt=e.Record({followers:e.Vec(n)}),Ot=e.Record({followers_map:e.Vec(e.Tuple(e.Nat64,Nt))}),ft=e.Variant({LastNeuronId:n}),We=e.Record({status:e.Opt(e.Int32),failure_reason:e.Opt(e.Text),progress:e.Opt(ft)}),Rt=e.Record({neuron_indexes_migration:e.Opt(We),copy_inactive_neurons_to_stable_memory_migration:e.Opt(We)}),O=e.Record({error_message:e.Text,error_type:e.Int32}),gt=e.Record({has_created_neuron_recipes:e.Opt(e.Bool),hotkeys:e.Opt(I),nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),yt=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,cf_neurons:e.Vec(gt)}),He=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),hotkey_principal: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)}),D=e.Record({neurons_fund_neuron_portions:e.Vec(wt)}),bt=e.Record({serialized_representation:e.Opt(e.Text)}),q=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(D),ideal_matched_participation_function:e.Opt(bt),allocated_neurons_fund_participation_icp_e8s:e.Opt(e.Nat64)}),St=e.Record({final_neurons_fund_participation:e.Opt(q),initial_neurons_fund_participation:e.Opt(q),neurons_fund_refunds:e.Opt(D)}),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)}),b=e.Record({status:e.Opt(ht),canister_id:e.Opt(e.Principal)}),xt=e.Record({ledger_index_canister_summary:e.Opt(b),fallback_controller_principal_ids:e.Vec(e.Principal),ledger_archive_canister_summaries:e.Vec(b),ledger_canister_summary:e.Opt(b),swap_canister_summary:e.Opt(b),governance_canister_summary:e.Opt(b),root_canister_summary:e.Opt(b),dapp_canister_summaries:e.Vec(b)}),je=e.Record({swap_background_information:e.Opt(xt)}),ze=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),kt=e.Record({current_deadline_timestamp_seconds:e.Nat64}),Pt=e.Record({id:e.Opt(n),failure_reason:e.Opt(O),cf_participants:e.Vec(yt),ballots:e.Vec(e.Tuple(e.Nat64,He)),proposal_timestamp_seconds:e.Nat64,reward_event_round:e.Nat64,failed_timestamp_seconds:e.Nat64,neurons_fund_data:e.Opt(St),reject_cost_e8s:e.Nat64,derived_proposal_information:e.Opt(je),latest_tally:e.Opt(ze),sns_token_swap_lifecycle:e.Opt(e.Int32),decided_timestamp_seconds:e.Nat64,proposal:e.Opt(t),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)}),Tt=e.Variant({Spawn:n,Split:_,Configure:p,Merge:K,DisburseToNeuron:W,SyncCommand:e.Record({}),ClaimOrRefreshNeuron:u,MergeMaturity:H,Disburse:j}),Vt=e.Record({command:e.Opt(Tt),timestamp:e.Nat64}),Xe=e.Record({vote:e.Int32,proposal_id:e.Opt(n)}),Ct=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),P=e.Record({id:e.Opt(n),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),controller:e.Opt(e.Principal),recent_ballots:e.Vec(Xe),kyc_verified:e.Bool,neuron_type:e.Opt(e.Int32),not_for_profit:e.Bool,maturity_e8s_equivalent: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),dissolve_state:e.Opt(Ct),followees:e.Vec(e.Tuple(e.Int32,o)),neuron_fees_e8s:e.Nat64,visibility:e.Opt(e.Int32),transfer:e.Opt(Ke),known_neuron_data:e.Opt(r),spawn_at_timestamp_seconds:e.Opt(e.Nat64)}),$n=e.Record({default_followees:e.Vec(e.Tuple(e.Int32,o)),making_sns_proposal:e.Opt(ut),most_recent_monthly_node_provider_rewards:e.Opt(Ee),maturity_modulation_last_updated_at_timestamp_seconds:e.Opt(e.Nat64),wait_for_quiet_threshold_seconds:e.Nat64,metrics:e.Opt(Be),neuron_management_voting_period_seconds:e.Opt(e.Nat64),node_providers:e.Vec(y),cached_daily_maturity_modulation_basis_points:e.Opt(e.Int32),economics:e.Opt(Z),restore_aging_summary:e.Opt(Ge),spawning_neurons:e.Opt(e.Bool),latest_reward_event:e.Opt(Ue),to_claim_transfers:e.Vec(Ke),short_voting_period_seconds:e.Nat64,topic_followee_index:e.Vec(e.Tuple(e.Int32,Ot)),migrations:e.Opt(Rt),proposals:e.Vec(e.Tuple(e.Nat64,Pt)),xdr_conversion_rate:e.Opt(qe),in_flight_commands:e.Vec(e.Tuple(e.Nat64,Vt)),neurons:e.Vec(e.Tuple(e.Nat64,P)),genesis_timestamp_seconds:e.Nat64}),E=e.Variant({Ok:e.Null,Err:O}),Mt=e.Variant({Error:O,NeuronId:n}),At=e.Record({result:e.Opt(Mt)}),Je=e.Variant({Ok:P,Err:O}),Ft=e.Variant({Ok:Be,Err:O}),qt=e.Variant({Ok:Fe,Err:O}),B=e.Record({dissolve_delay_seconds:e.Nat64,recent_ballots:e.Vec(Xe),neuron_type:e.Opt(e.Int32),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(r),voting_power:e.Nat64,age_seconds:e.Nat64}),$e=e.Variant({Ok:B,Err:O}),Et=e.Record({nns_proposal_id:e.Opt(n)}),Bt=e.Record({final_neurons_fund_participation:e.Opt(q),initial_neurons_fund_participation:e.Opt(q),neurons_fund_refunds:e.Opt(D)}),Gt=e.Record({neurons_fund_audit_info:e.Opt(Bt)}),Ut=e.Variant({Ok:Gt,Err:O}),Kt=e.Record({result:e.Opt(Ut)}),Wt=e.Variant({Ok:y,Err:O}),L=e.Record({id:e.Opt(n),status:e.Int32,topic:e.Int32,failure_reason:e.Opt(O),ballots:e.Vec(e.Tuple(e.Nat64,He)),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(je),latest_tally:e.Opt(ze),reward_status:e.Int32,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(t),proposer:e.Opt(n),executed_timestamp_seconds:e.Nat64}),Ht=e.Record({known_neurons:e.Vec(s)}),jt=e.Record({neuron_ids:e.Vec(e.Nat64),include_empty_neurons_readable_by_caller:e.Opt(e.Bool),include_neurons_readable_by_caller:e.Bool}),zt=e.Record({neuron_infos:e.Vec(e.Tuple(e.Nat64,B)),full_neurons:e.Vec(P)}),Xt=e.Record({node_providers:e.Vec(y)}),Jt=e.Record({include_reward_status:e.Vec(e.Int32),omit_large_fields:e.Opt(e.Bool),before_proposal:e.Opt(n),limit:e.Nat32,exclude_topic:e.Vec(e.Int32),include_all_manage_neuron_proposals:e.Opt(e.Bool),include_status:e.Vec(e.Int32)}),$t=e.Record({proposal_info:e.Vec(L)}),ee=e.Record({created_neuron_id:e.Opt(n)}),Qt=e.Record({refreshed_neuron_id:e.Opt(n)}),Yt=e.Record({target_neuron:e.Opt(P),source_neuron:e.Opt(P),target_neuron_info:e.Opt(B),source_neuron_info:e.Opt(B)}),Zt=e.Record({message:e.Opt(e.Text),proposal_id:e.Opt(n)}),It=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),Dt=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),Lt=e.Record({transfer_block_height:e.Nat64}),en=e.Variant({Error:O,Spawn:ee,Split:ee,Follow:e.Record({}),ClaimOrRefresh:Qt,Configure:e.Record({}),RegisterVote:e.Record({}),Merge:Yt,DisburseToNeuron:ee,MakeProposal:Zt,StakeMaturity:It,MergeMaturity:Dt,Disburse:Lt}),Qe=e.Record({command:e.Opt(en)}),tn=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)}),nn=e.Variant({Committed:tn,Aborted:e.Record({})}),on=e.Record({result:e.Opt(nn),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),rn=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)}),an=e.Variant({Committed:rn,Aborted:e.Record({})}),sn=e.Record({result:e.Opt(an),nns_proposal_id:e.Opt(e.Nat64)}),cn=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Opt(e.Text),hotkeys:e.Opt(I),is_capped:e.Opt(e.Bool),nns_neuron_id:e.Opt(e.Nat64),amount_icp_e8s:e.Opt(e.Nat64)}),_n=e.Record({neurons_fund_neuron_portions:e.Vec(cn)}),dn=e.Variant({Ok:_n,Err:O}),pn=e.Record({result:e.Opt(dn)}),un=e.Record({reward_account:e.Opt(k)});return e.Service({claim_gtc_neurons:e.Func([e.Principal,e.Vec(n)],[E],[]),claim_or_refresh_neuron_from_account:e.Func([N],[At],[]),get_build_metadata:e.Func([],[e.Text],[]),get_full_neuron:e.Func([e.Nat64],[Je],[]),get_full_neuron_by_id_or_subaccount:e.Func([C],[Je],[]),get_latest_reward_event:e.Func([],[Ue],[]),get_metrics:e.Func([],[Ft],[]),get_monthly_node_provider_rewards:e.Func([],[qt],[]),get_most_recent_monthly_node_provider_rewards:e.Func([],[e.Opt(Ee)],[]),get_network_economics_parameters:e.Func([],[Z],[]),get_neuron_ids:e.Func([],[e.Vec(e.Nat64)],[]),get_neuron_info:e.Func([e.Nat64],[$e],[]),get_neuron_info_by_id_or_subaccount:e.Func([C],[$e],[]),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(L)],[]),get_proposal_info:e.Func([e.Nat64],[e.Opt(L)],[]),get_restore_aging_summary:e.Func([],[Ge],[]),list_known_neurons:e.Func([],[Ht],[]),list_neurons:e.Func([jt],[zt],[]),list_node_providers:e.Func([],[Xt],[]),list_proposals:e.Func([Jt],[$t],[]),manage_neuron:e.Func([V],[Qe],[]),settle_community_fund_participation:e.Func([on],[E],[]),settle_neurons_fund_participation:e.Func([sn],[pn],[]),simulate_manage_neuron:e.Func([V],[Qe],[]),transfer_gtc_neuron:e.Func([n,n],[E],[]),update_neuron:e.Func([P],[e.Opt(O)],[]),update_node_provider:e.Func([un],[E],[])})};var Cn=class e{constructor(t,n){this.canisterId=t;this.certifiedService=n;this.canisterId=t,this.certifiedService=n}static create(t={}){let n=t.canisterId??fn,{certifiedService:o}=(0,Mn.createServices)({options:{...t,canisterId:n},idlFactory:wn,certifiedIdlFactory:ir});return new e(n,o)}async updateNeuron(t){(0,Mn.assertNonNullish)(t.id);let n=xn({neuronIds:[t.id]}),r=(await this.certifiedService.list_neurons(n)).full_neurons[0];if((0,ar.principalToAccountIdentifier)(this.canisterId,Uint8Array.from(r.account))!==t.accountIdentifier)throw new Error("Neuron account identifier can't be changed");let c=Zo({neuron:t,account:Uint8Array.from(r.account)});return this.certifiedService.update_neuron(c)}};var _r=require("@dfinity/utils");var sr=({IDL:e})=>{let t=e.Record({allowed_principals:e.Vec(e.Principal),access_controls_enabled:e.Bool,sns_subnet_ids:e.Vec(e.Principal)}),n=e.Record({wasm:e.Vec(e.Nat8),proposal_id:e.Opt(e.Nat64),canister_type:e.Int32}),o=e.Record({hash:e.Vec(e.Nat8),wasm:e.Opt(n)}),r=e.Record({message:e.Text}),s=e.Variant({Error:r,Hash:e.Vec(e.Nat8)}),c=e.Record({result:e.Opt(s)}),_=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),d=e.Record({id:e.Opt(e.Principal)}),N=e.Record({canisters:e.Vec(d)}),g=e.Record({slope_numerator:e.Opt(e.Nat64),intercept_icp_e8s:e.Opt(e.Nat64),from_direct_participation_icp_e8s:e.Opt(e.Nat64),slope_denominator:e.Opt(e.Nat64),to_direct_participation_icp_e8s:e.Opt(e.Nat64)}),u=e.Record({serialized_representation:e.Opt(e.Text)}),w=e.Record({coefficient_intervals:e.Vec(g),max_neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),min_direct_participation_threshold_icp_e8s:e.Opt(e.Nat64),ideal_matched_participation_function:e.Opt(u)}),x=e.Record({principals:e.Vec(e.Principal)}),U=e.Record({has_created_neuron_recipes:e.Opt(e.Bool),hotkeys:e.Opt(x),nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),G=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,cf_neurons:e.Vec(U)}),ie=e.Record({participants:e.Vec(G)}),ae=e.Record({total_e8s:e.Nat64}),Q=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Nat64,memo:e.Nat64,stake_e8s:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64)}),p=e.Record({developer_neurons:e.Vec(Q)}),se=e.Record({airdrop_neurons:e.Vec(Q)}),K=e.Record({total_e8s:e.Nat64,initial_swap_amount_e8s:e.Nat64}),W=e.Record({treasury_distribution:e.Opt(ae),developer_distribution:e.Opt(p),airdrop_distribution:e.Opt(se),swap_distribution:e.Opt(K)}),ce=e.Variant({FractionalDeveloperVotingPower:W}),H=e.Record({iso_codes:e.Vec(e.Text)}),k=e.Record({url:e.Opt(e.Text),max_dissolve_delay_seconds:e.Opt(e.Nat64),max_dissolve_delay_bonus_percentage:e.Opt(e.Nat64),nns_proposal_id:e.Opt(e.Nat64),neurons_fund_participation:e.Opt(e.Bool),min_participant_icp_e8s:e.Opt(e.Nat64),neuron_basket_construction_parameters:e.Opt(_),fallback_controller_principal_ids:e.Vec(e.Text),token_symbol:e.Opt(e.Text),final_reward_rate_basis_points:e.Opt(e.Nat64),max_icp_e8s:e.Opt(e.Nat64),neuron_minimum_stake_e8s:e.Opt(e.Nat64),confirmation_text:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),swap_start_timestamp_seconds:e.Opt(e.Nat64),swap_due_timestamp_seconds:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),description:e.Opt(e.Text),max_neuron_age_seconds_for_age_bonus:e.Opt(e.Nat64),min_participants:e.Opt(e.Nat64),initial_reward_rate_basis_points:e.Opt(e.Nat64),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),dapp_canisters:e.Opt(N),neurons_fund_participation_constraints:e.Opt(w),neurons_fund_participants:e.Opt(ie),max_age_bonus_percentage:e.Opt(e.Nat64),initial_token_distribution:e.Opt(ce),reward_rate_transition_duration_seconds:e.Opt(e.Nat64),token_logo:e.Opt(e.Text),token_name:e.Opt(e.Text),max_participant_icp_e8s:e.Opt(e.Nat64),min_direct_participation_icp_e8s:e.Opt(e.Nat64),proposal_reject_cost_e8s:e.Opt(e.Nat64),restricted_countries:e.Opt(H),min_icp_e8s:e.Opt(e.Nat64),max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),_e=e.Record({sns_init_payload:e.Opt(k)}),j=e.Record({restored_dapp_canisters:e.Vec(d),nns_controlled_dapp_canisters:e.Vec(d),sns_controlled_dapp_canisters:e.Vec(d)}),de=e.Record({root:e.Opt(e.Principal),swap:e.Opt(e.Principal),ledger:e.Opt(e.Principal),index:e.Opt(e.Principal),governance:e.Opt(e.Principal)}),C=e.Record({dapp_canisters_transfer_result:e.Opt(j),subnet_id:e.Opt(e.Principal),error:e.Opt(r),canisters:e.Opt(de)}),V=e.Record({allowed_principals:e.Vec(e.Principal)}),pe=e.Record({proposal_id:e.Nat64}),Y=e.Record({root_canister_id:e.Opt(e.Principal),governance_canister_id:e.Opt(e.Principal),index_canister_id:e.Opt(e.Principal),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal)}),ue=e.Variant({Error:r,DeployedSns:Y}),le=e.Record({get_deployed_sns_by_proposal_id_result:e.Opt(ue)}),S=e.Record({archive_wasm_hash:e.Vec(e.Nat8),root_wasm_hash:e.Vec(e.Nat8),swap_wasm_hash:e.Vec(e.Nat8),ledger_wasm_hash:e.Vec(e.Nat8),governance_wasm_hash:e.Vec(e.Nat8),index_wasm_hash:e.Vec(e.Nat8)}),v=e.Record({governance_canister_id:e.Opt(e.Principal),current_version:e.Opt(S)}),f=e.Record({next_version:e.Opt(S)}),m=e.Record({hash:e.Vec(e.Nat8)}),me=e.Record({proposal_id:e.Opt(e.Nat64)}),Ne=e.Record({sns_subnet_ids:e.Vec(e.Principal)}),z=e.Record({hash:e.Vec(e.Nat8)}),Oe=e.Record({wasm:e.Opt(n)}),fe=e.Record({hash:e.Opt(e.Vec(e.Nat8))}),Re=e.Record({contents:e.Opt(e.Vec(e.Nat8)),name:e.Opt(e.Text),visibility:e.Opt(e.Text)}),ge=e.Record({sections:e.Vec(Re)}),ye=e.Variant({Ok:ge,Error:r}),ve=e.Record({result:e.Opt(ye)}),X=e.Record({next_version:e.Opt(S),current_version:e.Opt(S)}),we=e.Record({upgrade_path:e.Vec(X),sns_governance_canister_id:e.Opt(e.Principal)}),be=e.Record({error:e.Opt(r)}),a=e.Record({instances:e.Vec(Y)}),Se=e.Record({limit:e.Nat32,starting_at:e.Opt(S),sns_governance_canister_id:e.Opt(e.Principal)}),he=e.Record({archive_wasm_hash:e.Text,root_wasm_hash:e.Text,swap_wasm_hash:e.Text,ledger_wasm_hash:e.Text,governance_wasm_hash:e.Text,index_wasm_hash:e.Text}),y=e.Record({pretty_version:e.Opt(he),version:e.Opt(S)}),xe=e.Record({steps:e.Vec(y)}),ke=e.Record({added_principals:e.Vec(e.Principal),removed_principals:e.Vec(e.Principal)}),Pe=e.Variant({Error:r,AllowedPrincipals:V}),M=e.Record({update_allowed_principals_result:e.Opt(Pe)}),Te=e.Record({sns_subnet_ids_to_add:e.Vec(e.Principal),sns_subnet_ids_to_remove:e.Vec(e.Principal)}),Ve=e.Record({error:e.Opt(r)});return e.Service({add_wasm:e.Func([o],[c],[]),deploy_new_sns:e.Func([_e],[C],[]),get_allowed_principals:e.Func([e.Record({})],[V],[]),get_deployed_sns_by_proposal_id:e.Func([pe],[le],[]),get_latest_sns_version_pretty:e.Func([e.Null],[e.Vec(e.Tuple(e.Text,e.Text))],[]),get_next_sns_version:e.Func([v],[f],[]),get_proposal_id_that_added_wasm:e.Func([m],[me],[]),get_sns_subnet_ids:e.Func([e.Record({})],[Ne],[]),get_wasm:e.Func([z],[Oe],[]),get_wasm_metadata:e.Func([fe],[ve],[]),insert_upgrade_path_entries:e.Func([we],[be],[]),list_deployed_snses:e.Func([e.Record({})],[a],[]),list_upgrade_steps:e.Func([Se],[xe],[]),update_allowed_principals:e.Func([ke],[M],[]),update_sns_subnet_list:e.Func([Te],[Ve],[])})};var cr=({IDL:e})=>{let t=e.Record({allowed_principals:e.Vec(e.Principal),access_controls_enabled:e.Bool,sns_subnet_ids:e.Vec(e.Principal)}),n=e.Record({wasm:e.Vec(e.Nat8),proposal_id:e.Opt(e.Nat64),canister_type:e.Int32}),o=e.Record({hash:e.Vec(e.Nat8),wasm:e.Opt(n)}),r=e.Record({message:e.Text}),s=e.Variant({Error:r,Hash:e.Vec(e.Nat8)}),c=e.Record({result:e.Opt(s)}),_=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),d=e.Record({id:e.Opt(e.Principal)}),N=e.Record({canisters:e.Vec(d)}),g=e.Record({slope_numerator:e.Opt(e.Nat64),intercept_icp_e8s:e.Opt(e.Nat64),from_direct_participation_icp_e8s:e.Opt(e.Nat64),slope_denominator:e.Opt(e.Nat64),to_direct_participation_icp_e8s:e.Opt(e.Nat64)}),u=e.Record({serialized_representation:e.Opt(e.Text)}),w=e.Record({coefficient_intervals:e.Vec(g),max_neurons_fund_participation_icp_e8s:e.Opt(e.Nat64),min_direct_participation_threshold_icp_e8s:e.Opt(e.Nat64),ideal_matched_participation_function:e.Opt(u)}),x=e.Record({principals:e.Vec(e.Principal)}),U=e.Record({has_created_neuron_recipes:e.Opt(e.Bool),hotkeys:e.Opt(x),nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),G=e.Record({controller:e.Opt(e.Principal),hotkey_principal:e.Text,cf_neurons:e.Vec(U)}),ie=e.Record({participants:e.Vec(G)}),ae=e.Record({total_e8s:e.Nat64}),Q=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Nat64,memo:e.Nat64,stake_e8s:e.Nat64,vesting_period_seconds:e.Opt(e.Nat64)}),p=e.Record({developer_neurons:e.Vec(Q)}),se=e.Record({airdrop_neurons:e.Vec(Q)}),K=e.Record({total_e8s:e.Nat64,initial_swap_amount_e8s:e.Nat64}),W=e.Record({treasury_distribution:e.Opt(ae),developer_distribution:e.Opt(p),airdrop_distribution:e.Opt(se),swap_distribution:e.Opt(K)}),ce=e.Variant({FractionalDeveloperVotingPower:W}),H=e.Record({iso_codes:e.Vec(e.Text)}),k=e.Record({url:e.Opt(e.Text),max_dissolve_delay_seconds:e.Opt(e.Nat64),max_dissolve_delay_bonus_percentage:e.Opt(e.Nat64),nns_proposal_id:e.Opt(e.Nat64),neurons_fund_participation:e.Opt(e.Bool),min_participant_icp_e8s:e.Opt(e.Nat64),neuron_basket_construction_parameters:e.Opt(_),fallback_controller_principal_ids:e.Vec(e.Text),token_symbol:e.Opt(e.Text),final_reward_rate_basis_points:e.Opt(e.Nat64),max_icp_e8s:e.Opt(e.Nat64),neuron_minimum_stake_e8s:e.Opt(e.Nat64),confirmation_text:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),swap_start_timestamp_seconds:e.Opt(e.Nat64),swap_due_timestamp_seconds:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),description:e.Opt(e.Text),max_neuron_age_seconds_for_age_bonus:e.Opt(e.Nat64),min_participants:e.Opt(e.Nat64),initial_reward_rate_basis_points:e.Opt(e.Nat64),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),dapp_canisters:e.Opt(N),neurons_fund_participation_constraints:e.Opt(w),neurons_fund_participants:e.Opt(ie),max_age_bonus_percentage:e.Opt(e.Nat64),initial_token_distribution:e.Opt(ce),reward_rate_transition_duration_seconds:e.Opt(e.Nat64),token_logo:e.Opt(e.Text),token_name:e.Opt(e.Text),max_participant_icp_e8s:e.Opt(e.Nat64),min_direct_participation_icp_e8s:e.Opt(e.Nat64),proposal_reject_cost_e8s:e.Opt(e.Nat64),restricted_countries:e.Opt(H),min_icp_e8s:e.Opt(e.Nat64),max_direct_participation_icp_e8s:e.Opt(e.Nat64)}),_e=e.Record({sns_init_payload:e.Opt(k)}),j=e.Record({restored_dapp_canisters:e.Vec(d),nns_controlled_dapp_canisters:e.Vec(d),sns_controlled_dapp_canisters:e.Vec(d)}),de=e.Record({root:e.Opt(e.Principal),swap:e.Opt(e.Principal),ledger:e.Opt(e.Principal),index:e.Opt(e.Principal),governance:e.Opt(e.Principal)}),C=e.Record({dapp_canisters_transfer_result:e.Opt(j),subnet_id:e.Opt(e.Principal),error:e.Opt(r),canisters:e.Opt(de)}),V=e.Record({allowed_principals:e.Vec(e.Principal)}),pe=e.Record({proposal_id:e.Nat64}),Y=e.Record({root_canister_id:e.Opt(e.Principal),governance_canister_id:e.Opt(e.Principal),index_canister_id:e.Opt(e.Principal),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal)}),ue=e.Variant({Error:r,DeployedSns:Y}),le=e.Record({get_deployed_sns_by_proposal_id_result:e.Opt(ue)}),S=e.Record({archive_wasm_hash:e.Vec(e.Nat8),root_wasm_hash:e.Vec(e.Nat8),swap_wasm_hash:e.Vec(e.Nat8),ledger_wasm_hash:e.Vec(e.Nat8),governance_wasm_hash:e.Vec(e.Nat8),index_wasm_hash:e.Vec(e.Nat8)}),v=e.Record({governance_canister_id:e.Opt(e.Principal),current_version:e.Opt(S)}),f=e.Record({next_version:e.Opt(S)}),m=e.Record({hash:e.Vec(e.Nat8)}),me=e.Record({proposal_id:e.Opt(e.Nat64)}),Ne=e.Record({sns_subnet_ids:e.Vec(e.Principal)}),z=e.Record({hash:e.Vec(e.Nat8)}),Oe=e.Record({wasm:e.Opt(n)}),fe=e.Record({hash:e.Opt(e.Vec(e.Nat8))}),Re=e.Record({contents:e.Opt(e.Vec(e.Nat8)),name:e.Opt(e.Text),visibility:e.Opt(e.Text)}),ge=e.Record({sections:e.Vec(Re)}),ye=e.Variant({Ok:ge,Error:r}),ve=e.Record({result:e.Opt(ye)}),X=e.Record({next_version:e.Opt(S),current_version:e.Opt(S)}),we=e.Record({upgrade_path:e.Vec(X),sns_governance_canister_id:e.Opt(e.Principal)}),be=e.Record({error:e.Opt(r)}),a=e.Record({instances:e.Vec(Y)}),Se=e.Record({limit:e.Nat32,starting_at:e.Opt(S),sns_governance_canister_id:e.Opt(e.Principal)}),he=e.Record({archive_wasm_hash:e.Text,root_wasm_hash:e.Text,swap_wasm_hash:e.Text,ledger_wasm_hash:e.Text,governance_wasm_hash:e.Text,index_wasm_hash:e.Text}),y=e.Record({pretty_version:e.Opt(he),version:e.Opt(S)}),xe=e.Record({steps:e.Vec(y)}),ke=e.Record({added_principals:e.Vec(e.Principal),removed_principals:e.Vec(e.Principal)}),Pe=e.Variant({Error:r,AllowedPrincipals:V}),M=e.Record({update_allowed_principals_result:e.Opt(Pe)}),Te=e.Record({sns_subnet_ids_to_add:e.Vec(e.Principal),sns_subnet_ids_to_remove:e.Vec(e.Principal)}),Ve=e.Record({error:e.Opt(r)});return e.Service({add_wasm:e.Func([o],[c],[]),deploy_new_sns:e.Func([_e],[C],[]),get_allowed_principals:e.Func([e.Record({})],[V],["query"]),get_deployed_sns_by_proposal_id:e.Func([pe],[le],["query"]),get_latest_sns_version_pretty:e.Func([e.Null],[e.Vec(e.Tuple(e.Text,e.Text))],["query"]),get_next_sns_version:e.Func([v],[f],["query"]),get_proposal_id_that_added_wasm:e.Func([m],[me],["query"]),get_sns_subnet_ids:e.Func([e.Record({})],[Ne],["query"]),get_wasm:e.Func([z],[Oe],["query"]),get_wasm_metadata:e.Func([fe],[ve],["query"]),insert_upgrade_path_entries:e.Func([we],[be],[]),list_deployed_snses:e.Func([e.Record({})],[a],["query"]),list_upgrade_steps:e.Func([Se],[xe],["query"]),update_allowed_principals:e.Func([ke],[M],[]),update_sns_subnet_list:e.Func([Te],[Ve],[])})};var An=class e{constructor(t,n){this.service=t;this.certifiedService=n;this.listSnses=async({certified:t=!0})=>{let n=t?this.certifiedService:this.service,{instances:o}=await n.list_deployed_snses({});return o}}static create(t={}){let{service:n,certifiedService:o}=(0,_r.createServices)({options:{...t,canisterId:t.canisterId??co},idlFactory:cr,certifiedIdlFactory:sr});return new e(n,o)}};var dr=({recentBallots:e,proposalId:t})=>{if(!t)return;let n=e.find(({proposalId:o})=>o===t);return n==null?void 0:n.vote},pr=({neurons:e,proposal:t})=>{let{ballots:n,proposalTimestampSeconds:o}=t;return e.filter(({createdTimestampSeconds:r,neuronId:s})=>{let c=r>o,_=n.find(({neuronId:d})=>d===s)===void 0;return c||_})},gi=({neurons:e,proposal:t})=>{let{id:n}=t;return e.filter(({recentBallots:o,neuronId:r})=>dr({recentBallots:o,proposalId:n})===void 0&&pr({neurons:e,proposal:t}).find(({neuronId:s})=>s===r)===void 0)},yi=({neurons:e,proposal:{id:t}})=>e.filter(({recentBallots:n})=>dr({recentBallots:n,proposalId:t})!==void 0);0&&(module.exports={CanisterAction,CouldNotClaimNeuronError,GenesisTokenCanister,GovernanceCanister,GovernanceError,GovernanceTestCanister,InstallMode,InsufficientAmountError,LogVisibility,NeuronState,NeuronType,NeuronVisibility,NnsFunction,ProposalRewardStatus,ProposalStatus,SnsWasmCanister,StakeNeuronError,Topic,UnrecognizedTypeError,UnsupportedValueError,Vote,ineligibleNeurons,votableNeurons,votedNeurons});
2
2
  /*! Bundled license information:
3
3
 
4
4
  @noble/hashes/esm/utils.js: