@dfinity/sns 0.0.1

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 (74) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +5 -0
  3. package/dist/candid/ledger.certified.idl.d.ts +2 -0
  4. package/dist/candid/ledger.certified.idl.js +97 -0
  5. package/dist/candid/ledger.d.ts +106 -0
  6. package/dist/candid/ledger.did +250 -0
  7. package/dist/candid/ledger.idl.d.ts +2 -0
  8. package/dist/candid/ledger.idl.js +109 -0
  9. package/dist/candid/sns_governance.certified.idl.d.ts +2 -0
  10. package/dist/candid/sns_governance.certified.idl.js +596 -0
  11. package/dist/candid/sns_governance.d.ts +366 -0
  12. package/dist/candid/sns_governance.did +303 -0
  13. package/dist/candid/sns_governance.idl.d.ts +2 -0
  14. package/dist/candid/sns_governance.idl.js +600 -0
  15. package/dist/candid/sns_root.certified.idl.d.ts +2 -0
  16. package/dist/candid/sns_root.certified.idl.js +34 -0
  17. package/dist/candid/sns_root.d.ts +28 -0
  18. package/dist/candid/sns_root.did +26 -0
  19. package/dist/candid/sns_root.idl.d.ts +2 -0
  20. package/dist/candid/sns_root.idl.js +34 -0
  21. package/dist/candid/sns_swap.certified.idl.d.ts +2 -0
  22. package/dist/candid/sns_swap.certified.idl.js +110 -0
  23. package/dist/candid/sns_swap.d.ts +81 -0
  24. package/dist/candid/sns_swap.did +61 -0
  25. package/dist/candid/sns_swap.idl.d.ts +2 -0
  26. package/dist/candid/sns_swap.idl.js +110 -0
  27. package/dist/cjs/index.cjs.js +853 -0
  28. package/dist/cjs/index.cjs.js.map +7 -0
  29. package/dist/esm/chunk-7F6PCBCJ.js +2 -0
  30. package/dist/esm/chunk-7F6PCBCJ.js.map +7 -0
  31. package/dist/esm/chunk-A576P2ZR.js +2 -0
  32. package/dist/esm/chunk-A576P2ZR.js.map +7 -0
  33. package/dist/esm/chunk-LXL5LYD3.js +2 -0
  34. package/dist/esm/chunk-LXL5LYD3.js.map +7 -0
  35. package/dist/esm/chunk-RB6XGLR7.js +2 -0
  36. package/dist/esm/chunk-RB6XGLR7.js.map +7 -0
  37. package/dist/esm/chunk-VMVMYL6O.js +840 -0
  38. package/dist/esm/chunk-VMVMYL6O.js.map +7 -0
  39. package/dist/esm/chunk-WPRZTZWQ.js +2 -0
  40. package/dist/esm/chunk-WPRZTZWQ.js.map +7 -0
  41. package/dist/esm/chunk-YKP66JDM.js +2 -0
  42. package/dist/esm/chunk-YKP66JDM.js.map +7 -0
  43. package/dist/esm/chunk-YL4WAPXH.js +2 -0
  44. package/dist/esm/chunk-YL4WAPXH.js.map +7 -0
  45. package/dist/esm/governance.canister.js +2 -0
  46. package/dist/esm/governance.canister.js.map +7 -0
  47. package/dist/esm/index.js +2 -0
  48. package/dist/esm/index.js.map +7 -0
  49. package/dist/esm/ledger.canister.js +2 -0
  50. package/dist/esm/ledger.canister.js.map +7 -0
  51. package/dist/esm/root.canister.js +2 -0
  52. package/dist/esm/root.canister.js.map +7 -0
  53. package/dist/esm/sns.js +2 -0
  54. package/dist/esm/sns.js.map +7 -0
  55. package/dist/esm/sns.wrapper.js +2 -0
  56. package/dist/esm/sns.wrapper.js.map +7 -0
  57. package/dist/index.cjs.js +1 -0
  58. package/dist/index.js +1 -0
  59. package/dist/types/constants/governance.constants.d.ts +6 -0
  60. package/dist/types/governance.canister.d.ts +13 -0
  61. package/dist/types/index.d.ts +10 -0
  62. package/dist/types/ledger.canister.d.ts +6 -0
  63. package/dist/types/root.canister.d.ts +22 -0
  64. package/dist/types/services/canister.d.ts +10 -0
  65. package/dist/types/sns.d.ts +21 -0
  66. package/dist/types/sns.wrapper.d.ts +43 -0
  67. package/dist/types/types/canister.options.d.ts +8 -0
  68. package/dist/types/types/governance.params.d.ts +14 -0
  69. package/dist/types/types/query.params.d.ts +7 -0
  70. package/dist/types/utils/actor.utils.d.ts +14 -0
  71. package/dist/types/utils/agent.utils.d.ts +5 -0
  72. package/dist/types/utils/asserts.utils.d.ts +3 -0
  73. package/dist/types/utils/did.utils.d.ts +1 -0
  74. package/package.json +40 -0
@@ -0,0 +1,2 @@
1
+ var r=class{root;governance;ledger;certified;constructor({root:e,governance:t,ledger:i,certified:n}){this.root=e,this.governance=t,this.ledger=i,this.certified=n}get canisterIds(){return{rootCanisterId:this.root.canisterId,ledgerCanisterId:this.ledger.canisterId,governanceCanisterId:this.governance.canisterId}}listNeurons=e=>this.governance.listNeurons({...e,certified:this.certified});metadata=e=>this.governance.metadata({...e,certified:this.certified})};export{r as a};
2
+ //# sourceMappingURL=chunk-WPRZTZWQ.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/sns.wrapper.ts"],
4
+ "sourcesContent": ["import type { Principal } from \"@dfinity/principal\";\nimport type { Neuron } from \"../candid/sns_governance\";\nimport type { GovernanceCanister } from \"./governance.canister\";\nimport type { LedgerCanister } from \"./ledger.canister\";\nimport type { RootCanister } from \"./root.canister\";\nimport type { ListNeuronsParams } from \"./types/governance.params\";\nimport type { QueryParams } from \"./types/query.params\";\n\ninterface SnsWrapperOptions {\n /** The wrapper for the \"root\" canister of the particular Sns */\n root: RootCanister;\n /** The wrapper for the \"governance\" canister of the particular Sns */\n governance: GovernanceCanister;\n /** The wrapper for the \"ledger\" canister of the particular Sns */\n ledger: LedgerCanister;\n // TODO: add swap canister\n\n /** The wrapper has been instantiated and should perform query or update calls */\n certified: boolean;\n}\n\n/**\n * Sns wrapper - notably used by NNS-dapp - ease the access to a particular Sns.\n * It knows all the Sns' canisters, wrap and enhance their available features.\n * A wrapper either performs query or update calls.\n */\nexport class SnsWrapper {\n private readonly root: RootCanister;\n private readonly governance: GovernanceCanister;\n private readonly ledger: LedgerCanister;\n private readonly certified: boolean;\n\n /**\n * Constructor to instantiate a Sns\n */\n constructor({ root, governance, ledger, certified }: SnsWrapperOptions) {\n this.root = root;\n this.governance = governance;\n this.ledger = ledger;\n this.certified = certified;\n }\n\n /**\n * Binds the list of canister ids of the Sns.\n */\n get canisterIds(): {\n rootCanisterId: Principal;\n ledgerCanisterId: Principal;\n governanceCanisterId: Principal;\n } {\n return {\n rootCanisterId: this.root.canisterId,\n ledgerCanisterId: this.ledger.canisterId,\n governanceCanisterId: this.governance.canisterId,\n };\n }\n\n listNeurons = (\n params: Omit<ListNeuronsParams, \"certified\">\n ): Promise<Neuron[]> =>\n this.governance.listNeurons({\n ...params,\n certified: this.certified,\n });\n\n metadata = (params: Omit<QueryParams, \"certified\">): Promise<string> =>\n this.governance.metadata({\n ...params,\n certified: this.certified,\n });\n}\n"],
5
+ "mappings": "AA0BO,GAAM,GAAN,KAAiB,CACtB,AAAiB,KACjB,AAAiB,WACjB,AAAiB,OACjB,AAAiB,UAKjB,YAAY,CAAE,OAAM,aAAY,SAAQ,aAAgC,CACtE,KAAK,KAAO,EACZ,KAAK,WAAa,EAClB,KAAK,OAAS,EACd,KAAK,UAAY,CACnB,CAKA,GAAI,cAIF,CACA,MAAO,CACL,eAAgB,KAAK,KAAK,WAC1B,iBAAkB,KAAK,OAAO,WAC9B,qBAAsB,KAAK,WAAW,UACxC,CACF,CAEA,YAAc,AACZ,GAEA,KAAK,WAAW,YAAY,CAC1B,GAAG,EACH,UAAW,KAAK,SAClB,CAAC,EAEH,SAAW,AAAC,GACV,KAAK,WAAW,SAAS,CACvB,GAAG,EACH,UAAW,KAAK,SAClB,CAAC,CACL",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ var a=({IDL:t})=>{let e=t.Variant({stopped:t.Null,stopping:t.Null,running:t.Null}),r=t.Record({controller:t.Principal,freezing_threshold:t.Nat,controllers:t.Vec(t.Principal),memory_allocation:t.Nat,compute_allocation:t.Nat}),n=t.Record({controller:t.Principal,status:e,freezing_threshold:t.Nat,balance:t.Vec(t.Tuple(t.Vec(t.Nat8),t.Nat)),memory_size:t.Nat,cycles:t.Nat,settings:r,idle_cycles_burned_per_day:t.Nat,module_hash:t.Opt(t.Vec(t.Nat8))});return t.Service({get_sns_canisters_summary:t.Func([t.Vec(t.Principal)],[t.Vec(t.Tuple(t.Text,t.Principal,n))],[])})};var l=({IDL:t})=>{let e=t.Variant({stopped:t.Null,stopping:t.Null,running:t.Null}),r=t.Record({controller:t.Principal,freezing_threshold:t.Nat,controllers:t.Vec(t.Principal),memory_allocation:t.Nat,compute_allocation:t.Nat}),n=t.Record({controller:t.Principal,status:e,freezing_threshold:t.Nat,balance:t.Vec(t.Tuple(t.Vec(t.Nat8),t.Nat)),memory_size:t.Nat,cycles:t.Nat,settings:r,idle_cycles_burned_per_day:t.Nat,module_hash:t.Opt(t.Vec(t.Nat8))});return t.Service({get_sns_canisters_summary:t.Func([t.Vec(t.Principal)],[t.Vec(t.Tuple(t.Text,t.Principal,n))],[])})};export{a,l as b};
2
+ //# sourceMappingURL=chunk-YKP66JDM.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../candid/sns_root.certified.idl.js", "../../candid/sns_root.idl.js"],
4
+ "sourcesContent": ["/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_root.did */\nexport const idlFactory = ({ IDL }) => {\n const CanisterStatusType_1 = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const DefiniteCanisterSettingsArgs = IDL.Record({\n 'controller' : IDL.Principal,\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const CanisterStatusResultV2 = IDL.Record({\n 'controller' : IDL.Principal,\n 'status' : CanisterStatusType_1,\n 'freezing_threshold' : IDL.Nat,\n 'balance' : IDL.Vec(IDL.Tuple(IDL.Vec(IDL.Nat8), IDL.Nat)),\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettingsArgs,\n 'idle_cycles_burned_per_day' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n return IDL.Service({\n 'get_sns_canisters_summary' : IDL.Func(\n [IDL.Vec(IDL.Principal)],\n [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Principal, CanisterStatusResultV2))],\n [],\n ),\n });\n};\nexport const init = ({ IDL }) => { return []; };\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_root.did */\nexport const idlFactory = ({ IDL }) => {\n const CanisterStatusType_1 = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const DefiniteCanisterSettingsArgs = IDL.Record({\n 'controller' : IDL.Principal,\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const CanisterStatusResultV2 = IDL.Record({\n 'controller' : IDL.Principal,\n 'status' : CanisterStatusType_1,\n 'freezing_threshold' : IDL.Nat,\n 'balance' : IDL.Vec(IDL.Tuple(IDL.Vec(IDL.Nat8), IDL.Nat)),\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettingsArgs,\n 'idle_cycles_burned_per_day' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n return IDL.Service({\n 'get_sns_canisters_summary' : IDL.Func(\n [IDL.Vec(IDL.Principal)],\n [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Principal, CanisterStatusResultV2))],\n [],\n ),\n });\n};\nexport const init = ({ IDL }) => { return []; };\n"],
5
+ "mappings": "AACO,GAAM,GAAa,CAAC,CAAE,SAAU,CACrC,GAAM,GAAuB,EAAI,QAAQ,CACvC,QAAY,EAAI,KAChB,SAAa,EAAI,KACjB,QAAY,EAAI,IAClB,CAAC,EACK,EAA+B,EAAI,OAAO,CAC9C,WAAe,EAAI,UACnB,mBAAuB,EAAI,IAC3B,YAAgB,EAAI,IAAI,EAAI,SAAS,EACrC,kBAAsB,EAAI,IAC1B,mBAAuB,EAAI,GAC7B,CAAC,EACK,EAAyB,EAAI,OAAO,CACxC,WAAe,EAAI,UACnB,OAAW,EACX,mBAAuB,EAAI,IAC3B,QAAY,EAAI,IAAI,EAAI,MAAM,EAAI,IAAI,EAAI,IAAI,EAAG,EAAI,GAAG,CAAC,EACzD,YAAgB,EAAI,IACpB,OAAW,EAAI,IACf,SAAa,EACb,2BAA+B,EAAI,IACnC,YAAgB,EAAI,IAAI,EAAI,IAAI,EAAI,IAAI,CAAC,CAC3C,CAAC,EACD,MAAO,GAAI,QAAQ,CACjB,0BAA8B,EAAI,KAC9B,CAAC,EAAI,IAAI,EAAI,SAAS,CAAC,EACvB,CAAC,EAAI,IAAI,EAAI,MAAM,EAAI,KAAM,EAAI,UAAW,CAAsB,CAAC,CAAC,EACpE,CAAC,CACH,CACJ,CAAC,CACH,EC/BO,GAAM,GAAa,CAAC,CAAE,SAAU,CACrC,GAAM,GAAuB,EAAI,QAAQ,CACvC,QAAY,EAAI,KAChB,SAAa,EAAI,KACjB,QAAY,EAAI,IAClB,CAAC,EACK,EAA+B,EAAI,OAAO,CAC9C,WAAe,EAAI,UACnB,mBAAuB,EAAI,IAC3B,YAAgB,EAAI,IAAI,EAAI,SAAS,EACrC,kBAAsB,EAAI,IAC1B,mBAAuB,EAAI,GAC7B,CAAC,EACK,EAAyB,EAAI,OAAO,CACxC,WAAe,EAAI,UACnB,OAAW,EACX,mBAAuB,EAAI,IAC3B,QAAY,EAAI,IAAI,EAAI,MAAM,EAAI,IAAI,EAAI,IAAI,EAAG,EAAI,GAAG,CAAC,EACzD,YAAgB,EAAI,IACpB,OAAW,EAAI,IACf,SAAa,EACb,2BAA+B,EAAI,IACnC,YAAgB,EAAI,IAAI,EAAI,IAAI,EAAI,IAAI,CAAC,CAC3C,CAAC,EACD,MAAO,GAAI,QAAQ,CACjB,0BAA8B,EAAI,KAC9B,CAAC,EAAI,IAAI,EAAI,SAAS,CAAC,EACvB,CAAC,EAAI,IAAI,EAAI,MAAM,EAAI,KAAM,EAAI,UAAW,CAAsB,CAAC,CAAC,EACpE,CAAC,CACH,CACJ,CAAC,CACH",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as Re,b as ve}from"./chunk-VMVMYL6O.js";var Oe=({IDL:e})=>{let n=e.Record({validator_canister_id:e.Opt(e.Principal),target_canister_id:e.Opt(e.Principal),validator_method_name:e.Opt(e.Text),target_method_name:e.Opt(e.Text)}),i=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:n}),o=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(i)}),c=e.Record({not_dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),garbage_collectable_neurons_count:e.Nat64,neurons_with_invalid_stake_count:e.Nat64,not_dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),neurons_with_less_than_6_months_dissolve_delay_count:e.Nat64,dissolved_neurons_count:e.Nat64,total_staked_e8s:e.Nat64,total_supply_governance_tokens:e.Nat64,not_dissolving_neurons_count:e.Nat64,dissolved_neurons_e8s:e.Nat64,neurons_with_less_than_6_months_dissolve_delay_e8s:e.Nat64,dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),dissolving_neurons_count:e.Nat64,dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),timestamp_seconds:e.Nat64}),t=e.Record({id:e.Vec(e.Nat8)}),u=e.Record({followees:e.Vec(t)}),x=e.Record({followees:e.Vec(e.Tuple(e.Nat64,u))}),r=e.Record({permissions:e.Vec(e.Int32)}),_=e.Record({default_followees:e.Opt(x),max_dissolve_delay_seconds:e.Opt(e.Nat64),max_followees_per_function:e.Opt(e.Nat64),neuron_claimer_permissions:e.Opt(r),neuron_minimum_stake_e8s:e.Opt(e.Nat64),initial_voting_period:e.Opt(e.Nat64),max_neuron_age_for_age_bonus:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),reject_cost_e8s:e.Opt(e.Nat64),max_proposals_to_keep_per_action:e.Opt(e.Nat32),max_number_of_neurons:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),max_number_of_proposals_with_ballots:e.Opt(e.Nat64),reward_distribution_period_seconds:e.Opt(e.Nat64),neuron_grantable_permissions:e.Opt(r),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),s=e.Record({id:e.Nat64}),h=e.Record({actual_timestamp_seconds:e.Nat64,periods_since_genesis:e.Nat64,distributed_e8s_equivalent:e.Nat64,settled_proposals:e.Vec(s)}),a=e.Record({error_message:e.Text,error_type:e.Int32}),F=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),w=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),M=e.Record({new_canister_wasm:e.Vec(e.Nat8),canister_id:e.Opt(e.Principal)}),C=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),k=e.Record({motion_text:e.Text}),G=e.Variant({ManageNervousSystemParameters:_,AddGenericNervousSystemFunction:o,RemoveGenericNervousSystemFunction:e.Nat64,UpgradeSnsControlledCanister:M,Unspecified:e.Record({}),ExecuteGenericNervousSystemFunction:C,Motion:k}),d=e.Record({url:e.Text,title:e.Text,action:e.Opt(G),summary:e.Text}),A=e.Record({current_deadline_timestamp_seconds:e.Nat64}),p=e.Record({id:e.Opt(s),payload_text_rendering:e.Opt(e.Text),action:e.Nat64,failure_reason:e.Opt(a),ballots:e.Vec(e.Tuple(e.Text,F)),reward_event_round:e.Nat64,failed_timestamp_seconds:e.Nat64,proposal_creation_timestamp_seconds:e.Nat64,reject_cost_e8s:e.Nat64,latest_tally:e.Opt(w),decided_timestamp_seconds:e.Nat64,proposal:e.Opt(d),proposer:e.Opt(t),wait_for_quiet_state:e.Opt(A),executed_timestamp_seconds:e.Nat64}),m=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),N=e.Record({function_id:e.Nat64,followees:e.Vec(t)}),R=e.Record({hash:e.Vec(e.Nat8)}),v=e.Record({to_account:e.Opt(R),percentage_to_disburse:e.Nat32}),E=e.Record({additional_dissolve_delay_seconds:e.Nat32}),q=e.Record({dissolve_timestamp_seconds:e.Nat64}),U=e.Variant({StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:E,SetDissolveTimestamp:q}),O=e.Record({operation:e.Opt(U)}),g=e.Record({vote:e.Int32,proposal:e.Opt(s)}),j=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),B=e.Variant({MemoAndController:j,NeuronId:e.Record({})}),y=e.Record({by:e.Opt(B)}),f=e.Record({permissions_to_remove:e.Opt(r),principal_id:e.Opt(e.Principal)}),V=e.Record({permissions_to_add:e.Opt(r),principal_id:e.Opt(e.Principal)}),T=e.Record({percentage_to_merge:e.Nat32}),W=e.Record({e8s:e.Nat64}),P=e.Record({to_account:e.Opt(R),amount:e.Opt(W)}),z=e.Variant({Split:m,Follow:N,DisburseMaturity:v,Configure:O,RegisterVote:g,MakeProposal:d,ClaimOrRefreshNeuron:y,RemoveNeuronPermissions:f,AddNeuronPermissions:V,MergeMaturity:T,Disburse:P}),Q=e.Record({command:e.Opt(z),timestamp:e.Nat64}),X=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),H=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),l=e.Record({id:e.Opt(t),permissions:e.Vec(X),maturity_e8s_equivalent:e.Nat64,cached_neuron_stake_e8s:e.Nat64,created_timestamp_seconds:e.Nat64,aging_since_timestamp_seconds:e.Nat64,dissolve_state:e.Opt(H),followees:e.Vec(e.Tuple(e.Nat64,u)),neuron_fees_e8s:e.Nat64}),ye=e.Record({root_canister_id:e.Opt(e.Principal),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,o)),metrics:e.Opt(c),mode:e.Int32,parameters:e.Opt(_),latest_reward_event:e.Opt(h),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,p)),in_flight_commands:e.Vec(e.Tuple(e.Text,Q)),neurons:e.Vec(e.Tuple(e.Text,l)),genesis_timestamp_seconds:e.Nat64}),J=e.Record({neuron_id:e.Opt(t)}),K=e.Variant({Error:a,Neuron:l}),Y=e.Record({result:e.Opt(K)}),S=e.Record({proposal_id:e.Opt(s)}),Z=e.Variant({Error:a,Proposal:p}),$=e.Record({result:e.Opt(Z)}),D=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),I=e.Record({controller:e.Principal,freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),memory_allocation:e.Nat,compute_allocation:e.Nat}),L=e.Record({controller:e.Principal,status:D,freezing_threshold:e.Nat,balance:e.Vec(e.Tuple(e.Vec(e.Nat8),e.Nat)),memory_size:e.Nat,cycles:e.Nat,settings:I,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),ee=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(o)}),te=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(t)}),oe=e.Record({neurons:e.Vec(l)}),se=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(s),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_status:e.Vec(e.Int32)}),ne=e.Record({proposals:e.Vec(p)}),re=e.Variant({Split:m,Follow:N,DisburseMaturity:v,ClaimOrRefresh:y,Configure:O,RegisterVote:g,MakeProposal:d,RemoveNeuronPermissions:f,AddNeuronPermissions:V,MergeMaturity:T,Disburse:P}),ae=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(re)}),ie=e.Record({created_neuron_id:e.Opt(t)}),ce=e.Record({transfer_block_height:e.Nat64,amount_disbursed_e8s:e.Nat64}),_e=e.Record({refreshed_neuron_id:e.Opt(t)}),de=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),pe=e.Record({transfer_block_height:e.Nat64}),le=e.Variant({Error:a,Split:ie,Follow:e.Record({}),DisburseMaturity:ce,ClaimOrRefresh:_e,Configure:e.Record({}),RegisterVote:e.Record({}),MakeProposal:S,RemoveNeuronPermission:e.Record({}),MergeMaturity:de,Disburse:pe,AddNeuronPermission:e.Record({})}),ue=e.Record({command:e.Opt(le)}),me=e.Record({mode:e.Int32});return e.Service({get_build_metadata:e.Func([],[e.Text],[]),get_nervous_system_parameters:e.Func([e.Null],[_],[]),get_neuron:e.Func([J],[Y],[]),get_proposal:e.Func([S],[$],[]),get_root_canister_status:e.Func([e.Null],[L],[]),list_nervous_system_functions:e.Func([],[ee],[]),list_neurons:e.Func([te],[oe],[]),list_proposals:e.Func([se],[ne],[]),manage_neuron:e.Func([ae],[ue],[]),set_mode:e.Func([me],[e.Record({})],[])})};var ge=({IDL:e})=>{let n=e.Record({validator_canister_id:e.Opt(e.Principal),target_canister_id:e.Opt(e.Principal),validator_method_name:e.Opt(e.Text),target_method_name:e.Opt(e.Text)}),i=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:n}),o=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(i)}),c=e.Record({not_dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),garbage_collectable_neurons_count:e.Nat64,neurons_with_invalid_stake_count:e.Nat64,not_dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),neurons_with_less_than_6_months_dissolve_delay_count:e.Nat64,dissolved_neurons_count:e.Nat64,total_staked_e8s:e.Nat64,total_supply_governance_tokens:e.Nat64,not_dissolving_neurons_count:e.Nat64,dissolved_neurons_e8s:e.Nat64,neurons_with_less_than_6_months_dissolve_delay_e8s:e.Nat64,dissolving_neurons_count_buckets:e.Vec(e.Tuple(e.Nat64,e.Nat64)),dissolving_neurons_count:e.Nat64,dissolving_neurons_e8s_buckets:e.Vec(e.Tuple(e.Nat64,e.Float64)),timestamp_seconds:e.Nat64}),t=e.Record({id:e.Vec(e.Nat8)}),u=e.Record({followees:e.Vec(t)}),x=e.Record({followees:e.Vec(e.Tuple(e.Nat64,u))}),r=e.Record({permissions:e.Vec(e.Int32)}),_=e.Record({default_followees:e.Opt(x),max_dissolve_delay_seconds:e.Opt(e.Nat64),max_followees_per_function:e.Opt(e.Nat64),neuron_claimer_permissions:e.Opt(r),neuron_minimum_stake_e8s:e.Opt(e.Nat64),initial_voting_period:e.Opt(e.Nat64),max_neuron_age_for_age_bonus:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),reject_cost_e8s:e.Opt(e.Nat64),max_proposals_to_keep_per_action:e.Opt(e.Nat32),max_number_of_neurons:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),max_number_of_proposals_with_ballots:e.Opt(e.Nat64),reward_distribution_period_seconds:e.Opt(e.Nat64),neuron_grantable_permissions:e.Opt(r),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),s=e.Record({id:e.Nat64}),h=e.Record({actual_timestamp_seconds:e.Nat64,periods_since_genesis:e.Nat64,distributed_e8s_equivalent:e.Nat64,settled_proposals:e.Vec(s)}),a=e.Record({error_message:e.Text,error_type:e.Int32}),F=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),w=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),M=e.Record({new_canister_wasm:e.Vec(e.Nat8),canister_id:e.Opt(e.Principal)}),C=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),k=e.Record({motion_text:e.Text}),G=e.Variant({ManageNervousSystemParameters:_,AddGenericNervousSystemFunction:o,RemoveGenericNervousSystemFunction:e.Nat64,UpgradeSnsControlledCanister:M,Unspecified:e.Record({}),ExecuteGenericNervousSystemFunction:C,Motion:k}),d=e.Record({url:e.Text,title:e.Text,action:e.Opt(G),summary:e.Text}),A=e.Record({current_deadline_timestamp_seconds:e.Nat64}),p=e.Record({id:e.Opt(s),payload_text_rendering:e.Opt(e.Text),action:e.Nat64,failure_reason:e.Opt(a),ballots:e.Vec(e.Tuple(e.Text,F)),reward_event_round:e.Nat64,failed_timestamp_seconds:e.Nat64,proposal_creation_timestamp_seconds:e.Nat64,reject_cost_e8s:e.Nat64,latest_tally:e.Opt(w),decided_timestamp_seconds:e.Nat64,proposal:e.Opt(d),proposer:e.Opt(t),wait_for_quiet_state:e.Opt(A),executed_timestamp_seconds:e.Nat64}),m=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),N=e.Record({function_id:e.Nat64,followees:e.Vec(t)}),R=e.Record({hash:e.Vec(e.Nat8)}),v=e.Record({to_account:e.Opt(R),percentage_to_disburse:e.Nat32}),E=e.Record({additional_dissolve_delay_seconds:e.Nat32}),q=e.Record({dissolve_timestamp_seconds:e.Nat64}),U=e.Variant({StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:E,SetDissolveTimestamp:q}),O=e.Record({operation:e.Opt(U)}),g=e.Record({vote:e.Int32,proposal:e.Opt(s)}),j=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),B=e.Variant({MemoAndController:j,NeuronId:e.Record({})}),y=e.Record({by:e.Opt(B)}),f=e.Record({permissions_to_remove:e.Opt(r),principal_id:e.Opt(e.Principal)}),V=e.Record({permissions_to_add:e.Opt(r),principal_id:e.Opt(e.Principal)}),T=e.Record({percentage_to_merge:e.Nat32}),W=e.Record({e8s:e.Nat64}),P=e.Record({to_account:e.Opt(R),amount:e.Opt(W)}),z=e.Variant({Split:m,Follow:N,DisburseMaturity:v,Configure:O,RegisterVote:g,MakeProposal:d,ClaimOrRefreshNeuron:y,RemoveNeuronPermissions:f,AddNeuronPermissions:V,MergeMaturity:T,Disburse:P}),Q=e.Record({command:e.Opt(z),timestamp:e.Nat64}),X=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),H=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),l=e.Record({id:e.Opt(t),permissions:e.Vec(X),maturity_e8s_equivalent:e.Nat64,cached_neuron_stake_e8s:e.Nat64,created_timestamp_seconds:e.Nat64,aging_since_timestamp_seconds:e.Nat64,dissolve_state:e.Opt(H),followees:e.Vec(e.Tuple(e.Nat64,u)),neuron_fees_e8s:e.Nat64}),ye=e.Record({root_canister_id:e.Opt(e.Principal),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,o)),metrics:e.Opt(c),mode:e.Int32,parameters:e.Opt(_),latest_reward_event:e.Opt(h),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,p)),in_flight_commands:e.Vec(e.Tuple(e.Text,Q)),neurons:e.Vec(e.Tuple(e.Text,l)),genesis_timestamp_seconds:e.Nat64}),J=e.Record({neuron_id:e.Opt(t)}),K=e.Variant({Error:a,Neuron:l}),Y=e.Record({result:e.Opt(K)}),S=e.Record({proposal_id:e.Opt(s)}),Z=e.Variant({Error:a,Proposal:p}),$=e.Record({result:e.Opt(Z)}),D=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),I=e.Record({controller:e.Principal,freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),memory_allocation:e.Nat,compute_allocation:e.Nat}),L=e.Record({controller:e.Principal,status:D,freezing_threshold:e.Nat,balance:e.Vec(e.Tuple(e.Vec(e.Nat8),e.Nat)),memory_size:e.Nat,cycles:e.Nat,settings:I,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),ee=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(o)}),te=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(t)}),oe=e.Record({neurons:e.Vec(l)}),se=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(s),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_status:e.Vec(e.Int32)}),ne=e.Record({proposals:e.Vec(p)}),re=e.Variant({Split:m,Follow:N,DisburseMaturity:v,ClaimOrRefresh:y,Configure:O,RegisterVote:g,MakeProposal:d,RemoveNeuronPermissions:f,AddNeuronPermissions:V,MergeMaturity:T,Disburse:P}),ae=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(re)}),ie=e.Record({created_neuron_id:e.Opt(t)}),ce=e.Record({transfer_block_height:e.Nat64,amount_disbursed_e8s:e.Nat64}),_e=e.Record({refreshed_neuron_id:e.Opt(t)}),de=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),pe=e.Record({transfer_block_height:e.Nat64}),le=e.Variant({Error:a,Split:ie,Follow:e.Record({}),DisburseMaturity:ce,ClaimOrRefresh:_e,Configure:e.Record({}),RegisterVote:e.Record({}),MakeProposal:S,RemoveNeuronPermission:e.Record({}),MergeMaturity:de,Disburse:pe,AddNeuronPermission:e.Record({})}),ue=e.Record({command:e.Opt(le)}),me=e.Record({mode:e.Int32});return e.Service({get_build_metadata:e.Func([],[e.Text],["query"]),get_nervous_system_parameters:e.Func([e.Null],[_],["query"]),get_neuron:e.Func([J],[Y],["query"]),get_proposal:e.Func([S],[$],["query"]),get_root_canister_status:e.Func([e.Null],[L],[]),list_nervous_system_functions:e.Func([],[ee],["query"]),list_neurons:e.Func([te],[oe],["query"]),list_proposals:e.Func([se],[ne],["query"]),manage_neuron:e.Func([ae],[ue],[]),set_mode:e.Func([me],[e.Record({})],[])})};var Ne=e=>e?[e]:[];var b=class extends Re{static create(n){let{service:i,certifiedService:o,canisterId:c}=ve({options:n,idlFactory:ge,certifiedIdlFactory:Oe});return new b(c,i,o)}listNeurons=async n=>{let{principal:i,limit:o,beforeNeuronId:c}=n,{neurons:t}=await this.caller(n).list_neurons({of_principal:Ne(i),limit:o??100,start_page_at:Ne(c)});return t};metadata=async n=>this.caller(n).get_build_metadata()};export{b as a};
2
+ //# sourceMappingURL=chunk-YL4WAPXH.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../candid/sns_governance.certified.idl.js", "../../candid/sns_governance.idl.js", "../../src/utils/did.utils.ts", "../../src/governance.canister.ts"],
4
+ "sourcesContent": ["/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_governance.did */\nexport const idlFactory = ({ IDL }) => {\n const GenericNervousSystemFunction = IDL.Record({\n 'validator_canister_id' : IDL.Opt(IDL.Principal),\n 'target_canister_id' : IDL.Opt(IDL.Principal),\n 'validator_method_name' : IDL.Opt(IDL.Text),\n 'target_method_name' : IDL.Opt(IDL.Text),\n });\n const FunctionType = IDL.Variant({\n 'NativeNervousSystemFunction' : IDL.Record({}),\n 'GenericNervousSystemFunction' : GenericNervousSystemFunction,\n });\n const NervousSystemFunction = IDL.Record({\n 'id' : IDL.Nat64,\n 'name' : IDL.Text,\n 'description' : IDL.Opt(IDL.Text),\n 'function_type' : IDL.Opt(FunctionType),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const NeuronId = IDL.Record({ 'id' : IDL.Vec(IDL.Nat8) });\n const Followees = IDL.Record({ 'followees' : IDL.Vec(NeuronId) });\n const DefaultFollowees = IDL.Record({\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n });\n const NeuronPermissionList = IDL.Record({\n 'permissions' : IDL.Vec(IDL.Int32),\n });\n const NervousSystemParameters = IDL.Record({\n 'default_followees' : IDL.Opt(DefaultFollowees),\n 'max_dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'neuron_claimer_permissions' : IDL.Opt(NeuronPermissionList),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'initial_voting_period' : IDL.Opt(IDL.Nat64),\n 'max_neuron_age_for_age_bonus' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_dissolve_delay_to_vote_seconds' : IDL.Opt(IDL.Nat64),\n 'reject_cost_e8s' : IDL.Opt(IDL.Nat64),\n 'max_proposals_to_keep_per_action' : IDL.Opt(IDL.Nat32),\n 'max_number_of_neurons' : IDL.Opt(IDL.Nat64),\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'max_number_of_proposals_with_ballots' : IDL.Opt(IDL.Nat64),\n 'reward_distribution_period_seconds' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const RewardEvent = IDL.Record({\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'periods_since_genesis' : IDL.Nat64,\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const GovernanceError = IDL.Record({\n 'error_message' : IDL.Text,\n 'error_type' : IDL.Int32,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Tally = IDL.Record({\n 'no' : IDL.Nat64,\n 'yes' : IDL.Nat64,\n 'total' : IDL.Nat64,\n 'timestamp_seconds' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const ExecuteGenericNervousSystemFunction = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'payload' : IDL.Vec(IDL.Nat8),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'Unspecified' : IDL.Record({}),\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'Motion' : Motion,\n });\n const Proposal = IDL.Record({\n 'url' : IDL.Text,\n 'title' : IDL.Text,\n 'action' : IDL.Opt(Action),\n 'summary' : IDL.Text,\n });\n const WaitForQuietState = IDL.Record({\n 'current_deadline_timestamp_seconds' : IDL.Nat64,\n });\n const ProposalData = IDL.Record({\n 'id' : IDL.Opt(ProposalId),\n 'payload_text_rendering' : IDL.Opt(IDL.Text),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'proposal_creation_timestamp_seconds' : IDL.Nat64,\n 'reject_cost_e8s' : IDL.Nat64,\n 'latest_tally' : IDL.Opt(Tally),\n 'decided_timestamp_seconds' : IDL.Nat64,\n 'proposal' : IDL.Opt(Proposal),\n 'proposer' : IDL.Opt(NeuronId),\n 'wait_for_quiet_state' : IDL.Opt(WaitForQuietState),\n 'executed_timestamp_seconds' : IDL.Nat64,\n });\n const Split = IDL.Record({ 'memo' : IDL.Nat64, 'amount_e8s' : IDL.Nat64 });\n const Follow = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'followees' : IDL.Vec(NeuronId),\n });\n const AccountIdentifier = IDL.Record({ 'hash' : IDL.Vec(IDL.Nat8) });\n const DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(AccountIdentifier),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const IncreaseDissolveDelay = IDL.Record({\n 'additional_dissolve_delay_seconds' : IDL.Nat32,\n });\n const SetDissolveTimestamp = IDL.Record({\n 'dissolve_timestamp_seconds' : IDL.Nat64,\n });\n const Operation = IDL.Variant({\n 'StopDissolving' : IDL.Record({}),\n 'StartDissolving' : IDL.Record({}),\n 'IncreaseDissolveDelay' : IncreaseDissolveDelay,\n 'SetDissolveTimestamp' : SetDissolveTimestamp,\n });\n const Configure = IDL.Record({ 'operation' : IDL.Opt(Operation) });\n const RegisterVote = IDL.Record({\n 'vote' : IDL.Int32,\n 'proposal' : IDL.Opt(ProposalId),\n });\n const MemoAndController = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'memo' : IDL.Nat64,\n });\n const By = IDL.Variant({\n 'MemoAndController' : MemoAndController,\n 'NeuronId' : IDL.Record({}),\n });\n const ClaimOrRefresh = IDL.Record({ 'by' : IDL.Opt(By) });\n const RemoveNeuronPermissions = IDL.Record({\n 'permissions_to_remove' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const AddNeuronPermissions = IDL.Record({\n 'permissions_to_add' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const MergeMaturity = IDL.Record({ 'percentage_to_merge' : IDL.Nat32 });\n const Amount = IDL.Record({ 'e8s' : IDL.Nat64 });\n const Disburse = IDL.Record({\n 'to_account' : IDL.Opt(AccountIdentifier),\n 'amount' : IDL.Opt(Amount),\n });\n const Command_2 = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'ClaimOrRefreshNeuron' : ClaimOrRefresh,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const NeuronInFlightCommand = IDL.Record({\n 'command' : IDL.Opt(Command_2),\n 'timestamp' : IDL.Nat64,\n });\n const NeuronPermission = IDL.Record({\n 'principal' : IDL.Opt(IDL.Principal),\n 'permission_type' : IDL.Vec(IDL.Int32),\n });\n const DissolveState = IDL.Variant({\n 'DissolveDelaySeconds' : IDL.Nat64,\n 'WhenDissolvedTimestampSeconds' : IDL.Nat64,\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'permissions' : IDL.Vec(NeuronPermission),\n 'maturity_e8s_equivalent' : IDL.Nat64,\n 'cached_neuron_stake_e8s' : IDL.Nat64,\n 'created_timestamp_seconds' : IDL.Nat64,\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n 'neuron_fees_e8s' : IDL.Nat64,\n });\n const Governance = IDL.Record({\n 'root_canister_id' : IDL.Opt(IDL.Principal),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'proposals' : IDL.Vec(IDL.Tuple(IDL.Nat64, ProposalData)),\n 'in_flight_commands' : IDL.Vec(IDL.Tuple(IDL.Text, NeuronInFlightCommand)),\n 'neurons' : IDL.Vec(IDL.Tuple(IDL.Text, Neuron)),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n const GetNeuron = IDL.Record({ 'neuron_id' : IDL.Opt(NeuronId) });\n const Result = IDL.Variant({ 'Error' : GovernanceError, 'Neuron' : Neuron });\n const GetNeuronResponse = IDL.Record({ 'result' : IDL.Opt(Result) });\n const GetProposal = IDL.Record({ 'proposal_id' : IDL.Opt(ProposalId) });\n const Result_1 = IDL.Variant({\n 'Error' : GovernanceError,\n 'Proposal' : ProposalData,\n });\n const GetProposalResponse = IDL.Record({ 'result' : IDL.Opt(Result_1) });\n const CanisterStatusType = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const DefiniteCanisterSettingsArgs = IDL.Record({\n 'controller' : IDL.Principal,\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const CanisterStatusResultV2 = IDL.Record({\n 'controller' : IDL.Principal,\n 'status' : CanisterStatusType,\n 'freezing_threshold' : IDL.Nat,\n 'balance' : IDL.Vec(IDL.Tuple(IDL.Vec(IDL.Nat8), IDL.Nat)),\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettingsArgs,\n 'idle_cycles_burned_per_day' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const ListNervousSystemFunctionsResponse = IDL.Record({\n 'reserved_ids' : IDL.Vec(IDL.Nat64),\n 'functions' : IDL.Vec(NervousSystemFunction),\n });\n const ListNeurons = IDL.Record({\n 'of_principal' : IDL.Opt(IDL.Principal),\n 'limit' : IDL.Nat32,\n 'start_page_at' : IDL.Opt(NeuronId),\n });\n const ListNeuronsResponse = IDL.Record({ 'neurons' : IDL.Vec(Neuron) });\n const ListProposals = IDL.Record({\n 'include_reward_status' : IDL.Vec(IDL.Int32),\n 'before_proposal' : IDL.Opt(ProposalId),\n 'limit' : IDL.Nat32,\n 'exclude_type' : IDL.Vec(IDL.Nat64),\n 'include_status' : IDL.Vec(IDL.Int32),\n });\n const ListProposalsResponse = IDL.Record({\n 'proposals' : IDL.Vec(ProposalData),\n });\n const Command = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'ClaimOrRefresh' : ClaimOrRefresh,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const ManageNeuron = IDL.Record({\n 'subaccount' : IDL.Vec(IDL.Nat8),\n 'command' : IDL.Opt(Command),\n });\n const SplitResponse = IDL.Record({ 'created_neuron_id' : IDL.Opt(NeuronId) });\n const DisburseMaturityResponse = IDL.Record({\n 'transfer_block_height' : IDL.Nat64,\n 'amount_disbursed_e8s' : IDL.Nat64,\n });\n const ClaimOrRefreshResponse = IDL.Record({\n 'refreshed_neuron_id' : IDL.Opt(NeuronId),\n });\n const MergeMaturityResponse = IDL.Record({\n 'merged_maturity_e8s' : IDL.Nat64,\n 'new_stake_e8s' : IDL.Nat64,\n });\n const DisburseResponse = IDL.Record({ 'transfer_block_height' : IDL.Nat64 });\n const Command_1 = IDL.Variant({\n 'Error' : GovernanceError,\n 'Split' : SplitResponse,\n 'Follow' : IDL.Record({}),\n 'DisburseMaturity' : DisburseMaturityResponse,\n 'ClaimOrRefresh' : ClaimOrRefreshResponse,\n 'Configure' : IDL.Record({}),\n 'RegisterVote' : IDL.Record({}),\n 'MakeProposal' : GetProposal,\n 'RemoveNeuronPermission' : IDL.Record({}),\n 'MergeMaturity' : MergeMaturityResponse,\n 'Disburse' : DisburseResponse,\n 'AddNeuronPermission' : IDL.Record({}),\n });\n const ManageNeuronResponse = IDL.Record({ 'command' : IDL.Opt(Command_1) });\n const SetMode = IDL.Record({ 'mode' : IDL.Int32 });\n return IDL.Service({\n 'get_build_metadata' : IDL.Func([], [IDL.Text], []),\n 'get_nervous_system_parameters' : IDL.Func(\n [IDL.Null],\n [NervousSystemParameters],\n [],\n ),\n 'get_neuron' : IDL.Func([GetNeuron], [GetNeuronResponse], []),\n 'get_proposal' : IDL.Func([GetProposal], [GetProposalResponse], []),\n 'get_root_canister_status' : IDL.Func(\n [IDL.Null],\n [CanisterStatusResultV2],\n [],\n ),\n 'list_nervous_system_functions' : IDL.Func(\n [],\n [ListNervousSystemFunctionsResponse],\n [],\n ),\n 'list_neurons' : IDL.Func([ListNeurons], [ListNeuronsResponse], []),\n 'list_proposals' : IDL.Func([ListProposals], [ListProposalsResponse], []),\n 'manage_neuron' : IDL.Func([ManageNeuron], [ManageNeuronResponse], []),\n 'set_mode' : IDL.Func([SetMode], [IDL.Record({})], []),\n });\n};\nexport const init = ({ IDL }) => {\n const GenericNervousSystemFunction = IDL.Record({\n 'validator_canister_id' : IDL.Opt(IDL.Principal),\n 'target_canister_id' : IDL.Opt(IDL.Principal),\n 'validator_method_name' : IDL.Opt(IDL.Text),\n 'target_method_name' : IDL.Opt(IDL.Text),\n });\n const FunctionType = IDL.Variant({\n 'NativeNervousSystemFunction' : IDL.Record({}),\n 'GenericNervousSystemFunction' : GenericNervousSystemFunction,\n });\n const NervousSystemFunction = IDL.Record({\n 'id' : IDL.Nat64,\n 'name' : IDL.Text,\n 'description' : IDL.Opt(IDL.Text),\n 'function_type' : IDL.Opt(FunctionType),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const NeuronId = IDL.Record({ 'id' : IDL.Vec(IDL.Nat8) });\n const Followees = IDL.Record({ 'followees' : IDL.Vec(NeuronId) });\n const DefaultFollowees = IDL.Record({\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n });\n const NeuronPermissionList = IDL.Record({\n 'permissions' : IDL.Vec(IDL.Int32),\n });\n const NervousSystemParameters = IDL.Record({\n 'default_followees' : IDL.Opt(DefaultFollowees),\n 'max_dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'neuron_claimer_permissions' : IDL.Opt(NeuronPermissionList),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'initial_voting_period' : IDL.Opt(IDL.Nat64),\n 'max_neuron_age_for_age_bonus' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_dissolve_delay_to_vote_seconds' : IDL.Opt(IDL.Nat64),\n 'reject_cost_e8s' : IDL.Opt(IDL.Nat64),\n 'max_proposals_to_keep_per_action' : IDL.Opt(IDL.Nat32),\n 'max_number_of_neurons' : IDL.Opt(IDL.Nat64),\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'max_number_of_proposals_with_ballots' : IDL.Opt(IDL.Nat64),\n 'reward_distribution_period_seconds' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const RewardEvent = IDL.Record({\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'periods_since_genesis' : IDL.Nat64,\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const GovernanceError = IDL.Record({\n 'error_message' : IDL.Text,\n 'error_type' : IDL.Int32,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Tally = IDL.Record({\n 'no' : IDL.Nat64,\n 'yes' : IDL.Nat64,\n 'total' : IDL.Nat64,\n 'timestamp_seconds' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const ExecuteGenericNervousSystemFunction = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'payload' : IDL.Vec(IDL.Nat8),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'Unspecified' : IDL.Record({}),\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'Motion' : Motion,\n });\n const Proposal = IDL.Record({\n 'url' : IDL.Text,\n 'title' : IDL.Text,\n 'action' : IDL.Opt(Action),\n 'summary' : IDL.Text,\n });\n const WaitForQuietState = IDL.Record({\n 'current_deadline_timestamp_seconds' : IDL.Nat64,\n });\n const ProposalData = IDL.Record({\n 'id' : IDL.Opt(ProposalId),\n 'payload_text_rendering' : IDL.Opt(IDL.Text),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'proposal_creation_timestamp_seconds' : IDL.Nat64,\n 'reject_cost_e8s' : IDL.Nat64,\n 'latest_tally' : IDL.Opt(Tally),\n 'decided_timestamp_seconds' : IDL.Nat64,\n 'proposal' : IDL.Opt(Proposal),\n 'proposer' : IDL.Opt(NeuronId),\n 'wait_for_quiet_state' : IDL.Opt(WaitForQuietState),\n 'executed_timestamp_seconds' : IDL.Nat64,\n });\n const Split = IDL.Record({ 'memo' : IDL.Nat64, 'amount_e8s' : IDL.Nat64 });\n const Follow = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'followees' : IDL.Vec(NeuronId),\n });\n const AccountIdentifier = IDL.Record({ 'hash' : IDL.Vec(IDL.Nat8) });\n const DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(AccountIdentifier),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const IncreaseDissolveDelay = IDL.Record({\n 'additional_dissolve_delay_seconds' : IDL.Nat32,\n });\n const SetDissolveTimestamp = IDL.Record({\n 'dissolve_timestamp_seconds' : IDL.Nat64,\n });\n const Operation = IDL.Variant({\n 'StopDissolving' : IDL.Record({}),\n 'StartDissolving' : IDL.Record({}),\n 'IncreaseDissolveDelay' : IncreaseDissolveDelay,\n 'SetDissolveTimestamp' : SetDissolveTimestamp,\n });\n const Configure = IDL.Record({ 'operation' : IDL.Opt(Operation) });\n const RegisterVote = IDL.Record({\n 'vote' : IDL.Int32,\n 'proposal' : IDL.Opt(ProposalId),\n });\n const MemoAndController = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'memo' : IDL.Nat64,\n });\n const By = IDL.Variant({\n 'MemoAndController' : MemoAndController,\n 'NeuronId' : IDL.Record({}),\n });\n const ClaimOrRefresh = IDL.Record({ 'by' : IDL.Opt(By) });\n const RemoveNeuronPermissions = IDL.Record({\n 'permissions_to_remove' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const AddNeuronPermissions = IDL.Record({\n 'permissions_to_add' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const MergeMaturity = IDL.Record({ 'percentage_to_merge' : IDL.Nat32 });\n const Amount = IDL.Record({ 'e8s' : IDL.Nat64 });\n const Disburse = IDL.Record({\n 'to_account' : IDL.Opt(AccountIdentifier),\n 'amount' : IDL.Opt(Amount),\n });\n const Command_2 = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'ClaimOrRefreshNeuron' : ClaimOrRefresh,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const NeuronInFlightCommand = IDL.Record({\n 'command' : IDL.Opt(Command_2),\n 'timestamp' : IDL.Nat64,\n });\n const NeuronPermission = IDL.Record({\n 'principal' : IDL.Opt(IDL.Principal),\n 'permission_type' : IDL.Vec(IDL.Int32),\n });\n const DissolveState = IDL.Variant({\n 'DissolveDelaySeconds' : IDL.Nat64,\n 'WhenDissolvedTimestampSeconds' : IDL.Nat64,\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'permissions' : IDL.Vec(NeuronPermission),\n 'maturity_e8s_equivalent' : IDL.Nat64,\n 'cached_neuron_stake_e8s' : IDL.Nat64,\n 'created_timestamp_seconds' : IDL.Nat64,\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n 'neuron_fees_e8s' : IDL.Nat64,\n });\n const Governance = IDL.Record({\n 'root_canister_id' : IDL.Opt(IDL.Principal),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'proposals' : IDL.Vec(IDL.Tuple(IDL.Nat64, ProposalData)),\n 'in_flight_commands' : IDL.Vec(IDL.Tuple(IDL.Text, NeuronInFlightCommand)),\n 'neurons' : IDL.Vec(IDL.Tuple(IDL.Text, Neuron)),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n return [Governance];\n};\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/sns/candid/sns_governance.did */\nexport const idlFactory = ({ IDL }) => {\n const GenericNervousSystemFunction = IDL.Record({\n 'validator_canister_id' : IDL.Opt(IDL.Principal),\n 'target_canister_id' : IDL.Opt(IDL.Principal),\n 'validator_method_name' : IDL.Opt(IDL.Text),\n 'target_method_name' : IDL.Opt(IDL.Text),\n });\n const FunctionType = IDL.Variant({\n 'NativeNervousSystemFunction' : IDL.Record({}),\n 'GenericNervousSystemFunction' : GenericNervousSystemFunction,\n });\n const NervousSystemFunction = IDL.Record({\n 'id' : IDL.Nat64,\n 'name' : IDL.Text,\n 'description' : IDL.Opt(IDL.Text),\n 'function_type' : IDL.Opt(FunctionType),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const NeuronId = IDL.Record({ 'id' : IDL.Vec(IDL.Nat8) });\n const Followees = IDL.Record({ 'followees' : IDL.Vec(NeuronId) });\n const DefaultFollowees = IDL.Record({\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n });\n const NeuronPermissionList = IDL.Record({\n 'permissions' : IDL.Vec(IDL.Int32),\n });\n const NervousSystemParameters = IDL.Record({\n 'default_followees' : IDL.Opt(DefaultFollowees),\n 'max_dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'neuron_claimer_permissions' : IDL.Opt(NeuronPermissionList),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'initial_voting_period' : IDL.Opt(IDL.Nat64),\n 'max_neuron_age_for_age_bonus' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_dissolve_delay_to_vote_seconds' : IDL.Opt(IDL.Nat64),\n 'reject_cost_e8s' : IDL.Opt(IDL.Nat64),\n 'max_proposals_to_keep_per_action' : IDL.Opt(IDL.Nat32),\n 'max_number_of_neurons' : IDL.Opt(IDL.Nat64),\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'max_number_of_proposals_with_ballots' : IDL.Opt(IDL.Nat64),\n 'reward_distribution_period_seconds' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const RewardEvent = IDL.Record({\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'periods_since_genesis' : IDL.Nat64,\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const GovernanceError = IDL.Record({\n 'error_message' : IDL.Text,\n 'error_type' : IDL.Int32,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Tally = IDL.Record({\n 'no' : IDL.Nat64,\n 'yes' : IDL.Nat64,\n 'total' : IDL.Nat64,\n 'timestamp_seconds' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const ExecuteGenericNervousSystemFunction = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'payload' : IDL.Vec(IDL.Nat8),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'Unspecified' : IDL.Record({}),\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'Motion' : Motion,\n });\n const Proposal = IDL.Record({\n 'url' : IDL.Text,\n 'title' : IDL.Text,\n 'action' : IDL.Opt(Action),\n 'summary' : IDL.Text,\n });\n const WaitForQuietState = IDL.Record({\n 'current_deadline_timestamp_seconds' : IDL.Nat64,\n });\n const ProposalData = IDL.Record({\n 'id' : IDL.Opt(ProposalId),\n 'payload_text_rendering' : IDL.Opt(IDL.Text),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'proposal_creation_timestamp_seconds' : IDL.Nat64,\n 'reject_cost_e8s' : IDL.Nat64,\n 'latest_tally' : IDL.Opt(Tally),\n 'decided_timestamp_seconds' : IDL.Nat64,\n 'proposal' : IDL.Opt(Proposal),\n 'proposer' : IDL.Opt(NeuronId),\n 'wait_for_quiet_state' : IDL.Opt(WaitForQuietState),\n 'executed_timestamp_seconds' : IDL.Nat64,\n });\n const Split = IDL.Record({ 'memo' : IDL.Nat64, 'amount_e8s' : IDL.Nat64 });\n const Follow = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'followees' : IDL.Vec(NeuronId),\n });\n const AccountIdentifier = IDL.Record({ 'hash' : IDL.Vec(IDL.Nat8) });\n const DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(AccountIdentifier),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const IncreaseDissolveDelay = IDL.Record({\n 'additional_dissolve_delay_seconds' : IDL.Nat32,\n });\n const SetDissolveTimestamp = IDL.Record({\n 'dissolve_timestamp_seconds' : IDL.Nat64,\n });\n const Operation = IDL.Variant({\n 'StopDissolving' : IDL.Record({}),\n 'StartDissolving' : IDL.Record({}),\n 'IncreaseDissolveDelay' : IncreaseDissolveDelay,\n 'SetDissolveTimestamp' : SetDissolveTimestamp,\n });\n const Configure = IDL.Record({ 'operation' : IDL.Opt(Operation) });\n const RegisterVote = IDL.Record({\n 'vote' : IDL.Int32,\n 'proposal' : IDL.Opt(ProposalId),\n });\n const MemoAndController = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'memo' : IDL.Nat64,\n });\n const By = IDL.Variant({\n 'MemoAndController' : MemoAndController,\n 'NeuronId' : IDL.Record({}),\n });\n const ClaimOrRefresh = IDL.Record({ 'by' : IDL.Opt(By) });\n const RemoveNeuronPermissions = IDL.Record({\n 'permissions_to_remove' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const AddNeuronPermissions = IDL.Record({\n 'permissions_to_add' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const MergeMaturity = IDL.Record({ 'percentage_to_merge' : IDL.Nat32 });\n const Amount = IDL.Record({ 'e8s' : IDL.Nat64 });\n const Disburse = IDL.Record({\n 'to_account' : IDL.Opt(AccountIdentifier),\n 'amount' : IDL.Opt(Amount),\n });\n const Command_2 = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'ClaimOrRefreshNeuron' : ClaimOrRefresh,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const NeuronInFlightCommand = IDL.Record({\n 'command' : IDL.Opt(Command_2),\n 'timestamp' : IDL.Nat64,\n });\n const NeuronPermission = IDL.Record({\n 'principal' : IDL.Opt(IDL.Principal),\n 'permission_type' : IDL.Vec(IDL.Int32),\n });\n const DissolveState = IDL.Variant({\n 'DissolveDelaySeconds' : IDL.Nat64,\n 'WhenDissolvedTimestampSeconds' : IDL.Nat64,\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'permissions' : IDL.Vec(NeuronPermission),\n 'maturity_e8s_equivalent' : IDL.Nat64,\n 'cached_neuron_stake_e8s' : IDL.Nat64,\n 'created_timestamp_seconds' : IDL.Nat64,\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n 'neuron_fees_e8s' : IDL.Nat64,\n });\n const Governance = IDL.Record({\n 'root_canister_id' : IDL.Opt(IDL.Principal),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'proposals' : IDL.Vec(IDL.Tuple(IDL.Nat64, ProposalData)),\n 'in_flight_commands' : IDL.Vec(IDL.Tuple(IDL.Text, NeuronInFlightCommand)),\n 'neurons' : IDL.Vec(IDL.Tuple(IDL.Text, Neuron)),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n const GetNeuron = IDL.Record({ 'neuron_id' : IDL.Opt(NeuronId) });\n const Result = IDL.Variant({ 'Error' : GovernanceError, 'Neuron' : Neuron });\n const GetNeuronResponse = IDL.Record({ 'result' : IDL.Opt(Result) });\n const GetProposal = IDL.Record({ 'proposal_id' : IDL.Opt(ProposalId) });\n const Result_1 = IDL.Variant({\n 'Error' : GovernanceError,\n 'Proposal' : ProposalData,\n });\n const GetProposalResponse = IDL.Record({ 'result' : IDL.Opt(Result_1) });\n const CanisterStatusType = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const DefiniteCanisterSettingsArgs = IDL.Record({\n 'controller' : IDL.Principal,\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const CanisterStatusResultV2 = IDL.Record({\n 'controller' : IDL.Principal,\n 'status' : CanisterStatusType,\n 'freezing_threshold' : IDL.Nat,\n 'balance' : IDL.Vec(IDL.Tuple(IDL.Vec(IDL.Nat8), IDL.Nat)),\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettingsArgs,\n 'idle_cycles_burned_per_day' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const ListNervousSystemFunctionsResponse = IDL.Record({\n 'reserved_ids' : IDL.Vec(IDL.Nat64),\n 'functions' : IDL.Vec(NervousSystemFunction),\n });\n const ListNeurons = IDL.Record({\n 'of_principal' : IDL.Opt(IDL.Principal),\n 'limit' : IDL.Nat32,\n 'start_page_at' : IDL.Opt(NeuronId),\n });\n const ListNeuronsResponse = IDL.Record({ 'neurons' : IDL.Vec(Neuron) });\n const ListProposals = IDL.Record({\n 'include_reward_status' : IDL.Vec(IDL.Int32),\n 'before_proposal' : IDL.Opt(ProposalId),\n 'limit' : IDL.Nat32,\n 'exclude_type' : IDL.Vec(IDL.Nat64),\n 'include_status' : IDL.Vec(IDL.Int32),\n });\n const ListProposalsResponse = IDL.Record({\n 'proposals' : IDL.Vec(ProposalData),\n });\n const Command = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'ClaimOrRefresh' : ClaimOrRefresh,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const ManageNeuron = IDL.Record({\n 'subaccount' : IDL.Vec(IDL.Nat8),\n 'command' : IDL.Opt(Command),\n });\n const SplitResponse = IDL.Record({ 'created_neuron_id' : IDL.Opt(NeuronId) });\n const DisburseMaturityResponse = IDL.Record({\n 'transfer_block_height' : IDL.Nat64,\n 'amount_disbursed_e8s' : IDL.Nat64,\n });\n const ClaimOrRefreshResponse = IDL.Record({\n 'refreshed_neuron_id' : IDL.Opt(NeuronId),\n });\n const MergeMaturityResponse = IDL.Record({\n 'merged_maturity_e8s' : IDL.Nat64,\n 'new_stake_e8s' : IDL.Nat64,\n });\n const DisburseResponse = IDL.Record({ 'transfer_block_height' : IDL.Nat64 });\n const Command_1 = IDL.Variant({\n 'Error' : GovernanceError,\n 'Split' : SplitResponse,\n 'Follow' : IDL.Record({}),\n 'DisburseMaturity' : DisburseMaturityResponse,\n 'ClaimOrRefresh' : ClaimOrRefreshResponse,\n 'Configure' : IDL.Record({}),\n 'RegisterVote' : IDL.Record({}),\n 'MakeProposal' : GetProposal,\n 'RemoveNeuronPermission' : IDL.Record({}),\n 'MergeMaturity' : MergeMaturityResponse,\n 'Disburse' : DisburseResponse,\n 'AddNeuronPermission' : IDL.Record({}),\n });\n const ManageNeuronResponse = IDL.Record({ 'command' : IDL.Opt(Command_1) });\n const SetMode = IDL.Record({ 'mode' : IDL.Int32 });\n return IDL.Service({\n 'get_build_metadata' : IDL.Func([], [IDL.Text], ['query']),\n 'get_nervous_system_parameters' : IDL.Func(\n [IDL.Null],\n [NervousSystemParameters],\n ['query'],\n ),\n 'get_neuron' : IDL.Func([GetNeuron], [GetNeuronResponse], ['query']),\n 'get_proposal' : IDL.Func([GetProposal], [GetProposalResponse], ['query']),\n 'get_root_canister_status' : IDL.Func(\n [IDL.Null],\n [CanisterStatusResultV2],\n [],\n ),\n 'list_nervous_system_functions' : IDL.Func(\n [],\n [ListNervousSystemFunctionsResponse],\n ['query'],\n ),\n 'list_neurons' : IDL.Func([ListNeurons], [ListNeuronsResponse], ['query']),\n 'list_proposals' : IDL.Func(\n [ListProposals],\n [ListProposalsResponse],\n ['query'],\n ),\n 'manage_neuron' : IDL.Func([ManageNeuron], [ManageNeuronResponse], []),\n 'set_mode' : IDL.Func([SetMode], [IDL.Record({})], []),\n });\n};\nexport const init = ({ IDL }) => {\n const GenericNervousSystemFunction = IDL.Record({\n 'validator_canister_id' : IDL.Opt(IDL.Principal),\n 'target_canister_id' : IDL.Opt(IDL.Principal),\n 'validator_method_name' : IDL.Opt(IDL.Text),\n 'target_method_name' : IDL.Opt(IDL.Text),\n });\n const FunctionType = IDL.Variant({\n 'NativeNervousSystemFunction' : IDL.Record({}),\n 'GenericNervousSystemFunction' : GenericNervousSystemFunction,\n });\n const NervousSystemFunction = IDL.Record({\n 'id' : IDL.Nat64,\n 'name' : IDL.Text,\n 'description' : IDL.Opt(IDL.Text),\n 'function_type' : IDL.Opt(FunctionType),\n });\n const GovernanceCachedMetrics = IDL.Record({\n 'not_dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'garbage_collectable_neurons_count' : IDL.Nat64,\n 'neurons_with_invalid_stake_count' : IDL.Nat64,\n 'not_dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'neurons_with_less_than_6_months_dissolve_delay_count' : IDL.Nat64,\n 'dissolved_neurons_count' : IDL.Nat64,\n 'total_staked_e8s' : IDL.Nat64,\n 'total_supply_governance_tokens' : IDL.Nat64,\n 'not_dissolving_neurons_count' : IDL.Nat64,\n 'dissolved_neurons_e8s' : IDL.Nat64,\n 'neurons_with_less_than_6_months_dissolve_delay_e8s' : IDL.Nat64,\n 'dissolving_neurons_count_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Nat64)\n ),\n 'dissolving_neurons_count' : IDL.Nat64,\n 'dissolving_neurons_e8s_buckets' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, IDL.Float64)\n ),\n 'timestamp_seconds' : IDL.Nat64,\n });\n const NeuronId = IDL.Record({ 'id' : IDL.Vec(IDL.Nat8) });\n const Followees = IDL.Record({ 'followees' : IDL.Vec(NeuronId) });\n const DefaultFollowees = IDL.Record({\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n });\n const NeuronPermissionList = IDL.Record({\n 'permissions' : IDL.Vec(IDL.Int32),\n });\n const NervousSystemParameters = IDL.Record({\n 'default_followees' : IDL.Opt(DefaultFollowees),\n 'max_dissolve_delay_seconds' : IDL.Opt(IDL.Nat64),\n 'max_followees_per_function' : IDL.Opt(IDL.Nat64),\n 'neuron_claimer_permissions' : IDL.Opt(NeuronPermissionList),\n 'neuron_minimum_stake_e8s' : IDL.Opt(IDL.Nat64),\n 'initial_voting_period' : IDL.Opt(IDL.Nat64),\n 'max_neuron_age_for_age_bonus' : IDL.Opt(IDL.Nat64),\n 'neuron_minimum_dissolve_delay_to_vote_seconds' : IDL.Opt(IDL.Nat64),\n 'reject_cost_e8s' : IDL.Opt(IDL.Nat64),\n 'max_proposals_to_keep_per_action' : IDL.Opt(IDL.Nat32),\n 'max_number_of_neurons' : IDL.Opt(IDL.Nat64),\n 'transaction_fee_e8s' : IDL.Opt(IDL.Nat64),\n 'max_number_of_proposals_with_ballots' : IDL.Opt(IDL.Nat64),\n 'reward_distribution_period_seconds' : IDL.Opt(IDL.Nat64),\n 'neuron_grantable_permissions' : IDL.Opt(NeuronPermissionList),\n 'max_number_of_principals_per_neuron' : IDL.Opt(IDL.Nat64),\n });\n const ProposalId = IDL.Record({ 'id' : IDL.Nat64 });\n const RewardEvent = IDL.Record({\n 'actual_timestamp_seconds' : IDL.Nat64,\n 'periods_since_genesis' : IDL.Nat64,\n 'distributed_e8s_equivalent' : IDL.Nat64,\n 'settled_proposals' : IDL.Vec(ProposalId),\n });\n const GovernanceError = IDL.Record({\n 'error_message' : IDL.Text,\n 'error_type' : IDL.Int32,\n });\n const Ballot = IDL.Record({\n 'vote' : IDL.Int32,\n 'cast_timestamp_seconds' : IDL.Nat64,\n 'voting_power' : IDL.Nat64,\n });\n const Tally = IDL.Record({\n 'no' : IDL.Nat64,\n 'yes' : IDL.Nat64,\n 'total' : IDL.Nat64,\n 'timestamp_seconds' : IDL.Nat64,\n });\n const UpgradeSnsControlledCanister = IDL.Record({\n 'new_canister_wasm' : IDL.Vec(IDL.Nat8),\n 'canister_id' : IDL.Opt(IDL.Principal),\n });\n const ExecuteGenericNervousSystemFunction = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'payload' : IDL.Vec(IDL.Nat8),\n });\n const Motion = IDL.Record({ 'motion_text' : IDL.Text });\n const Action = IDL.Variant({\n 'ManageNervousSystemParameters' : NervousSystemParameters,\n 'AddGenericNervousSystemFunction' : NervousSystemFunction,\n 'RemoveGenericNervousSystemFunction' : IDL.Nat64,\n 'UpgradeSnsControlledCanister' : UpgradeSnsControlledCanister,\n 'Unspecified' : IDL.Record({}),\n 'ExecuteGenericNervousSystemFunction' : ExecuteGenericNervousSystemFunction,\n 'Motion' : Motion,\n });\n const Proposal = IDL.Record({\n 'url' : IDL.Text,\n 'title' : IDL.Text,\n 'action' : IDL.Opt(Action),\n 'summary' : IDL.Text,\n });\n const WaitForQuietState = IDL.Record({\n 'current_deadline_timestamp_seconds' : IDL.Nat64,\n });\n const ProposalData = IDL.Record({\n 'id' : IDL.Opt(ProposalId),\n 'payload_text_rendering' : IDL.Opt(IDL.Text),\n 'action' : IDL.Nat64,\n 'failure_reason' : IDL.Opt(GovernanceError),\n 'ballots' : IDL.Vec(IDL.Tuple(IDL.Text, Ballot)),\n 'reward_event_round' : IDL.Nat64,\n 'failed_timestamp_seconds' : IDL.Nat64,\n 'proposal_creation_timestamp_seconds' : IDL.Nat64,\n 'reject_cost_e8s' : IDL.Nat64,\n 'latest_tally' : IDL.Opt(Tally),\n 'decided_timestamp_seconds' : IDL.Nat64,\n 'proposal' : IDL.Opt(Proposal),\n 'proposer' : IDL.Opt(NeuronId),\n 'wait_for_quiet_state' : IDL.Opt(WaitForQuietState),\n 'executed_timestamp_seconds' : IDL.Nat64,\n });\n const Split = IDL.Record({ 'memo' : IDL.Nat64, 'amount_e8s' : IDL.Nat64 });\n const Follow = IDL.Record({\n 'function_id' : IDL.Nat64,\n 'followees' : IDL.Vec(NeuronId),\n });\n const AccountIdentifier = IDL.Record({ 'hash' : IDL.Vec(IDL.Nat8) });\n const DisburseMaturity = IDL.Record({\n 'to_account' : IDL.Opt(AccountIdentifier),\n 'percentage_to_disburse' : IDL.Nat32,\n });\n const IncreaseDissolveDelay = IDL.Record({\n 'additional_dissolve_delay_seconds' : IDL.Nat32,\n });\n const SetDissolveTimestamp = IDL.Record({\n 'dissolve_timestamp_seconds' : IDL.Nat64,\n });\n const Operation = IDL.Variant({\n 'StopDissolving' : IDL.Record({}),\n 'StartDissolving' : IDL.Record({}),\n 'IncreaseDissolveDelay' : IncreaseDissolveDelay,\n 'SetDissolveTimestamp' : SetDissolveTimestamp,\n });\n const Configure = IDL.Record({ 'operation' : IDL.Opt(Operation) });\n const RegisterVote = IDL.Record({\n 'vote' : IDL.Int32,\n 'proposal' : IDL.Opt(ProposalId),\n });\n const MemoAndController = IDL.Record({\n 'controller' : IDL.Opt(IDL.Principal),\n 'memo' : IDL.Nat64,\n });\n const By = IDL.Variant({\n 'MemoAndController' : MemoAndController,\n 'NeuronId' : IDL.Record({}),\n });\n const ClaimOrRefresh = IDL.Record({ 'by' : IDL.Opt(By) });\n const RemoveNeuronPermissions = IDL.Record({\n 'permissions_to_remove' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const AddNeuronPermissions = IDL.Record({\n 'permissions_to_add' : IDL.Opt(NeuronPermissionList),\n 'principal_id' : IDL.Opt(IDL.Principal),\n });\n const MergeMaturity = IDL.Record({ 'percentage_to_merge' : IDL.Nat32 });\n const Amount = IDL.Record({ 'e8s' : IDL.Nat64 });\n const Disburse = IDL.Record({\n 'to_account' : IDL.Opt(AccountIdentifier),\n 'amount' : IDL.Opt(Amount),\n });\n const Command_2 = IDL.Variant({\n 'Split' : Split,\n 'Follow' : Follow,\n 'DisburseMaturity' : DisburseMaturity,\n 'Configure' : Configure,\n 'RegisterVote' : RegisterVote,\n 'MakeProposal' : Proposal,\n 'ClaimOrRefreshNeuron' : ClaimOrRefresh,\n 'RemoveNeuronPermissions' : RemoveNeuronPermissions,\n 'AddNeuronPermissions' : AddNeuronPermissions,\n 'MergeMaturity' : MergeMaturity,\n 'Disburse' : Disburse,\n });\n const NeuronInFlightCommand = IDL.Record({\n 'command' : IDL.Opt(Command_2),\n 'timestamp' : IDL.Nat64,\n });\n const NeuronPermission = IDL.Record({\n 'principal' : IDL.Opt(IDL.Principal),\n 'permission_type' : IDL.Vec(IDL.Int32),\n });\n const DissolveState = IDL.Variant({\n 'DissolveDelaySeconds' : IDL.Nat64,\n 'WhenDissolvedTimestampSeconds' : IDL.Nat64,\n });\n const Neuron = IDL.Record({\n 'id' : IDL.Opt(NeuronId),\n 'permissions' : IDL.Vec(NeuronPermission),\n 'maturity_e8s_equivalent' : IDL.Nat64,\n 'cached_neuron_stake_e8s' : IDL.Nat64,\n 'created_timestamp_seconds' : IDL.Nat64,\n 'aging_since_timestamp_seconds' : IDL.Nat64,\n 'dissolve_state' : IDL.Opt(DissolveState),\n 'followees' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followees)),\n 'neuron_fees_e8s' : IDL.Nat64,\n });\n const Governance = IDL.Record({\n 'root_canister_id' : IDL.Opt(IDL.Principal),\n 'id_to_nervous_system_functions' : IDL.Vec(\n IDL.Tuple(IDL.Nat64, NervousSystemFunction)\n ),\n 'metrics' : IDL.Opt(GovernanceCachedMetrics),\n 'mode' : IDL.Int32,\n 'parameters' : IDL.Opt(NervousSystemParameters),\n 'latest_reward_event' : IDL.Opt(RewardEvent),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'proposals' : IDL.Vec(IDL.Tuple(IDL.Nat64, ProposalData)),\n 'in_flight_commands' : IDL.Vec(IDL.Tuple(IDL.Text, NeuronInFlightCommand)),\n 'neurons' : IDL.Vec(IDL.Tuple(IDL.Text, Neuron)),\n 'genesis_timestamp_seconds' : IDL.Nat64,\n });\n return [Governance];\n};\n", "export const toNullable = <T>(value?: T): [] | [T] => {\n return value ? [value] : [];\n};\n", "import type { Principal } from \"@dfinity/principal\";\nimport type {\n Neuron,\n NeuronId,\n _SERVICE as SnsGovernanceCanister,\n} from \"../candid/sns_governance\";\nimport { idlFactory as certifiedIdlFactory } from \"../candid/sns_governance.certified.idl\";\nimport { idlFactory } from \"../candid/sns_governance.idl\";\nimport { MAX_LIST_NEURONS_RESULTS } from \"./constants/governance.constants\";\nimport { Canister } from \"./services/canister\";\nimport type { CanisterOptions } from \"./types/canister.options\";\nimport type { ListNeuronsParams } from \"./types/governance.params\";\nimport type { QueryParams } from \"./types/query.params\";\nimport { createServices } from \"./utils/actor.utils\";\nimport { toNullable } from \"./utils/did.utils\";\n\nexport class GovernanceCanister extends Canister<SnsGovernanceCanister> {\n static create(options: CanisterOptions<SnsGovernanceCanister>) {\n const { service, certifiedService, canisterId } =\n createServices<SnsGovernanceCanister>({\n options,\n idlFactory,\n certifiedIdlFactory,\n });\n\n return new GovernanceCanister(canisterId, service, certifiedService);\n }\n\n /**\n * List the neurons of the Sns\n */\n listNeurons = async (params: ListNeuronsParams): Promise<Neuron[]> => {\n const { principal, limit, beforeNeuronId } = params;\n\n const { neurons } = await this.caller(params).list_neurons({\n of_principal: toNullable<Principal>(principal),\n limit: limit ?? MAX_LIST_NEURONS_RESULTS,\n start_page_at: toNullable<NeuronId>(beforeNeuronId),\n });\n return neurons;\n };\n\n // TODO: replace with effective implementation and types to get the list of metadata once implemented in backend\n metadata = async (params: QueryParams): Promise<string> => {\n return this.caller(params).get_build_metadata();\n };\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a}from"./chunk-YL4WAPXH.js";import"./chunk-VMVMYL6O.js";import"./chunk-A576P2ZR.js";export{a as GovernanceCanister};
2
+ //# sourceMappingURL=governance.canister.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as s}from"./chunk-RB6XGLR7.js";import{a as r}from"./chunk-YL4WAPXH.js";import{a as e}from"./chunk-7F6PCBCJ.js";import{a as o}from"./chunk-LXL5LYD3.js";import"./chunk-YKP66JDM.js";import"./chunk-VMVMYL6O.js";import{a as t}from"./chunk-WPRZTZWQ.js";import"./chunk-A576P2ZR.js";export{r as GovernanceCanister,e as LedgerCanister,o as RootCanister,t as SnsWrapper,s as initSns};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a}from"./chunk-7F6PCBCJ.js";import"./chunk-YKP66JDM.js";import"./chunk-VMVMYL6O.js";import"./chunk-A576P2ZR.js";export{a as LedgerCanister};
2
+ //# sourceMappingURL=ledger.canister.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a}from"./chunk-LXL5LYD3.js";import"./chunk-YKP66JDM.js";import"./chunk-VMVMYL6O.js";import"./chunk-A576P2ZR.js";export{a as RootCanister};
2
+ //# sourceMappingURL=root.canister.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a}from"./chunk-RB6XGLR7.js";import"./chunk-YL4WAPXH.js";import"./chunk-7F6PCBCJ.js";import"./chunk-LXL5LYD3.js";import"./chunk-YKP66JDM.js";import"./chunk-VMVMYL6O.js";import"./chunk-WPRZTZWQ.js";import"./chunk-A576P2ZR.js";export{a as initSns};
2
+ //# sourceMappingURL=sns.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a}from"./chunk-WPRZTZWQ.js";import"./chunk-A576P2ZR.js";export{a as SnsWrapper};
2
+ //# sourceMappingURL=sns.wrapper.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ module.exports = require('./cjs/index.cjs.js');
package/dist/index.js ADDED
@@ -0,0 +1 @@
1
+ export * from './esm/index.js';
@@ -0,0 +1,6 @@
1
+ /**
2
+ * A default length for the queried list of neurons
3
+ *
4
+ * Source: https://github.com/dfinity/ic/blob/master/rs/sns/governance/src/neuron.rs
5
+ */
6
+ export declare const MAX_LIST_NEURONS_RESULTS = 100;
@@ -0,0 +1,13 @@
1
+ import type { Neuron, _SERVICE as SnsGovernanceCanister } from "../candid/sns_governance";
2
+ import { Canister } from "./services/canister";
3
+ import type { CanisterOptions } from "./types/canister.options";
4
+ import type { ListNeuronsParams } from "./types/governance.params";
5
+ import type { QueryParams } from "./types/query.params";
6
+ export declare class GovernanceCanister extends Canister<SnsGovernanceCanister> {
7
+ static create(options: CanisterOptions<SnsGovernanceCanister>): GovernanceCanister;
8
+ /**
9
+ * List the neurons of the Sns
10
+ */
11
+ listNeurons: (params: ListNeuronsParams) => Promise<Neuron[]>;
12
+ metadata: (params: QueryParams) => Promise<string>;
13
+ }
@@ -0,0 +1,10 @@
1
+ export type { Neuron, NeuronId } from "../candid/sns_governance";
2
+ export type { CanisterStatusResultV2 } from "../candid/sns_root";
3
+ export { GovernanceCanister } from "./governance.canister";
4
+ export { LedgerCanister } from "./ledger.canister";
5
+ export { RootCanister } from "./root.canister";
6
+ export * from "./sns";
7
+ export * from "./sns.wrapper";
8
+ export type { CanisterOptions } from "./types/canister.options";
9
+ export type { ListNeuronsParams } from "./types/governance.params";
10
+ export type { QueryParams } from "./types/query.params";
@@ -0,0 +1,6 @@
1
+ import type { _SERVICE as SnsLedgerCanister } from "../candid/ledger";
2
+ import { Canister } from "./services/canister";
3
+ import type { CanisterOptions } from "./types/canister.options";
4
+ export declare class LedgerCanister extends Canister<SnsLedgerCanister> {
5
+ static create(options: CanisterOptions<SnsLedgerCanister>): LedgerCanister;
6
+ }
@@ -0,0 +1,22 @@
1
+ import type { Principal } from "@dfinity/principal";
2
+ import type { CanisterStatusResultV2, _SERVICE as SnsRootCanister } from "../candid/sns_root";
3
+ import { Canister } from "./services/canister";
4
+ import type { CanisterOptions } from "./types/canister.options";
5
+ export declare class RootCanister extends Canister<SnsRootCanister> {
6
+ static create(options: CanisterOptions<SnsRootCanister>): RootCanister;
7
+ /**
8
+ * List and get a summary of the canisters that are part of the Sns.
9
+ *
10
+ * Source code: https://github.com/dfinity/ic/blob/master/rs/sns/root/src/lib.rs
11
+ *
12
+ * @param {Object} params
13
+ * @param {boolean} [params.certified=true] - Query or update calls
14
+ * @param {Principal[]} params.additionalCanisterIds - An optional list of additional canister ids whose status would also have to be requested and added to the returned list
15
+ *
16
+ * @returns {Array<[string, Principal, CanisterStatusResultV2]>} - A list of canisters with type ('root' | 'governance' | 'ledger' | 'dapp' | 'sale'), id and status
17
+ */
18
+ canistersSummary: ({ certified, additionalCanisterIds, }: {
19
+ certified?: boolean | undefined;
20
+ additionalCanisterIds?: Principal[] | undefined;
21
+ }) => Promise<Array<[string, Principal, CanisterStatusResultV2]>>;
22
+ }
@@ -0,0 +1,10 @@
1
+ import type { Principal } from "@dfinity/principal";
2
+ import type { QueryParams } from "../types/query.params";
3
+ export declare abstract class Canister<T> {
4
+ private readonly id;
5
+ protected readonly service: T;
6
+ protected readonly certifiedService: T;
7
+ protected constructor(id: Principal, service: T, certifiedService: T);
8
+ get canisterId(): Principal;
9
+ protected caller: ({ certified }: QueryParams) => T;
10
+ }
@@ -0,0 +1,21 @@
1
+ import type { Agent } from "@dfinity/agent";
2
+ import type { _SERVICE as SnsRootCanister } from "../candid/sns_root";
3
+ import { SnsWrapper } from "./sns.wrapper";
4
+ import type { CanisterOptions } from "./types/canister.options";
5
+ import type { QueryParams } from "./types/query.params";
6
+ /**
7
+ * Options to discover and initialize all canisters of a Sns.
8
+ */
9
+ export interface InitSnsCanistersOptions extends QueryParams {
10
+ /** An agent that can be used to override the default agent. Useful to target another environment that mainnet. */
11
+ agent?: Agent;
12
+ /** The options that will be used to instantiate the actors of the root canister of the particular Sns. */
13
+ rootOptions: Omit<CanisterOptions<SnsRootCanister>, "agent">;
14
+ }
15
+ export interface InitSns {
16
+ (options: InitSnsCanistersOptions): Promise<SnsWrapper>;
17
+ }
18
+ /**
19
+ * Lookup for the canister ids of a Sns and initialize the wrapper to access its features.
20
+ */
21
+ export declare const initSns: InitSns;
@@ -0,0 +1,43 @@
1
+ import type { Principal } from "@dfinity/principal";
2
+ import type { Neuron } from "../candid/sns_governance";
3
+ import type { GovernanceCanister } from "./governance.canister";
4
+ import type { LedgerCanister } from "./ledger.canister";
5
+ import type { RootCanister } from "./root.canister";
6
+ import type { ListNeuronsParams } from "./types/governance.params";
7
+ import type { QueryParams } from "./types/query.params";
8
+ interface SnsWrapperOptions {
9
+ /** The wrapper for the "root" canister of the particular Sns */
10
+ root: RootCanister;
11
+ /** The wrapper for the "governance" canister of the particular Sns */
12
+ governance: GovernanceCanister;
13
+ /** The wrapper for the "ledger" canister of the particular Sns */
14
+ ledger: LedgerCanister;
15
+ /** The wrapper has been instantiated and should perform query or update calls */
16
+ certified: boolean;
17
+ }
18
+ /**
19
+ * Sns wrapper - notably used by NNS-dapp - ease the access to a particular Sns.
20
+ * It knows all the Sns' canisters, wrap and enhance their available features.
21
+ * A wrapper either performs query or update calls.
22
+ */
23
+ export declare class SnsWrapper {
24
+ private readonly root;
25
+ private readonly governance;
26
+ private readonly ledger;
27
+ private readonly certified;
28
+ /**
29
+ * Constructor to instantiate a Sns
30
+ */
31
+ constructor({ root, governance, ledger, certified }: SnsWrapperOptions);
32
+ /**
33
+ * Binds the list of canister ids of the Sns.
34
+ */
35
+ get canisterIds(): {
36
+ rootCanisterId: Principal;
37
+ ledgerCanisterId: Principal;
38
+ governanceCanisterId: Principal;
39
+ };
40
+ listNeurons: (params: Omit<ListNeuronsParams, "certified">) => Promise<Neuron[]>;
41
+ metadata: (params: Omit<QueryParams, "certified">) => Promise<string>;
42
+ }
43
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { ActorSubclass, Agent } from "@dfinity/agent";
2
+ import type { Principal } from "@dfinity/principal";
3
+ export interface CanisterOptions<T> {
4
+ agent?: Agent;
5
+ canisterId: Principal;
6
+ serviceOverride?: ActorSubclass<T>;
7
+ certifiedServiceOverride?: ActorSubclass<T>;
8
+ }
@@ -0,0 +1,14 @@
1
+ import type { Principal } from "@dfinity/principal";
2
+ import type { NeuronId } from "../../candid/sns_governance";
3
+ import type { QueryParams } from "./query.params";
4
+ /**
5
+ * The parameters available to list Sns neurons
6
+ */
7
+ export interface ListNeuronsParams extends QueryParams {
8
+ /** Scope the query to a particular principal */
9
+ principal?: Principal | undefined;
10
+ /** The maximum number of neurons returned by the method `list_neurons` */
11
+ limit?: number;
12
+ /** Index the search to returns a list that starts after specified neuron id */
13
+ beforeNeuronId?: NeuronId;
14
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * The common parameters to query Sns features
3
+ */
4
+ export interface QueryParams {
5
+ /** Perform update calls (certified) or query calls (not certified). */
6
+ certified?: boolean;
7
+ }
@@ -0,0 +1,14 @@
1
+ import type { ActorSubclass, Agent } from "@dfinity/agent";
2
+ import type { IDL } from "@dfinity/candid";
3
+ import type { Principal } from "@dfinity/principal";
4
+ import type { CanisterOptions } from "../types/canister.options";
5
+ export declare const createServices: <T>({ options: { canisterId, serviceOverride, certifiedServiceOverride, agent: agentOption, }, idlFactory, certifiedIdlFactory, }: {
6
+ options: CanisterOptions<T>;
7
+ idlFactory: IDL.InterfaceFactory;
8
+ certifiedIdlFactory: IDL.InterfaceFactory;
9
+ }) => {
10
+ service: ActorSubclass<T>;
11
+ certifiedService: ActorSubclass<T>;
12
+ agent: Agent;
13
+ canisterId: Principal;
14
+ };
@@ -0,0 +1,5 @@
1
+ import type { Agent } from "@dfinity/agent";
2
+ /**
3
+ * @returns The default agent to use. An agent that connects to mainnet with the anonymous identity.
4
+ */
5
+ export declare const defaultAgent: () => Agent;
@@ -0,0 +1,3 @@
1
+ export declare class NullishError extends Error {
2
+ }
3
+ export declare const assertNonNullish: <T>(value: T, message?: string) => asserts value is NonNullable<T>;
@@ -0,0 +1 @@
1
+ export declare const toNullable: <T>(value?: T | undefined) => [] | [T];
package/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "@dfinity/sns",
3
+ "version": "0.0.1",
4
+ "description": "A library for interfacing with a Service Nervous System (SNS) project.",
5
+ "license": "Apache-2.0",
6
+ "main": "dist/cjs/index.cjs.js",
7
+ "module": "dist/esm/index.js",
8
+ "types": "dist/types/index.d.ts",
9
+ "files": [
10
+ "dist",
11
+ "README.md",
12
+ "LICENSE"
13
+ ],
14
+ "scripts": {
15
+ "rmdir": "node ../../scripts/rmdir.mjs",
16
+ "ts-declaration": "tsc --emitDeclarationOnly --outDir dist/types",
17
+ "build": "npm run rmdir && mkdir -p dist && cp -R candid dist && node esbuild.mjs && npm run ts-declaration",
18
+ "prepack": "npm run build",
19
+ "test": "jest"
20
+ },
21
+ "dependencies": {},
22
+ "devDependencies": {},
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "git+https://github.com/dfinity/ic-js.git",
26
+ "directory": "packages/sns"
27
+ },
28
+ "bugs": {
29
+ "url": "https://github.com/dfinity/ic-js"
30
+ },
31
+ "keywords": [
32
+ "internet computer",
33
+ "internet-computer",
34
+ "ic",
35
+ "dfinity",
36
+ "service nervous system",
37
+ "service-nervous-system",
38
+ "sns"
39
+ ]
40
+ }