@dfinity/sns 0.0.9-next-2023-01-23.1 → 0.0.9

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 (68) hide show
  1. package/README.md +32 -155
  2. package/dist/cjs/index.cjs.js +1 -1
  3. package/dist/cjs/index.cjs.js.map +4 -4
  4. package/dist/esm/{chunk-ZQHCVM3G.js → chunk-3LJY6LVG.js} +2 -2
  5. package/dist/esm/chunk-3LJY6LVG.js.map +7 -0
  6. package/dist/esm/chunk-4DVHTIBE.js +2 -0
  7. package/dist/esm/chunk-4DVHTIBE.js.map +7 -0
  8. package/dist/esm/chunk-BEYYXOSH.js +2 -0
  9. package/dist/esm/chunk-BEYYXOSH.js.map +7 -0
  10. package/dist/esm/chunk-CCEFEKLW.js +2 -0
  11. package/dist/esm/chunk-CCEFEKLW.js.map +7 -0
  12. package/dist/esm/chunk-DHCZC62R.js +2 -0
  13. package/dist/esm/chunk-DHCZC62R.js.map +7 -0
  14. package/dist/esm/chunk-GOUFBQPM.js +2 -0
  15. package/dist/esm/chunk-GOUFBQPM.js.map +7 -0
  16. package/dist/esm/governance.canister.js +1 -1
  17. package/dist/esm/index.js +1 -1
  18. package/dist/esm/index.js.map +4 -4
  19. package/dist/esm/root.canister.js +1 -1
  20. package/dist/esm/sns-index.canister.js +1 -1
  21. package/dist/esm/sns.js +1 -1
  22. package/dist/esm/sns.wrapper.js +1 -1
  23. package/dist/esm/swap.canister.js +1 -1
  24. package/dist/types/converters/governance.converters.d.ts +2 -2
  25. package/dist/types/governance.canister.d.ts +4 -4
  26. package/dist/types/index.d.ts +0 -6
  27. package/dist/types/root.canister.d.ts +1 -1
  28. package/dist/types/sns-index.canister.d.ts +1 -1
  29. package/dist/types/sns.d.ts +1 -1
  30. package/dist/types/sns.wrapper.d.ts +10 -13
  31. package/dist/types/swap.canister.d.ts +2 -2
  32. package/dist/types/types/governance.params.d.ts +9 -10
  33. package/dist/types/types/sns-index.params.d.ts +2 -2
  34. package/dist/types/utils/governance.utils.d.ts +2 -2
  35. package/package.json +4 -3
  36. package/dist/candid/icrc1_ledger.certified.idl.d.ts +0 -2
  37. package/dist/candid/icrc1_ledger.certified.idl.js +0 -104
  38. package/dist/candid/icrc1_ledger.d.ts +0 -68
  39. package/dist/candid/icrc1_ledger.did +0 -78
  40. package/dist/candid/icrc1_ledger.idl.d.ts +0 -2
  41. package/dist/candid/icrc1_ledger.idl.js +0 -108
  42. package/dist/esm/chunk-3ILWXFKL.js +0 -2
  43. package/dist/esm/chunk-3ILWXFKL.js.map +0 -7
  44. package/dist/esm/chunk-7HDVOEDZ.js +0 -2
  45. package/dist/esm/chunk-7HDVOEDZ.js.map +0 -7
  46. package/dist/esm/chunk-AO57KSRV.js +0 -2
  47. package/dist/esm/chunk-AO57KSRV.js.map +0 -7
  48. package/dist/esm/chunk-BUJTP4PS.js +0 -2
  49. package/dist/esm/chunk-BUJTP4PS.js.map +0 -7
  50. package/dist/esm/chunk-E2QHP7MM.js +0 -2
  51. package/dist/esm/chunk-E2QHP7MM.js.map +0 -7
  52. package/dist/esm/chunk-IISOPVDG.js +0 -2
  53. package/dist/esm/chunk-IISOPVDG.js.map +0 -7
  54. package/dist/esm/chunk-KYZU7GQT.js +0 -2
  55. package/dist/esm/chunk-KYZU7GQT.js.map +0 -7
  56. package/dist/esm/chunk-NSPDKYAK.js +0 -2
  57. package/dist/esm/chunk-NSPDKYAK.js.map +0 -7
  58. package/dist/esm/chunk-ZQHCVM3G.js.map +0 -7
  59. package/dist/esm/ledger.canister.js +0 -2
  60. package/dist/esm/ledger.canister.js.map +0 -7
  61. package/dist/types/converters/ledger.converters.d.ts +0 -5
  62. package/dist/types/errors/ledger.errors.d.ts +0 -8
  63. package/dist/types/ledger.canister.d.ts +0 -34
  64. package/dist/types/services/canister.d.ts +0 -10
  65. package/dist/types/types/ledger.params.d.ts +0 -30
  66. package/dist/types/types/ledger.responses.d.ts +0 -16
  67. package/dist/types/types/query.params.d.ts +0 -7
  68. package/dist/types/utils/ledger.utils.d.ts +0 -18
package/README.md CHANGED
@@ -21,7 +21,7 @@ npm i @dfinity/sns
21
21
  The bundle needs peer dependencies, be sure that following resources are available in your project as well.
22
22
 
23
23
  ```bash
24
- npm i @dfinity/agent @dfinity/candid @dfinity/principal @dfinity/utils
24
+ npm i @dfinity/agent @dfinity/candid @dfinity/principal @dfinity/utils @dfinity/ledger
25
25
  ```
26
26
 
27
27
  ## Usage
@@ -56,14 +56,9 @@ const { metadata: governanceMetadata } = SnsGovernanceCanister.create({
56
56
  agent,
57
57
  canisterId: rootCanisterId,
58
58
  });
59
- const { metadata: ledgerMetadata } = SnsLedgerCanister.create({
60
- agent,
61
- canisterId: rootCanisterId,
62
- });
63
59
  const metadata = await governanceMetadata({ certified: true });
64
- const token = await ledgerMetadata({ certified: true });
65
60
 
66
- console.log("Summary data:", metadata, token);
61
+ console.log("Summary data:", metadata);
67
62
  ```
68
63
 
69
64
  ## Features
@@ -75,8 +70,6 @@ console.log("Summary data:", metadata, token);
75
70
  ### :toolbox: Functions
76
71
 
77
72
  - [initSnsWrapper](#gear-initsnswrapper)
78
- - [encodeSnsAccount](#gear-encodesnsaccount)
79
- - [decodeSnsAccount](#gear-decodesnsaccount)
80
73
 
81
74
  #### :gear: initSnsWrapper
82
75
 
@@ -86,44 +79,12 @@ Lookup for the canister ids of a Sns and initialize the wrapper to access its fe
86
79
  | ---------------- | ---------------- |
87
80
  | `initSnsWrapper` | `InitSnsWrapper` |
88
81
 
89
- #### :gear: encodeSnsAccount
90
-
91
- Encodes an SNS account into a string.
92
- Formatting Reference: https://github.com/dfinity/ICRC-1/pull/55/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R238
93
-
94
- | Function | Type |
95
- | ------------------ | ----------------------------------------------- |
96
- | `encodeSnsAccount` | `({ owner, subaccount }: SnsAccount) => string` |
97
-
98
- Parameters:
99
-
100
- - `snsAccount`: : Principal, subaccount?: Uint8Array }
101
-
102
- #### :gear: decodeSnsAccount
103
-
104
- Decodes a string into an SNS account.
105
- Formatting Reference: https://github.com/dfinity/ICRC-1/pull/55/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R268
106
-
107
- | Function | Type |
108
- | ------------------ | --------------------------------------- |
109
- | `decodeSnsAccount` | `(accountString: string) => SnsAccount` |
110
-
111
- Parameters:
112
-
113
- - `snsAccountString`: string
114
-
115
82
  ### :factory: SnsGovernanceCanister
116
83
 
117
84
  #### Constructors
118
85
 
119
86
  `public`
120
87
 
121
- Parameters:
122
-
123
- - `id`
124
- - `service`
125
- - `certifiedService`
126
-
127
88
  #### Methods
128
89
 
129
90
  - [create](#gear-create)
@@ -215,17 +176,17 @@ Get the Sns nervous system parameters (default followees, max dissolve delay, ma
215
176
 
216
177
  Get the neuron of the Sns
217
178
 
218
- | Method | Type |
219
- | ----------- | ----------------------------------------------------------------- |
220
- | `getNeuron` | `(params: SnsGetNeuronParams and QueryParams) => Promise<Neuron>` |
179
+ | Method | Type |
180
+ | ----------- | ------------------------------------------------- |
181
+ | `getNeuron` | `(params: SnsGetNeuronParams) => Promise<Neuron>` |
221
182
 
222
183
  ##### :gear: queryNeuron
223
184
 
224
185
  Same as `getNeuron` but returns undefined instead of raising error when not found.
225
186
 
226
- | Method | Type |
227
- | ------------- | ----------------------------------------------------------------- |
228
- | `queryNeuron` | `(params: SnsGetNeuronParams and QueryParams) => Promise<Neuron>` |
187
+ | Method | Type |
188
+ | ------------- | ------------------------------------------------- |
189
+ | `queryNeuron` | `(params: SnsGetNeuronParams) => Promise<Neuron>` |
229
190
 
230
191
  ##### :gear: manageNeuron
231
192
 
@@ -349,84 +310,12 @@ Claim neuron
349
310
  | ------------- | -------------------------------------------------------------------------------- |
350
311
  | `claimNeuron` | `({ memo, controller, subaccount, }: SnsClaimNeuronParams) => Promise<NeuronId>` |
351
312
 
352
- ### :factory: SnsLedgerCanister
353
-
354
- #### Constructors
355
-
356
- `public`
357
-
358
- Parameters:
359
-
360
- - `id`
361
- - `service`
362
- - `certifiedService`
363
-
364
- #### Methods
365
-
366
- - [create](#gear-create)
367
- - [metadata](#gear-metadata)
368
- - [transactionFee](#gear-transactionfee)
369
- - [balance](#gear-balance)
370
- - [transfer](#gear-transfer)
371
-
372
- ##### :gear: create
373
-
374
- | Method | Type |
375
- | -------- | -------------------------------------------------------------- |
376
- | `create` | `(options: SnsCanisterOptions<_SERVICE>) => SnsLedgerCanister` |
377
-
378
- ##### :gear: metadata
379
-
380
- The token metadata (name, symbol, etc.).
381
-
382
- | Method | Type |
383
- | ---------- | ------------------------------------------------------------ |
384
- | `metadata` | `(params: QueryParams) => Promise<SnsTokenMetadataResponse>` |
385
-
386
- ##### :gear: transactionFee
387
-
388
- The ledger transaction fees.
389
-
390
- | Method | Type |
391
- | ---------------- | ------------------------------------------ |
392
- | `transactionFee` | `(params: QueryParams) => Promise<bigint>` |
393
-
394
- ##### :gear: balance
395
-
396
- Returns the balance of the given account.
397
-
398
- | Method | Type |
399
- | --------- | -------------------------------------------- |
400
- | `balance` | `(params: BalanceParams) => Promise<bigint>` |
401
-
402
- Parameters:
403
-
404
- - `params`: The parameters to get the balance of an account.
405
-
406
- ##### :gear: transfer
407
-
408
- Transfers tokens from the sender to the given account.
409
-
410
- | Method | Type |
411
- | ---------- | --------------------------------------------- |
412
- | `transfer` | `(params: TransferParams) => Promise<bigint>` |
413
-
414
- Parameters:
415
-
416
- - `params`: The parameters to transfer tokens.
417
-
418
313
  ### :factory: SnsRootCanister
419
314
 
420
315
  #### Constructors
421
316
 
422
317
  `public`
423
318
 
424
- Parameters:
425
-
426
- - `id`
427
- - `service`
428
- - `certifiedService`
429
-
430
319
  #### Methods
431
320
 
432
321
  - [create](#gear-create)
@@ -454,12 +343,6 @@ Source code: https://github.com/dfinity/ic/blob/master/rs/sns/root/src/lib.rs
454
343
 
455
344
  `public`
456
345
 
457
- Parameters:
458
-
459
- - `id`
460
- - `service`
461
- - `certifiedService`
462
-
463
346
  #### Methods
464
347
 
465
348
  - [create](#gear-create)
@@ -490,12 +373,6 @@ Index Canister only holds the transactions ids in state, not the whole transacti
490
373
 
491
374
  `public`
492
375
 
493
- Parameters:
494
-
495
- - `id`
496
- - `service`
497
- - `certifiedService`
498
-
499
376
  #### Methods
500
377
 
501
378
  - [create](#gear-create)
@@ -529,9 +406,9 @@ Notify of the user participating in the swap
529
406
 
530
407
  Get user commitment
531
408
 
532
- | Method | Type |
533
- | ------------------- | ----------------------------------------------------------------------- |
534
- | `getUserCommitment` | `(params: GetBuyerStateRequest and QueryParams) => Promise<BuyerState>` |
409
+ | Method | Type |
410
+ | ------------------- | -------------------------------------- |
411
+ | `getUserCommitment` | `(params: any) => Promise<BuyerState>` |
535
412
 
536
413
  ### :factory: SnsWrapper
537
414
 
@@ -609,9 +486,9 @@ Parameters:
609
486
 
610
487
  ##### :gear: metadata
611
488
 
612
- | Method | Type |
613
- | ---------- | ------------------------------------------------------------------------------------------------------ |
614
- | `metadata` | `(params: Omit<QueryParams, "certified">) => Promise<[GetMetadataResponse, SnsTokenMetadataResponse]>` |
489
+ | Method | Type |
490
+ | ---------- | ------------------------------------------------------------------------------------------------------- |
491
+ | `metadata` | `(params: Omit<QueryParams, "certified">) => Promise<[GetMetadataResponse, IcrcTokenMetadataResponse]>` |
615
492
 
616
493
  ##### :gear: nervousSystemParameters
617
494
 
@@ -621,27 +498,27 @@ Parameters:
621
498
 
622
499
  ##### :gear: ledgerMetadata
623
500
 
624
- | Method | Type |
625
- | ---------------- | ------------------------------------------------------------------------------- |
626
- | `ledgerMetadata` | `(params: Omit<QueryParams, "certified">) => Promise<SnsTokenMetadataResponse>` |
501
+ | Method | Type |
502
+ | ---------------- | -------------------------------------------------------------------------------- |
503
+ | `ledgerMetadata` | `(params: Omit<QueryParams, "certified">) => Promise<IcrcTokenMetadataResponse>` |
627
504
 
628
505
  ##### :gear: transactionFee
629
506
 
630
- | Method | Type |
631
- | ---------------- | ------------------------------------------------------------- |
632
- | `transactionFee` | `(params: Omit<QueryParams, "certified">) => Promise<bigint>` |
507
+ | Method | Type |
508
+ | ---------------- | ----------------------------------------------------------------- |
509
+ | `transactionFee` | `(params: Omit<QueryParams, "certified">) => Promise<IcrcTokens>` |
633
510
 
634
511
  ##### :gear: balance
635
512
 
636
- | Method | Type |
637
- | --------- | --------------------------------------------------------------- |
638
- | `balance` | `(params: Omit<BalanceParams, "certified">) => Promise<bigint>` |
513
+ | Method | Type |
514
+ | --------- | ------------------------------------------------------------------- |
515
+ | `balance` | `(params: Omit<BalanceParams, "certified">) => Promise<IcrcTokens>` |
639
516
 
640
517
  ##### :gear: transfer
641
518
 
642
- | Method | Type |
643
- | ---------- | --------------------------------------------- |
644
- | `transfer` | `(params: TransferParams) => Promise<bigint>` |
519
+ | Method | Type |
520
+ | ---------- | ----------------------------------------------------- |
521
+ | `transfer` | `(params: TransferParams) => Promise<IcrcBlockIndex>` |
645
522
 
646
523
  ##### :gear: getNeuron
647
524
 
@@ -669,9 +546,9 @@ If the neuron does not exist for that subaccount, then we use it for the next ne
669
546
  The index is used in the memo of the transfer and when claiming the neuron.
670
547
  This is how the backend can identify which neuron is being claimed.
671
548
 
672
- | Method | Type |
673
- | ------------------- | ----------------------------------------------------------------------------- |
674
- | `nextNeuronAccount` | `(controller: Principal) => Promise<{ account: SnsAccount; index: bigint; }>` |
549
+ | Method | Type |
550
+ | ------------------- | ------------------------------------------------------------------------------ |
551
+ | `nextNeuronAccount` | `(controller: Principal) => Promise<{ account: IcrcAccount; index: bigint; }>` |
675
552
 
676
553
  ##### :gear: stakeNeuron
677
554
 
@@ -699,9 +576,9 @@ This is a convenient method that transfers the stake to the neuron subaccount an
699
576
 
700
577
  ##### :gear: getNeuronBalance
701
578
 
702
- | Method | Type |
703
- | ------------------ | ----------------------------------------- |
704
- | `getNeuronBalance` | `(neuronId: NeuronId) => Promise<bigint>` |
579
+ | Method | Type |
580
+ | ------------------ | --------------------------------------------- |
581
+ | `getNeuronBalance` | `(neuronId: NeuronId) => Promise<IcrcTokens>` |
705
582
 
706
583
  ##### :gear: addNeuronPermissions
707
584
 
@@ -1,2 +1,2 @@
1
- "use strict";var Xt=Object.create;var de=Object.defineProperty;var zt=Object.getOwnPropertyDescriptor;var Wt=Object.getOwnPropertyNames;var Yt=Object.getPrototypeOf,Qt=Object.prototype.hasOwnProperty;var jt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Jt=(e,t)=>{for(var s in t)de(e,s,{get:t[s],enumerable:!0})},tt=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Wt(t))!Qt.call(e,n)&&n!==s&&de(e,n,{get:()=>t[n],enumerable:!(r=zt(t,n))||r.enumerable});return e};var Kt=(e,t,s)=>(s=e!=null?Xt(Yt(e)):{},tt(t||!e||!e.__esModule?de(s,"default",{value:e,enumerable:!0}):s,e)),$t=e=>tt(de({},"__esModule",{value:!0}),e);var Et=jt((exports,module)=>{(function(){"use strict";var ERROR="input is invalid type",WINDOW=typeof window=="object",root=WINDOW?window:{};root.JS_SHA256_NO_WINDOW&&(WINDOW=!1);var WEB_WORKER=!WINDOW&&typeof self=="object",NODE_JS=!root.JS_SHA256_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;NODE_JS?root=global:WEB_WORKER&&(root=self);var COMMON_JS=!root.JS_SHA256_NO_COMMON_JS&&typeof module=="object"&&module.exports,AMD=typeof define=="function"&&define.amd,ARRAY_BUFFER=!root.JS_SHA256_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",HEX_CHARS="0123456789abcdef".split(""),EXTRA=[-2147483648,8388608,32768,128],SHIFT=[24,16,8,0],K=[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],OUTPUT_TYPES=["hex","array","digest","arrayBuffer"],blocks=[];(root.JS_SHA256_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(e){return Object.prototype.toString.call(e)==="[object Array]"}),ARRAY_BUFFER&&(root.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(e){return typeof e=="object"&&e.buffer&&e.buffer.constructor===ArrayBuffer});var createOutputMethod=function(e,t){return function(s){return new Sha256(t,!0).update(s)[e]()}},createMethod=function(e){var t=createOutputMethod("hex",e);NODE_JS&&(t=nodeWrap(t,e)),t.create=function(){return new Sha256(e)},t.update=function(n){return t.create().update(n)};for(var s=0;s<OUTPUT_TYPES.length;++s){var r=OUTPUT_TYPES[s];t[r]=createOutputMethod(r,e)}return t},nodeWrap=function(method,is224){var crypto=eval("require('crypto')"),Buffer=eval("require('buffer').Buffer"),algorithm=is224?"sha224":"sha256",nodeMethod=function(e){if(typeof e=="string")return crypto.createHash(algorithm).update(e,"utf8").digest("hex");if(e==null)throw new Error(ERROR);return e.constructor===ArrayBuffer&&(e=new Uint8Array(e)),Array.isArray(e)||ArrayBuffer.isView(e)||e.constructor===Buffer?crypto.createHash(algorithm).update(new Buffer(e)).digest("hex"):method(e)};return nodeMethod},createHmacOutputMethod=function(e,t){return function(s,r){return new HmacSha256(s,t,!0).update(r)[e]()}},createHmacMethod=function(e){var t=createHmacOutputMethod("hex",e);t.create=function(n){return new HmacSha256(n,e)},t.update=function(n,o){return t.create(n).update(o)};for(var s=0;s<OUTPUT_TYPES.length;++s){var r=OUTPUT_TYPES[s];t[r]=createHmacOutputMethod(r,e)}return t};function Sha256(e,t){t?(blocks[0]=blocks[16]=blocks[1]=blocks[2]=blocks[3]=blocks[4]=blocks[5]=blocks[6]=blocks[7]=blocks[8]=blocks[9]=blocks[10]=blocks[11]=blocks[12]=blocks[13]=blocks[14]=blocks[15]=0,this.blocks=blocks):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],e?(this.h0=3238371032,this.h1=914150663,this.h2=812702999,this.h3=4144912697,this.h4=4290775857,this.h5=1750603025,this.h6=1694076839,this.h7=3204075428):(this.h0=1779033703,this.h1=3144134277,this.h2=1013904242,this.h3=2773480762,this.h4=1359893119,this.h5=2600822924,this.h6=528734635,this.h7=1541459225),this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0,this.is224=e}Sha256.prototype.update=function(e){if(!this.finalized){var t,s=typeof e;if(s!=="string"){if(s==="object"){if(e===null)throw new Error(ERROR);if(ARRAY_BUFFER&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!ARRAY_BUFFER||!ArrayBuffer.isView(e)))throw new Error(ERROR)}else throw new Error(ERROR);t=!0}for(var r,n=0,o,i=e.length,a=this.blocks;n<i;){if(this.hashed&&(this.hashed=!1,a[0]=this.block,a[16]=a[1]=a[2]=a[3]=a[4]=a[5]=a[6]=a[7]=a[8]=a[9]=a[10]=a[11]=a[12]=a[13]=a[14]=a[15]=0),t)for(o=this.start;n<i&&o<64;++n)a[o>>2]|=e[n]<<SHIFT[o++&3];else for(o=this.start;n<i&&o<64;++n)r=e.charCodeAt(n),r<128?a[o>>2]|=r<<SHIFT[o++&3]:r<2048?(a[o>>2]|=(192|r>>6)<<SHIFT[o++&3],a[o>>2]|=(128|r&63)<<SHIFT[o++&3]):r<55296||r>=57344?(a[o>>2]|=(224|r>>12)<<SHIFT[o++&3],a[o>>2]|=(128|r>>6&63)<<SHIFT[o++&3],a[o>>2]|=(128|r&63)<<SHIFT[o++&3]):(r=65536+((r&1023)<<10|e.charCodeAt(++n)&1023),a[o>>2]|=(240|r>>18)<<SHIFT[o++&3],a[o>>2]|=(128|r>>12&63)<<SHIFT[o++&3],a[o>>2]|=(128|r>>6&63)<<SHIFT[o++&3],a[o>>2]|=(128|r&63)<<SHIFT[o++&3]);this.lastByteIndex=o,this.bytes+=o-this.start,o>=64?(this.block=a[16],this.start=o-64,this.hash(),this.hashed=!0):this.start=o}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},Sha256.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[16]=this.block,e[t>>2]|=EXTRA[t&3],this.block=e[16],t>=56&&(this.hashed||this.hash(),e[0]=this.block,e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.hBytes<<3|this.bytes>>>29,e[15]=this.bytes<<3,this.hash()}},Sha256.prototype.hash=function(){var e=this.h0,t=this.h1,s=this.h2,r=this.h3,n=this.h4,o=this.h5,i=this.h6,a=this.h7,c=this.blocks,p,d,_,l,u,N,m,R,g,f,O;for(p=16;p<64;++p)u=c[p-15],d=(u>>>7|u<<25)^(u>>>18|u<<14)^u>>>3,u=c[p-2],_=(u>>>17|u<<15)^(u>>>19|u<<13)^u>>>10,c[p]=c[p-16]+d+c[p-7]+_<<0;for(O=t&s,p=0;p<64;p+=4)this.first?(this.is224?(R=300032,u=c[0]-1413257819,a=u-150054599<<0,r=u+24177077<<0):(R=704751109,u=c[0]-210244248,a=u-1521486534<<0,r=u+143694565<<0),this.first=!1):(d=(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10),_=(n>>>6|n<<26)^(n>>>11|n<<21)^(n>>>25|n<<7),R=e&t,l=R^e&s^O,m=n&o^~n&i,u=a+_+m+K[p]+c[p],N=d+l,a=r+u<<0,r=u+N<<0),d=(r>>>2|r<<30)^(r>>>13|r<<19)^(r>>>22|r<<10),_=(a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7),g=r&e,l=g^r&t^R,m=a&n^~a&o,u=i+_+m+K[p+1]+c[p+1],N=d+l,i=s+u<<0,s=u+N<<0,d=(s>>>2|s<<30)^(s>>>13|s<<19)^(s>>>22|s<<10),_=(i>>>6|i<<26)^(i>>>11|i<<21)^(i>>>25|i<<7),f=s&r,l=f^s&e^g,m=i&a^~i&n,u=o+_+m+K[p+2]+c[p+2],N=d+l,o=t+u<<0,t=u+N<<0,d=(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10),_=(o>>>6|o<<26)^(o>>>11|o<<21)^(o>>>25|o<<7),O=t&s,l=O^t&r^f,m=o&i^~o&a,u=n+_+m+K[p+3]+c[p+3],N=d+l,n=e+u<<0,e=u+N<<0;this.h0=this.h0+e<<0,this.h1=this.h1+t<<0,this.h2=this.h2+s<<0,this.h3=this.h3+r<<0,this.h4=this.h4+n<<0,this.h5=this.h5+o<<0,this.h6=this.h6+i<<0,this.h7=this.h7+a<<0},Sha256.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,s=this.h2,r=this.h3,n=this.h4,o=this.h5,i=this.h6,a=this.h7,c=HEX_CHARS[e>>28&15]+HEX_CHARS[e>>24&15]+HEX_CHARS[e>>20&15]+HEX_CHARS[e>>16&15]+HEX_CHARS[e>>12&15]+HEX_CHARS[e>>8&15]+HEX_CHARS[e>>4&15]+HEX_CHARS[e&15]+HEX_CHARS[t>>28&15]+HEX_CHARS[t>>24&15]+HEX_CHARS[t>>20&15]+HEX_CHARS[t>>16&15]+HEX_CHARS[t>>12&15]+HEX_CHARS[t>>8&15]+HEX_CHARS[t>>4&15]+HEX_CHARS[t&15]+HEX_CHARS[s>>28&15]+HEX_CHARS[s>>24&15]+HEX_CHARS[s>>20&15]+HEX_CHARS[s>>16&15]+HEX_CHARS[s>>12&15]+HEX_CHARS[s>>8&15]+HEX_CHARS[s>>4&15]+HEX_CHARS[s&15]+HEX_CHARS[r>>28&15]+HEX_CHARS[r>>24&15]+HEX_CHARS[r>>20&15]+HEX_CHARS[r>>16&15]+HEX_CHARS[r>>12&15]+HEX_CHARS[r>>8&15]+HEX_CHARS[r>>4&15]+HEX_CHARS[r&15]+HEX_CHARS[n>>28&15]+HEX_CHARS[n>>24&15]+HEX_CHARS[n>>20&15]+HEX_CHARS[n>>16&15]+HEX_CHARS[n>>12&15]+HEX_CHARS[n>>8&15]+HEX_CHARS[n>>4&15]+HEX_CHARS[n&15]+HEX_CHARS[o>>28&15]+HEX_CHARS[o>>24&15]+HEX_CHARS[o>>20&15]+HEX_CHARS[o>>16&15]+HEX_CHARS[o>>12&15]+HEX_CHARS[o>>8&15]+HEX_CHARS[o>>4&15]+HEX_CHARS[o&15]+HEX_CHARS[i>>28&15]+HEX_CHARS[i>>24&15]+HEX_CHARS[i>>20&15]+HEX_CHARS[i>>16&15]+HEX_CHARS[i>>12&15]+HEX_CHARS[i>>8&15]+HEX_CHARS[i>>4&15]+HEX_CHARS[i&15];return this.is224||(c+=HEX_CHARS[a>>28&15]+HEX_CHARS[a>>24&15]+HEX_CHARS[a>>20&15]+HEX_CHARS[a>>16&15]+HEX_CHARS[a>>12&15]+HEX_CHARS[a>>8&15]+HEX_CHARS[a>>4&15]+HEX_CHARS[a&15]),c},Sha256.prototype.toString=Sha256.prototype.hex,Sha256.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,s=this.h2,r=this.h3,n=this.h4,o=this.h5,i=this.h6,a=this.h7,c=[e>>24&255,e>>16&255,e>>8&255,e&255,t>>24&255,t>>16&255,t>>8&255,t&255,s>>24&255,s>>16&255,s>>8&255,s&255,r>>24&255,r>>16&255,r>>8&255,r&255,n>>24&255,n>>16&255,n>>8&255,n&255,o>>24&255,o>>16&255,o>>8&255,o&255,i>>24&255,i>>16&255,i>>8&255,i&255];return this.is224||c.push(a>>24&255,a>>16&255,a>>8&255,a&255),c},Sha256.prototype.array=Sha256.prototype.digest,Sha256.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(this.is224?28:32),t=new DataView(e);return t.setUint32(0,this.h0),t.setUint32(4,this.h1),t.setUint32(8,this.h2),t.setUint32(12,this.h3),t.setUint32(16,this.h4),t.setUint32(20,this.h5),t.setUint32(24,this.h6),this.is224||t.setUint32(28,this.h7),e};function HmacSha256(e,t,s){var r,n=typeof e;if(n==="string"){var o=[],i=e.length,a=0,c;for(r=0;r<i;++r)c=e.charCodeAt(r),c<128?o[a++]=c:c<2048?(o[a++]=192|c>>6,o[a++]=128|c&63):c<55296||c>=57344?(o[a++]=224|c>>12,o[a++]=128|c>>6&63,o[a++]=128|c&63):(c=65536+((c&1023)<<10|e.charCodeAt(++r)&1023),o[a++]=240|c>>18,o[a++]=128|c>>12&63,o[a++]=128|c>>6&63,o[a++]=128|c&63);e=o}else if(n==="object"){if(e===null)throw new Error(ERROR);if(ARRAY_BUFFER&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!ARRAY_BUFFER||!ArrayBuffer.isView(e)))throw new Error(ERROR)}else throw new Error(ERROR);e.length>64&&(e=new Sha256(t,!0).update(e).array());var p=[],d=[];for(r=0;r<64;++r){var _=e[r]||0;p[r]=92^_,d[r]=54^_}Sha256.call(this,t,s),this.update(d),this.oKeyPad=p,this.inner=!0,this.sharedMemory=s}HmacSha256.prototype=new Sha256,HmacSha256.prototype.finalize=function(){if(Sha256.prototype.finalize.call(this),this.inner){this.inner=!1;var e=this.array();Sha256.call(this,this.is224,this.sharedMemory),this.update(this.oKeyPad),this.update(e),Sha256.prototype.finalize.call(this)}};var exports=createMethod();exports.sha256=exports,exports.sha224=createMethod(!0),exports.sha256.hmac=createHmacMethod(),exports.sha224.hmac=createHmacMethod(!0),COMMON_JS?module.exports=exports:(root.sha256=exports.sha256,root.sha224=exports.sha224,AMD&&define(function(){return exports}))})()});var or={};Jt(or,{SnsGovernanceCanister:()=>q,SnsGovernanceError:()=>y,SnsIndexCanister:()=>X,SnsLedgerCanister:()=>B,SnsMetadataResponseEntries:()=>Gt,SnsNeuronPermissionType:()=>rt,SnsProposalDecisionStatus:()=>ot,SnsProposalRewardStatus:()=>st,SnsRootCanister:()=>U,SnsSwapCanister:()=>z,SnsSwapLifecycle:()=>nt,SnsTransferError:()=>ae,SnsWrapper:()=>pe,decodeSnsAccount:()=>sr,encodeSnsAccount:()=>rr,initSnsWrapper:()=>er,neuronSubaccount:()=>et});module.exports=$t(or);var rt=(_=>(_[_.NEURON_PERMISSION_TYPE_UNSPECIFIED=0]="NEURON_PERMISSION_TYPE_UNSPECIFIED",_[_.NEURON_PERMISSION_TYPE_CONFIGURE_DISSOLVE_STATE=1]="NEURON_PERMISSION_TYPE_CONFIGURE_DISSOLVE_STATE",_[_.NEURON_PERMISSION_TYPE_MANAGE_PRINCIPALS=2]="NEURON_PERMISSION_TYPE_MANAGE_PRINCIPALS",_[_.NEURON_PERMISSION_TYPE_SUBMIT_PROPOSAL=3]="NEURON_PERMISSION_TYPE_SUBMIT_PROPOSAL",_[_.NEURON_PERMISSION_TYPE_VOTE=4]="NEURON_PERMISSION_TYPE_VOTE",_[_.NEURON_PERMISSION_TYPE_DISBURSE=5]="NEURON_PERMISSION_TYPE_DISBURSE",_[_.NEURON_PERMISSION_TYPE_SPLIT=6]="NEURON_PERMISSION_TYPE_SPLIT",_[_.NEURON_PERMISSION_TYPE_MERGE_MATURITY=7]="NEURON_PERMISSION_TYPE_MERGE_MATURITY",_[_.NEURON_PERMISSION_TYPE_DISBURSE_MATURITY=8]="NEURON_PERMISSION_TYPE_DISBURSE_MATURITY",_[_.NEURON_PERMISSION_TYPE_STAKE_MATURITY=9]="NEURON_PERMISSION_TYPE_STAKE_MATURITY",_[_.NEURON_PERMISSION_TYPE_MANAGE_VOTING_PERMISSION=10]="NEURON_PERMISSION_TYPE_MANAGE_VOTING_PERMISSION",_))(rt||{}),st=(n=>(n[n.PROPOSAL_REWARD_STATUS_UNSPECIFIED=0]="PROPOSAL_REWARD_STATUS_UNSPECIFIED",n[n.PROPOSAL_REWARD_STATUS_ACCEPT_VOTES=1]="PROPOSAL_REWARD_STATUS_ACCEPT_VOTES",n[n.PROPOSAL_REWARD_STATUS_READY_TO_SETTLE=2]="PROPOSAL_REWARD_STATUS_READY_TO_SETTLE",n[n.PROPOSAL_REWARD_STATUS_SETTLED=3]="PROPOSAL_REWARD_STATUS_SETTLED",n))(st||{}),ot=(i=>(i[i.PROPOSAL_DECISION_STATUS_UNSPECIFIED=0]="PROPOSAL_DECISION_STATUS_UNSPECIFIED",i[i.PROPOSAL_DECISION_STATUS_OPEN=1]="PROPOSAL_DECISION_STATUS_OPEN",i[i.PROPOSAL_DECISION_STATUS_REJECTED=2]="PROPOSAL_DECISION_STATUS_REJECTED",i[i.PROPOSAL_DECISION_STATUS_ADOPTED=3]="PROPOSAL_DECISION_STATUS_ADOPTED",i[i.PROPOSAL_DECISION_STATUS_EXECUTED=4]="PROPOSAL_DECISION_STATUS_EXECUTED",i[i.PROPOSAL_DECISION_STATUS_FAILED=5]="PROPOSAL_DECISION_STATUS_FAILED",i))(ot||{});var nt=(o=>(o[o.Unspecified=0]="Unspecified",o[o.Pending=1]="Pending",o[o.Open=2]="Open",o[o.Committed=3]="Committed",o[o.Aborted=4]="Aborted",o))(nt||{});var y=class extends Error{};var ae=class extends Error{constructor({msg:s,errorType:r}){super(s);this.errorType=r}};var ue=class extends Error{};var at=e=>{if(e<0||e>100)throw new ue(`${e} is not a valid percentage number.`)};var S=require("@dfinity/utils");var it=({IDL:e})=>{let t=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)}),s=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:t}),r=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(s)}),n=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}),o=e.Record({id:e.Vec(e.Nat8)}),i=e.Record({followees:e.Vec(o)}),a=e.Record({followees:e.Vec(e.Tuple(e.Nat64,i))}),c=e.Record({permissions:e.Vec(e.Int32)}),p=e.Record({final_reward_rate_basis_points:e.Opt(e.Nat64),initial_reward_rate_basis_points:e.Opt(e.Nat64),reward_rate_transition_duration_seconds:e.Opt(e.Nat64),round_duration_seconds:e.Opt(e.Nat64)}),d=e.Record({default_followees:e.Opt(a),max_dissolve_delay_seconds:e.Opt(e.Nat64),max_dissolve_delay_bonus_percentage:e.Opt(e.Nat64),max_followees_per_function:e.Opt(e.Nat64),neuron_claimer_permissions:e.Opt(c),neuron_minimum_stake_e8s:e.Opt(e.Nat64),max_neuron_age_for_age_bonus:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),reject_cost_e8s:e.Opt(e.Nat64),max_proposals_to_keep_per_action:e.Opt(e.Nat32),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),max_number_of_neurons:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),max_number_of_proposals_with_ballots:e.Opt(e.Nat64),max_age_bonus_percentage:e.Opt(e.Nat64),neuron_grantable_permissions:e.Opt(c),voting_rewards_parameters:e.Opt(p),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),_=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)}),l=e.Record({id:e.Nat64}),u=e.Record({actual_timestamp_seconds:e.Nat64,distributed_e8s_equivalent:e.Nat64,round:e.Nat64,settled_proposals:e.Vec(l)}),N=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Nat64,target_version:e.Opt(_)}),m=e.Record({error_message:e.Text,error_type:e.Int32}),R=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),g=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),f=e.Record({subaccount:e.Vec(e.Nat8)}),O=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(f),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),W=e.Record({new_canister_wasm:e.Vec(e.Nat8),canister_id:e.Opt(e.Principal)}),x=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),F=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),Y=e.Record({motion_text:e.Text}),Q=e.Variant({ManageNervousSystemParameters:d,AddGenericNervousSystemFunction:r,RemoveGenericNervousSystemFunction:e.Nat64,UpgradeSnsToNextVersion:e.Record({}),TransferSnsTreasuryFunds:O,UpgradeSnsControlledCanister:W,Unspecified:e.Record({}),ManageSnsMetadata:x,ExecuteGenericNervousSystemFunction:F,Motion:Y}),v=e.Record({url:e.Text,title:e.Text,action:e.Opt(Q),summary:e.Text}),j=e.Record({current_deadline_timestamp_seconds:e.Nat64}),P=e.Record({id:e.Opt(l),payload_text_rendering:e.Opt(e.Text),action:e.Nat64,failure_reason:e.Opt(m),ballots:e.Vec(e.Tuple(e.Text,R)),reward_event_round:e.Nat64,failed_timestamp_seconds:e.Nat64,proposal_creation_timestamp_seconds:e.Nat64,initial_voting_period_seconds:e.Nat64,reject_cost_e8s:e.Nat64,latest_tally:e.Opt(g),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(v),proposer:e.Opt(o),wait_for_quiet_state:e.Opt(j),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),w=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),C=e.Record({function_id:e.Nat64,followees:e.Vec(o)}),V=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(f)}),A=e.Record({to_account:e.Opt(V),percentage_to_disburse:e.Nat32}),J=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),$=e.Record({additional_dissolve_delay_seconds:e.Nat32}),E=e.Record({dissolve_timestamp_seconds:e.Nat64}),Z=e.Variant({ChangeAutoStakeMaturity:J,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:$,SetDissolveTimestamp:E}),T=e.Record({operation:e.Opt(Z)}),k=e.Record({vote:e.Int32,proposal:e.Opt(l)}),I=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),D=e.Variant({MemoAndController:I,NeuronId:e.Record({})}),M=e.Record({by:e.Opt(D)}),H=e.Record({permissions_to_remove:e.Opt(c),principal_id:e.Opt(e.Principal)}),G=e.Record({permissions_to_add:e.Opt(c),principal_id:e.Opt(e.Principal)}),se=e.Record({percentage_to_merge:e.Nat32}),fe=e.Record({e8s:e.Nat64}),oe=e.Record({to_account:e.Opt(V),amount:e.Opt(fe)}),ye=e.Variant({Split:w,Follow:C,DisburseMaturity:A,Configure:T,RegisterVote:k,SyncCommand:e.Record({}),MakeProposal:v,ClaimOrRefreshNeuron:M,RemoveNeuronPermissions:H,AddNeuronPermissions:G,MergeMaturity:se,Disburse:oe}),Se=e.Record({command:e.Opt(ye),timestamp:e.Nat64}),Oe=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),he=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),L=e.Record({id:e.Opt(o),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),permissions:e.Vec(Oe),maturity_e8s_equivalent:e.Nat64,cached_neuron_stake_e8s:e.Nat64,created_timestamp_seconds:e.Nat64,source_nns_neuron_id:e.Opt(e.Nat64),auto_stake_maturity:e.Opt(e.Bool),aging_since_timestamp_seconds:e.Nat64,dissolve_state:e.Opt(he),voting_power_percentage_multiplier:e.Nat64,followees:e.Vec(e.Tuple(e.Nat64,i)),neuron_fees_e8s:e.Nat64}),Ut=e.Record({root_canister_id:e.Opt(e.Principal),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,r)),metrics:e.Opt(n),mode:e.Int32,parameters:e.Opt(d),deployed_version:e.Opt(_),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(u),pending_version:e.Opt(N),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,P)),in_flight_commands:e.Vec(e.Tuple(e.Text,Se)),sns_metadata:e.Opt(x),neurons:e.Vec(e.Tuple(e.Text,L)),genesis_timestamp_seconds:e.Nat64}),ge=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),memo:e.Opt(e.Nat64),source_nns_neuron_id:e.Opt(e.Nat64),stake_e8s:e.Opt(e.Nat64),hotkey:e.Opt(e.Principal)}),xe=e.Record({neuron_parameters:e.Vec(ge)}),ve=e.Record({skipped_claims:e.Nat32,successful_claims:e.Nat32,failed_claims:e.Nat32}),Pe=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),Te=e.Record({neuron_id:e.Opt(o)}),be=e.Variant({Error:m,Neuron:L}),Fe=e.Record({result:e.Opt(be)}),ne=e.Record({proposal_id:e.Opt(l)}),we=e.Variant({Error:m,Proposal:P}),Ce=e.Record({result:e.Opt(we)}),Ve=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),Ae=e.Record({controller:e.Principal,freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),memory_allocation:e.Nat,compute_allocation:e.Nat}),Ee=e.Record({controller:e.Principal,status:Ve,freezing_threshold:e.Nat,balance:e.Vec(e.Tuple(e.Vec(e.Nat8),e.Nat)),memory_size:e.Nat,cycles:e.Nat,settings:Ae,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),ke=e.Record({deployed_version:e.Opt(_),pending_version:e.Opt(N)}),Me=e.Record({sns_initialization_parameters:e.Text}),He=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(r)}),Ge=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(o)}),qe=e.Record({neurons:e.Vec(L)}),Be=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(l),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_status:e.Vec(e.Int32)}),Ue=e.Record({proposals:e.Vec(P)}),Xe=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),ze=e.Variant({Split:w,Follow:C,DisburseMaturity:A,ClaimOrRefresh:M,Configure:T,RegisterVote:k,MakeProposal:v,StakeMaturity:Xe,RemoveNeuronPermissions:H,AddNeuronPermissions:G,MergeMaturity:se,Disburse:oe}),We=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(ze)}),Ye=e.Record({created_neuron_id:e.Opt(o)}),Qe=e.Record({transfer_block_height:e.Nat64,amount_disbursed_e8s:e.Nat64}),je=e.Record({refreshed_neuron_id:e.Opt(o)}),Je=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),Ke=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),$e=e.Record({transfer_block_height:e.Nat64}),Ze=e.Variant({Error:m,Split:Ye,Follow:e.Record({}),DisburseMaturity:Qe,ClaimOrRefresh:je,Configure:e.Record({}),RegisterVote:e.Record({}),MakeProposal:ne,RemoveNeuronPermission:e.Record({}),StakeMaturity:Je,MergeMaturity:Ke,Disburse:$e,AddNeuronPermission:e.Record({})}),Ie=e.Record({command:e.Opt(Ze)}),De=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([xe],[ve],[]),get_build_metadata:e.Func([],[e.Text],[]),get_metadata:e.Func([e.Record({})],[Pe],[]),get_nervous_system_parameters:e.Func([e.Null],[d],[]),get_neuron:e.Func([Te],[Fe],[]),get_proposal:e.Func([ne],[Ce],[]),get_root_canister_status:e.Func([e.Null],[Ee],[]),get_running_sns_version:e.Func([e.Record({})],[ke],[]),get_sns_initialization_parameters:e.Func([e.Record({})],[Me],[]),list_nervous_system_functions:e.Func([],[He],[]),list_neurons:e.Func([Ge],[qe],[]),list_proposals:e.Func([Be],[Ue],[]),manage_neuron:e.Func([We],[Ie],[]),set_mode:e.Func([De],[e.Record({})],[])})};var ct=({IDL:e})=>{let t=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)}),s=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:t}),r=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(s)}),n=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}),o=e.Record({id:e.Vec(e.Nat8)}),i=e.Record({followees:e.Vec(o)}),a=e.Record({followees:e.Vec(e.Tuple(e.Nat64,i))}),c=e.Record({permissions:e.Vec(e.Int32)}),p=e.Record({final_reward_rate_basis_points:e.Opt(e.Nat64),initial_reward_rate_basis_points:e.Opt(e.Nat64),reward_rate_transition_duration_seconds:e.Opt(e.Nat64),round_duration_seconds:e.Opt(e.Nat64)}),d=e.Record({default_followees:e.Opt(a),max_dissolve_delay_seconds:e.Opt(e.Nat64),max_dissolve_delay_bonus_percentage:e.Opt(e.Nat64),max_followees_per_function:e.Opt(e.Nat64),neuron_claimer_permissions:e.Opt(c),neuron_minimum_stake_e8s:e.Opt(e.Nat64),max_neuron_age_for_age_bonus:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),reject_cost_e8s:e.Opt(e.Nat64),max_proposals_to_keep_per_action:e.Opt(e.Nat32),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),max_number_of_neurons:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),max_number_of_proposals_with_ballots:e.Opt(e.Nat64),max_age_bonus_percentage:e.Opt(e.Nat64),neuron_grantable_permissions:e.Opt(c),voting_rewards_parameters:e.Opt(p),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),_=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)}),l=e.Record({id:e.Nat64}),u=e.Record({actual_timestamp_seconds:e.Nat64,distributed_e8s_equivalent:e.Nat64,round:e.Nat64,settled_proposals:e.Vec(l)}),N=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Nat64,target_version:e.Opt(_)}),m=e.Record({error_message:e.Text,error_type:e.Int32}),R=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),g=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),f=e.Record({subaccount:e.Vec(e.Nat8)}),O=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(f),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),W=e.Record({new_canister_wasm:e.Vec(e.Nat8),canister_id:e.Opt(e.Principal)}),x=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),F=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),Y=e.Record({motion_text:e.Text}),Q=e.Variant({ManageNervousSystemParameters:d,AddGenericNervousSystemFunction:r,RemoveGenericNervousSystemFunction:e.Nat64,UpgradeSnsToNextVersion:e.Record({}),TransferSnsTreasuryFunds:O,UpgradeSnsControlledCanister:W,Unspecified:e.Record({}),ManageSnsMetadata:x,ExecuteGenericNervousSystemFunction:F,Motion:Y}),v=e.Record({url:e.Text,title:e.Text,action:e.Opt(Q),summary:e.Text}),j=e.Record({current_deadline_timestamp_seconds:e.Nat64}),P=e.Record({id:e.Opt(l),payload_text_rendering:e.Opt(e.Text),action:e.Nat64,failure_reason:e.Opt(m),ballots:e.Vec(e.Tuple(e.Text,R)),reward_event_round:e.Nat64,failed_timestamp_seconds:e.Nat64,proposal_creation_timestamp_seconds:e.Nat64,initial_voting_period_seconds:e.Nat64,reject_cost_e8s:e.Nat64,latest_tally:e.Opt(g),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(v),proposer:e.Opt(o),wait_for_quiet_state:e.Opt(j),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),w=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),C=e.Record({function_id:e.Nat64,followees:e.Vec(o)}),V=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(f)}),A=e.Record({to_account:e.Opt(V),percentage_to_disburse:e.Nat32}),J=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),$=e.Record({additional_dissolve_delay_seconds:e.Nat32}),E=e.Record({dissolve_timestamp_seconds:e.Nat64}),Z=e.Variant({ChangeAutoStakeMaturity:J,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:$,SetDissolveTimestamp:E}),T=e.Record({operation:e.Opt(Z)}),k=e.Record({vote:e.Int32,proposal:e.Opt(l)}),I=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),D=e.Variant({MemoAndController:I,NeuronId:e.Record({})}),M=e.Record({by:e.Opt(D)}),H=e.Record({permissions_to_remove:e.Opt(c),principal_id:e.Opt(e.Principal)}),G=e.Record({permissions_to_add:e.Opt(c),principal_id:e.Opt(e.Principal)}),se=e.Record({percentage_to_merge:e.Nat32}),fe=e.Record({e8s:e.Nat64}),oe=e.Record({to_account:e.Opt(V),amount:e.Opt(fe)}),ye=e.Variant({Split:w,Follow:C,DisburseMaturity:A,Configure:T,RegisterVote:k,SyncCommand:e.Record({}),MakeProposal:v,ClaimOrRefreshNeuron:M,RemoveNeuronPermissions:H,AddNeuronPermissions:G,MergeMaturity:se,Disburse:oe}),Se=e.Record({command:e.Opt(ye),timestamp:e.Nat64}),Oe=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),he=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),L=e.Record({id:e.Opt(o),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),permissions:e.Vec(Oe),maturity_e8s_equivalent:e.Nat64,cached_neuron_stake_e8s:e.Nat64,created_timestamp_seconds:e.Nat64,source_nns_neuron_id:e.Opt(e.Nat64),auto_stake_maturity:e.Opt(e.Bool),aging_since_timestamp_seconds:e.Nat64,dissolve_state:e.Opt(he),voting_power_percentage_multiplier:e.Nat64,followees:e.Vec(e.Tuple(e.Nat64,i)),neuron_fees_e8s:e.Nat64}),Ut=e.Record({root_canister_id:e.Opt(e.Principal),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,r)),metrics:e.Opt(n),mode:e.Int32,parameters:e.Opt(d),deployed_version:e.Opt(_),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(u),pending_version:e.Opt(N),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,P)),in_flight_commands:e.Vec(e.Tuple(e.Text,Se)),sns_metadata:e.Opt(x),neurons:e.Vec(e.Tuple(e.Text,L)),genesis_timestamp_seconds:e.Nat64}),ge=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),memo:e.Opt(e.Nat64),source_nns_neuron_id:e.Opt(e.Nat64),stake_e8s:e.Opt(e.Nat64),hotkey:e.Opt(e.Principal)}),xe=e.Record({neuron_parameters:e.Vec(ge)}),ve=e.Record({skipped_claims:e.Nat32,successful_claims:e.Nat32,failed_claims:e.Nat32}),Pe=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),Te=e.Record({neuron_id:e.Opt(o)}),be=e.Variant({Error:m,Neuron:L}),Fe=e.Record({result:e.Opt(be)}),ne=e.Record({proposal_id:e.Opt(l)}),we=e.Variant({Error:m,Proposal:P}),Ce=e.Record({result:e.Opt(we)}),Ve=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),Ae=e.Record({controller:e.Principal,freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),memory_allocation:e.Nat,compute_allocation:e.Nat}),Ee=e.Record({controller:e.Principal,status:Ve,freezing_threshold:e.Nat,balance:e.Vec(e.Tuple(e.Vec(e.Nat8),e.Nat)),memory_size:e.Nat,cycles:e.Nat,settings:Ae,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),ke=e.Record({deployed_version:e.Opt(_),pending_version:e.Opt(N)}),Me=e.Record({sns_initialization_parameters:e.Text}),He=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(r)}),Ge=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(o)}),qe=e.Record({neurons:e.Vec(L)}),Be=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(l),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_status:e.Vec(e.Int32)}),Ue=e.Record({proposals:e.Vec(P)}),Xe=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),ze=e.Variant({Split:w,Follow:C,DisburseMaturity:A,ClaimOrRefresh:M,Configure:T,RegisterVote:k,MakeProposal:v,StakeMaturity:Xe,RemoveNeuronPermissions:H,AddNeuronPermissions:G,MergeMaturity:se,Disburse:oe}),We=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(ze)}),Ye=e.Record({created_neuron_id:e.Opt(o)}),Qe=e.Record({transfer_block_height:e.Nat64,amount_disbursed_e8s:e.Nat64}),je=e.Record({refreshed_neuron_id:e.Opt(o)}),Je=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),Ke=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),$e=e.Record({transfer_block_height:e.Nat64}),Ze=e.Variant({Error:m,Split:Ye,Follow:e.Record({}),DisburseMaturity:Qe,ClaimOrRefresh:je,Configure:e.Record({}),RegisterVote:e.Record({}),MakeProposal:ne,RemoveNeuronPermission:e.Record({}),StakeMaturity:Je,MergeMaturity:Ke,Disburse:$e,AddNeuronPermission:e.Record({})}),Ie=e.Record({command:e.Opt(Ze)}),De=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([xe],[ve],[]),get_build_metadata:e.Func([],[e.Text],["query"]),get_metadata:e.Func([e.Record({})],[Pe],["query"]),get_nervous_system_parameters:e.Func([e.Null],[d],["query"]),get_neuron:e.Func([Te],[Fe],["query"]),get_proposal:e.Func([ne],[Ce],["query"]),get_root_canister_status:e.Func([e.Null],[Ee],[]),get_running_sns_version:e.Func([e.Record({})],[ke],["query"]),get_sns_initialization_parameters:e.Func([e.Record({})],[Me],["query"]),list_nervous_system_functions:e.Func([],[He],["query"]),list_neurons:e.Func([Ge],[qe],["query"]),list_proposals:e.Func([Be],[Ue],["query"]),manage_neuron:e.Func([We],[Ie],[]),set_mode:e.Func([De],[e.Record({})],[])})};var ee=require("@dfinity/utils");var te=({neuronId:{id:e},command:t})=>({subaccount:e,command:[t]}),ie=({neuronId:e,operation:t})=>te({neuronId:e,command:{Configure:{operation:[t]}}}),It=({owner:e,subaccount:t})=>({owner:(0,ee.toNullable)(e),subaccount:t===void 0?[]:(0,ee.toNullable)({subaccount:t})}),pt=({neuronId:e,permissions:t,principal:s})=>te({neuronId:e,command:{AddNeuronPermissions:{permissions_to_add:[{permissions:Int32Array.from(t)}],principal_id:[s]}}}),_t=({neuronId:e,permissions:t,principal:s})=>te({neuronId:e,command:{RemoveNeuronPermissions:{permissions_to_remove:[{permissions:Int32Array.from(t)}],principal_id:[s]}}}),dt=({neuronId:e,memo:t,amount:s})=>te({neuronId:e,command:{Split:{memo:t,amount_e8s:s}}}),ut=({neuronId:e,amount:t,toAccount:s})=>te({neuronId:e,command:{Disburse:{to_account:s===void 0?[]:(0,ee.toNullable)(It(s)),amount:t===void 0?[]:[{e8s:t}]}}}),lt=e=>ie({neuronId:e,operation:{StartDissolving:{}}}),mt=e=>ie({neuronId:e,operation:{StopDissolving:{}}}),Nt=({neuronId:e,percentageToStake:t})=>te({neuronId:e,command:{StakeMaturity:{percentage_to_stake:(0,ee.toNullable)(t)}}}),Rt=({neuronId:e,autoStake:t})=>ie({neuronId:e,operation:{ChangeAutoStakeMaturity:{requested_setting_for_auto_stake_maturity:t}}}),ft=({neuronId:e,dissolveTimestampSeconds:t})=>ie({neuronId:e,operation:{SetDissolveTimestamp:{dissolve_timestamp_seconds:t}}}),yt=({neuronId:e,additionalDissolveDelaySeconds:t})=>ie({neuronId:e,operation:{IncreaseDissolveDelay:{additional_dissolve_delay_seconds:t}}}),St=({neuronId:e,functionId:t,followees:s})=>({subaccount:e.id,command:[{Follow:{function_id:t,followees:s}}]}),Le=({subaccount:e,memo:t,controller:s})=>({subaccount:e,command:[{ClaimOrRefresh:{by:[t===void 0?{NeuronId:{}}:{MemoAndController:{memo:t,controller:(0,ee.toNullable)(s)}}]}}]}),Ot=({excludeType:e,beforeProposal:t,includeRewardStatus:s,includeStatus:r,limit:n})=>({exclude_type:BigUint64Array.from(e??[]),before_proposal:(0,ee.toNullable)(t),include_reward_status:Int32Array.from(s??[]),include_status:Int32Array.from(r??[]),limit:n??10});var h=class{constructor(t,s,r){this.id=t;this.service=s;this.certifiedService=r;this.caller=({certified:t=!0})=>t?this.certifiedService:this.service}get canisterId(){return this.id}};var q=class extends h{constructor(){super(...arguments);this.listNeurons=async s=>{let{principal:r,limit:n,beforeNeuronId:o}=s,{neurons:i}=await this.caller(s).list_neurons({of_principal:(0,S.toNullable)(r),limit:n??100,start_page_at:(0,S.toNullable)(o)});return i};this.listProposals=async s=>{let{certified:r}=s,{proposals:n}=await this.caller({certified:r}).list_proposals(Ot(s));return n};this.getProposal=async s=>{let{proposalId:r}=s,{result:n}=await this.caller(s).get_proposal({proposal_id:(0,S.toNullable)(r)}),o=(0,S.fromNullable)(n);if(o===void 0||"Error"in o)throw new y((o==null?void 0:o.Error.error_message)??"Response type not supported");return o.Proposal};this.listNervousSystemFunctions=async s=>this.caller(s).list_nervous_system_functions();this.metadata=s=>this.caller(s).get_metadata({});this.nervousSystemParameters=s=>this.caller(s).get_nervous_system_parameters(null);this.getNeuron=async s=>{let{neuronId:r}=s,{result:n}=await this.caller(s).get_neuron({neuron_id:(0,S.toNullable)(r)}),o=(0,S.fromNullable)(n);if(o===void 0||"Error"in o)throw new y((o==null?void 0:o.Error.error_message)??"Response type not supported");return o.Neuron};this.queryNeuron=async s=>{try{return await this.getNeuron(s)}catch(r){if(r instanceof Error&&r.message.includes("No neuron for given NeuronId"))return;throw r}};this.manageNeuron=async s=>{let r=await this.caller({certified:!0}).manage_neuron(s);return this.assertManageNeuronError(r),r};this.addNeuronPermissions=async s=>{let r=pt(s);await this.manageNeuron(r)};this.removeNeuronPermissions=async s=>{let r=_t(s);await this.manageNeuron(r)};this.splitNeuron=async s=>{let r=dt(s),{command:n}=await this.manageNeuron(r),o=(0,S.fromNullable)(n),i=a=>`Split neuron failed (${a})`;if(o===void 0)throw new y(i("no response"));if("Split"in o){let a=o.Split,c=(0,S.fromNullable)(a.created_neuron_id);if(c!==void 0)return c;throw new y(i("no id"))}throw new y(i("unknown"))};this.disburse=async s=>{let r=ut(s);await this.manageNeuron(r)};this.startDissolving=async s=>{let r=lt(s);await this.manageNeuron(r)};this.stopDissolving=async s=>{let r=mt(s);await this.manageNeuron(r)};this.stakeMaturity=async({neuronId:s,percentageToStake:r})=>{at(r??100);let n=Nt({neuronId:s,percentageToStake:r});await this.manageNeuron(n)};this.autoStakeMaturity=async s=>{let r=Rt(s);await this.manageNeuron(r)};this.setDissolveTimestamp=async s=>{let r=ft(s);await this.manageNeuron(r)};this.increaseDissolveDelay=async s=>{let r=yt(s);await this.manageNeuron(r)};this.setTopicFollowees=async s=>{let r=St(s);await this.manageNeuron(r)};this.refreshNeuron=async s=>{let r=Le({subaccount:s.id});await this.manageNeuron(r)};this.claimNeuron=async({memo:s,controller:r,subaccount:n})=>{let o=Le({subaccount:n,memo:s,controller:r}),{command:i}=await this.manageNeuron(o),a=(0,S.fromNullable)(i);if(a===void 0)throw new y("Claim neuron failed");if("ClaimOrRefresh"in a){let c=(0,S.fromNullable)(a.ClaimOrRefresh.refreshed_neuron_id);if(c===void 0)throw new y("Claim neuron failed");return c}throw new y("Claim neuron failed")};this.assertManageNeuronError=({command:s})=>{let r=s[0];if(r!==void 0&&"Error"in r)throw new y(r.Error.error_message)}}static create(s){let{service:r,certifiedService:n,canisterId:o}=(0,S.createServices)({options:s,idlFactory:ct,certifiedIdlFactory:it});return new q(o,r,n)}};var le=require("@dfinity/utils");var ht=({IDL:e})=>{let t=e.Variant({Int:e.Int,Nat:e.Nat,Blob:e.Vec(e.Nat8),Text:e.Text}),s=e.Vec(e.Nat8),r=e.Record({owner:e.Principal,subaccount:e.Opt(s)}),n=e.Record({token_symbol:e.Text,transfer_fee:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,t)),minting_account:r,initial_balances:e.Vec(e.Tuple(r,e.Nat64)),archive_options:e.Record({num_blocks_to_archive:e.Nat64,trigger_threshold:e.Nat64,max_message_size_bytes:e.Opt(e.Nat64),cycles_for_archive_creation:e.Opt(e.Nat64),node_max_memory_size_bytes:e.Opt(e.Nat64),controller_id:e.Principal}),token_name:e.Text}),o=e.Nat,i=e.Nat64,a=e.Record({to:r,fee:e.Opt(o),memo:e.Opt(e.Vec(e.Nat8)),from_subaccount:e.Opt(s),created_at_time:e.Opt(i),amount:o}),c=e.Nat,p=e.Variant({GenericError:e.Record({message:e.Text,error_code:e.Nat}),TemporarilyUnavailable:e.Null,BadBurn:e.Record({min_burn_amount:o}),Duplicate:e.Record({duplicate_of:c}),BadFee:e.Record({expected_fee:o}),CreatedInFuture:e.Record({ledger_time:e.Nat64}),TooOld:e.Null,InsufficientFunds:e.Record({balance:o})}),d=e.Variant({Ok:c,Err:p});return e.Service({icrc1_balance_of:e.Func([r],[o],[]),icrc1_decimals:e.Func([],[e.Nat8],[]),icrc1_fee:e.Func([],[o],[]),icrc1_metadata:e.Func([],[e.Vec(e.Tuple(e.Text,t))],[]),icrc1_minting_account:e.Func([],[e.Opt(r)],[]),icrc1_name:e.Func([],[e.Text],[]),icrc1_supported_standards:e.Func([],[e.Vec(e.Record({url:e.Text,name:e.Text}))],[]),icrc1_symbol:e.Func([],[e.Text],[]),icrc1_total_supply:e.Func([],[o],[]),icrc1_transfer:e.Func([a],[d],[])})};var gt=({IDL:e})=>{let t=e.Variant({Int:e.Int,Nat:e.Nat,Blob:e.Vec(e.Nat8),Text:e.Text}),s=e.Vec(e.Nat8),r=e.Record({owner:e.Principal,subaccount:e.Opt(s)}),n=e.Record({token_symbol:e.Text,transfer_fee:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,t)),minting_account:r,initial_balances:e.Vec(e.Tuple(r,e.Nat64)),archive_options:e.Record({num_blocks_to_archive:e.Nat64,trigger_threshold:e.Nat64,max_message_size_bytes:e.Opt(e.Nat64),cycles_for_archive_creation:e.Opt(e.Nat64),node_max_memory_size_bytes:e.Opt(e.Nat64),controller_id:e.Principal}),token_name:e.Text}),o=e.Nat,i=e.Nat64,a=e.Record({to:r,fee:e.Opt(o),memo:e.Opt(e.Vec(e.Nat8)),from_subaccount:e.Opt(s),created_at_time:e.Opt(i),amount:o}),c=e.Nat,p=e.Variant({GenericError:e.Record({message:e.Text,error_code:e.Nat}),TemporarilyUnavailable:e.Null,BadBurn:e.Record({min_burn_amount:o}),Duplicate:e.Record({duplicate_of:c}),BadFee:e.Record({expected_fee:o}),CreatedInFuture:e.Record({ledger_time:e.Nat64}),TooOld:e.Null,InsufficientFunds:e.Record({balance:o})}),d=e.Variant({Ok:c,Err:p});return e.Service({icrc1_balance_of:e.Func([r],[o],["query"]),icrc1_decimals:e.Func([],[e.Nat8],["query"]),icrc1_fee:e.Func([],[o],["query"]),icrc1_metadata:e.Func([],[e.Vec(e.Tuple(e.Text,t))],["query"]),icrc1_minting_account:e.Func([],[e.Opt(r)],["query"]),icrc1_name:e.Func([],[e.Text],["query"]),icrc1_supported_standards:e.Func([],[e.Vec(e.Record({url:e.Text,name:e.Text}))],["query"]),icrc1_symbol:e.Func([],[e.Text],["query"]),icrc1_total_supply:e.Func([],[o],["query"]),icrc1_transfer:e.Func([a],[d],[])})};var re=require("@dfinity/utils"),xt=({to:e,from_subaccount:t,fee:s,amount:r,created_at_time:n,memo:o})=>({to:e,amount:r,fee:(0,re.toNullable)(s),memo:(0,re.toNullable)(o),from_subaccount:(0,re.toNullable)(t),created_at_time:(0,re.toNullable)(n)}),vt=({owner:e,subaccount:t})=>({owner:e,subaccount:(0,re.toNullable)(t)});var B=class extends h{constructor(){super(...arguments);this.metadata=s=>this.caller(s).icrc1_metadata();this.transactionFee=s=>this.caller(s).icrc1_fee();this.balance=s=>this.caller({certified:s.certified}).icrc1_balance_of({owner:s.owner,subaccount:(0,le.toNullable)(s.subaccount)});this.transfer=async s=>{let r=await this.caller({certified:!0}).icrc1_transfer(xt(s));if("Err"in r)throw new ae({errorType:r.Err,msg:"Failed to transfer"});return r.Ok}}static create(s){let{service:r,certifiedService:n,canisterId:o}=(0,le.createServices)({options:s,idlFactory:gt,certifiedIdlFactory:ht});return new B(o,r,n)}};var bt=require("@dfinity/utils");var Pt=({IDL:e})=>{let t=e.Record({dapp_canister_ids:e.Vec(e.Principal),latest_ledger_archive_poll_timestamp_seconds:e.Opt(e.Nat64),archive_canister_ids:e.Vec(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)}),s=e.Record({canister_id:e.Principal}),r=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),n=e.Record({controller:e.Principal,status:r,memory_size:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),o=e.Record({update_canister_list:e.Opt(e.Bool)}),i=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),a=e.Record({controller:e.Principal,freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),memory_allocation:e.Nat,compute_allocation:e.Nat}),c=e.Record({controller:e.Principal,status:i,freezing_threshold:e.Nat,balance:e.Vec(e.Tuple(e.Vec(e.Nat8),e.Nat)),memory_size:e.Nat,cycles:e.Nat,settings:a,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),p=e.Record({status:e.Opt(c),canister_id:e.Opt(e.Principal)}),d=e.Record({root:e.Opt(p),swap:e.Opt(p),ledger:e.Opt(p),index:e.Opt(p),governance:e.Opt(p),dapps:e.Vec(p),archives:e.Vec(p)}),_=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),dapps:e.Vec(e.Principal),archives:e.Vec(e.Principal)}),l=e.Record({canister_id:e.Opt(e.Principal)}),u=e.Record({controller_principal_ids:e.Vec(e.Principal)}),N=e.Record({code:e.Opt(e.Int32),description:e.Text}),m=e.Record({err:e.Opt(N),dapp_canister_id:e.Opt(e.Principal)}),R=e.Record({failed_updates:e.Vec(m)});return e.Service({canister_status:e.Func([s],[n],[]),get_build_metadata:e.Func([],[e.Text],[]),get_sns_canisters_summary:e.Func([o],[d],[]),list_sns_canisters:e.Func([e.Record({})],[_],[]),register_dapp_canister:e.Func([l],[e.Record({})],[]),set_dapp_controllers:e.Func([u],[R],[])})};var Tt=({IDL:e})=>{let t=e.Record({dapp_canister_ids:e.Vec(e.Principal),latest_ledger_archive_poll_timestamp_seconds:e.Opt(e.Nat64),archive_canister_ids:e.Vec(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)}),s=e.Record({canister_id:e.Principal}),r=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),n=e.Record({controller:e.Principal,status:r,memory_size:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),o=e.Record({update_canister_list:e.Opt(e.Bool)}),i=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),a=e.Record({controller:e.Principal,freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),memory_allocation:e.Nat,compute_allocation:e.Nat}),c=e.Record({controller:e.Principal,status:i,freezing_threshold:e.Nat,balance:e.Vec(e.Tuple(e.Vec(e.Nat8),e.Nat)),memory_size:e.Nat,cycles:e.Nat,settings:a,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),p=e.Record({status:e.Opt(c),canister_id:e.Opt(e.Principal)}),d=e.Record({root:e.Opt(p),swap:e.Opt(p),ledger:e.Opt(p),index:e.Opt(p),governance:e.Opt(p),dapps:e.Vec(p),archives:e.Vec(p)}),_=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),dapps:e.Vec(e.Principal),archives:e.Vec(e.Principal)}),l=e.Record({canister_id:e.Opt(e.Principal)}),u=e.Record({controller_principal_ids:e.Vec(e.Principal)}),N=e.Record({code:e.Opt(e.Int32),description:e.Text}),m=e.Record({err:e.Opt(N),dapp_canister_id:e.Opt(e.Principal)}),R=e.Record({failed_updates:e.Vec(m)});return e.Service({canister_status:e.Func([s],[n],[]),get_build_metadata:e.Func([],[e.Text],["query"]),get_sns_canisters_summary:e.Func([o],[d],[]),list_sns_canisters:e.Func([e.Record({})],[_],["query"]),register_dapp_canister:e.Func([l],[e.Record({})],[]),set_dapp_controllers:e.Func([u],[R],[])})};var U=class extends h{constructor(){super(...arguments);this.listSnsCanisters=async({certified:s=!0})=>this.caller({certified:s}).list_sns_canisters({})}static create(s){let{service:r,certifiedService:n,canisterId:o}=(0,bt.createServices)({options:s,idlFactory:Tt,certifiedIdlFactory:Pt});return new U(o,r,n)}};var b=require("@dfinity/utils");var At=require("@dfinity/utils");var Ft=({IDL:e})=>{let t=e.Record({ledger_id:e.Principal}),s=e.Nat,r=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),n=e.Record({max_results:e.Nat,start:e.Opt(s),account:r}),o=e.Record({burn:e.Opt(e.Record({from:r,memo:e.Opt(e.Vec(e.Nat8)),created_at_time:e.Opt(e.Nat64),amount:e.Nat})),kind:e.Text,mint:e.Opt(e.Record({to:r,memo:e.Opt(e.Vec(e.Nat8)),created_at_time:e.Opt(e.Nat64),amount:e.Nat})),timestamp:e.Nat64,transfer:e.Opt(e.Record({to:r,fee:e.Opt(e.Nat),from:r,memo:e.Opt(e.Vec(e.Nat8)),created_at_time:e.Opt(e.Nat64),amount:e.Nat}))}),i=e.Record({id:s,transaction:o}),a=e.Record({transactions:e.Vec(i),oldest_tx_id:e.Opt(s)}),c=e.Record({message:e.Text}),p=e.Variant({Ok:a,Err:c}),d=e.Vec(e.Nat8),_=e.Record({owner:e.Principal,start:e.Opt(d)});return e.Service({get_account_transactions:e.Func([n],[p],[]),ledger_id:e.Func([],[e.Principal],[]),list_subaccounts:e.Func([_],[e.Vec(d)],[])})};var wt=({IDL:e})=>{let t=e.Record({ledger_id:e.Principal}),s=e.Nat,r=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),n=e.Record({max_results:e.Nat,start:e.Opt(s),account:r}),o=e.Record({burn:e.Opt(e.Record({from:r,memo:e.Opt(e.Vec(e.Nat8)),created_at_time:e.Opt(e.Nat64),amount:e.Nat})),kind:e.Text,mint:e.Opt(e.Record({to:r,memo:e.Opt(e.Vec(e.Nat8)),created_at_time:e.Opt(e.Nat64),amount:e.Nat})),timestamp:e.Nat64,transfer:e.Opt(e.Record({to:r,fee:e.Opt(e.Nat),from:r,memo:e.Opt(e.Vec(e.Nat8)),created_at_time:e.Opt(e.Nat64),amount:e.Nat}))}),i=e.Record({id:s,transaction:o}),a=e.Record({transactions:e.Vec(i),oldest_tx_id:e.Opt(s)}),c=e.Record({message:e.Text}),p=e.Variant({Ok:a,Err:c}),d=e.Vec(e.Nat8),_=e.Record({owner:e.Principal,start:e.Opt(d)});return e.Service({get_account_transactions:e.Func([n],[p],[]),ledger_id:e.Func([],[e.Principal],["query"]),list_subaccounts:e.Func([_],[e.Vec(d)],["query"])})};var Ct=require("@dfinity/utils");var Vt=({account:e,max_results:t,start:s})=>({account:vt(e),max_results:t,start:(0,Ct.toNullable)(s)});var me=class extends Error{};var X=class extends h{constructor(){super(...arguments);this.getTransactions=async s=>{let r=await this.caller({certified:!0}).get_account_transactions(Vt(s));if("Err"in r)throw new me(r.Err.message);return r.Ok}}static create(s){let{service:r,certifiedService:n,canisterId:o}=(0,At.createServices)({options:s,idlFactory:wt,certifiedIdlFactory:Ft});return new X(o,r,n)}};var ce=require("@dfinity/utils");var Ne=require("@dfinity/utils"),kt=Kt(Et()),et=({index:e,controller:t})=>{let r=[12,...(0,Ne.asciiStringToByteArray)("neuron-stake"),...t.toUint8Array(),...(0,Ne.numberToUint8Array)(e)],n=kt.sha256.create();return n.update(r),new Uint8Array(n.array())};var pe=class{constructor({root:t,governance:s,ledger:r,swap:n,index:o,certified:i}){this.listNeurons=t=>this.governance.listNeurons(this.mergeParams(t));this.listProposals=t=>this.governance.listProposals(this.mergeParams(t));this.getProposal=t=>this.governance.getProposal(this.mergeParams(t));this.listNervousSystemFunctions=t=>this.governance.listNervousSystemFunctions(this.mergeParams(t));this.metadata=t=>Promise.all([this.governance.metadata(this.mergeParams(t)),this.ledger.metadata(this.mergeParams(t))]);this.nervousSystemParameters=t=>this.governance.nervousSystemParameters(this.mergeParams(t));this.ledgerMetadata=t=>this.ledger.metadata(this.mergeParams(t));this.transactionFee=t=>this.ledger.transactionFee(this.mergeParams(t));this.balance=t=>this.ledger.balance(this.mergeParams(t));this.transfer=t=>this.ledger.transfer(t);this.getNeuron=t=>this.governance.getNeuron(this.mergeParams(t));this.queryNeuron=t=>this.governance.queryNeuron(this.mergeParams(t));this.nextNeuronAccount=async t=>{for(let s=0;s<65536;s++){let r=et({index:s,controller:t}),n={id:r},o=await this.governance.queryNeuron({neuronId:n,certified:!1});if(o===void 0&&(o=await this.governance.queryNeuron({neuronId:n,certified:!0}),o===void 0))return{account:{...this.owner,subaccount:r},index:BigInt(s)}}throw new y("No more neuron accounts available")};this.stakeNeuron=async({stakeE8s:t,source:s,controller:r,createdAt:n})=>{this.assertCertified("stakeNeuron");let{account:o,index:i}=await this.nextNeuronAccount(r);if(o.subaccount===void 0)throw new y("There was an error creating the neuron subaccount");return await this.ledger.transfer({amount:t,to:{owner:o.owner,subaccount:(0,ce.toNullable)(o.subaccount)},from_subaccount:s.subaccount,memo:(0,ce.bigIntToUint8Array)(i),created_at_time:n}),this.governance.claimNeuron({memo:BigInt(i),controller:r,subaccount:o.subaccount})};this.increaseStakeNeuron=async({stakeE8s:t,source:s,neuronId:r})=>(this.assertCertified("stakeNeuron"),await this.ledger.transfer({amount:t,to:{...this.owner,subaccount:(0,ce.toNullable)(r.id)},from_subaccount:s.subaccount}),this.governance.refreshNeuron(r));this.getNeuronBalance=async t=>{let s={...this.owner,subaccount:t.id};return this.ledger.balance({...s,certified:this.certified})};this.addNeuronPermissions=t=>this.governance.addNeuronPermissions(t);this.refreshNeuron=t=>this.governance.refreshNeuron(t);this.claimNeuron=t=>this.governance.claimNeuron(t);this.removeNeuronPermissions=t=>this.governance.removeNeuronPermissions(t);this.splitNeuron=t=>this.governance.splitNeuron(t);this.disburse=t=>this.governance.disburse(t);this.startDissolving=t=>this.governance.startDissolving(t);this.stopDissolving=t=>this.governance.stopDissolving(t);this.setDissolveTimestamp=t=>this.governance.setDissolveTimestamp(t);this.increaseDissolveDelay=t=>this.governance.increaseDissolveDelay(t);this.setTopicFollowees=t=>this.governance.setTopicFollowees(t);this.swapState=t=>this.swap.state(this.mergeParams(t));this.notifyParticipation=t=>this.swap.notifyParticipation(t);this.getUserCommitment=t=>this.swap.getUserCommitment(this.mergeParams(t));this.getTransactions=t=>this.index.getTransactions(t);this.stakeMaturity=t=>this.governance.stakeMaturity(t);this.autoStakeMaturity=t=>this.governance.autoStakeMaturity(t);this.assertCertified=t=>{if(!this.certified)throw new y(`Call to ${t} needs to be certified`)};this.root=t,this.governance=s,this.ledger=r,this.swap=n,this.index=o,this.certified=i}get canisterIds(){return{rootCanisterId:this.root.canisterId,ledgerCanisterId:this.ledger.canisterId,governanceCanisterId:this.governance.canisterId,swapCanisterId:this.swap.canisterId}}mergeParams(t){return{...t,certified:this.certified}}get owner(){return{owner:this.canisterIds.governanceCanisterId}}};var Re=require("@dfinity/utils");var Mt=({IDL:e})=>{let t=e.Record({sns_root_canister_id:e.Text,fallback_controller_principal_ids:e.Vec(e.Text),neuron_minimum_stake_e8s:e.Opt(e.Nat64),nns_governance_canister_id:e.Text,transaction_fee_e8s:e.Opt(e.Nat64),icp_ledger_canister_id:e.Text,sns_ledger_canister_id:e.Text,sns_governance_canister_id:e.Text}),s=e.Record({source_principal_id:e.Opt(e.Principal)}),r=e.Record({block_height:e.Opt(e.Nat64)}),n=e.Record({description:e.Opt(e.Text),error_type:e.Opt(e.Int32)}),o=e.Variant({Ok:r,Err:n}),i=e.Record({result:e.Opt(o)}),a=e.Record({error_message:e.Text,error_type:e.Int32}),c=e.Record({governance_error:e.Opt(a)}),p=e.Record({code:e.Opt(e.Int32),description:e.Text}),d=e.Variant({Ok:c,Err:p}),_=e.Record({possibility:e.Opt(d)}),l=e.Record({err:e.Opt(p),dapp_canister_id:e.Opt(e.Principal)}),u=e.Record({failed_updates:e.Vec(l)}),N=e.Variant({Ok:u,Err:p}),m=e.Record({possibility:e.Opt(N)}),R=e.Variant({Err:p}),g=e.Record({possibility:e.Opt(R)}),f=e.Record({failure:e.Nat32,skipped:e.Nat32,success:e.Nat32}),O=e.Record({settle_community_fund_participation_result:e.Opt(_),set_dapp_controllers_result:e.Opt(m),sns_governance_normal_mode_enabled:e.Opt(g),sweep_icp:e.Opt(f),sweep_sns:e.Opt(f),create_neuron:e.Opt(f)}),W=e.Record({principal_id:e.Opt(e.Principal)}),x=e.Record({transfer_start_timestamp_seconds:e.Nat64,amount_e8s:e.Nat64,transfer_success_timestamp_seconds:e.Nat64}),F=e.Record({icp:e.Opt(x)}),Y=e.Record({buyer_state:e.Opt(F)}),Q=e.Record({buyers_total:e.Nat64}),v=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),j=e.Record({controller:e.Principal,freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),memory_allocation:e.Nat,compute_allocation:e.Nat}),P=e.Record({controller:e.Principal,status:v,freezing_threshold:e.Nat,balance:e.Vec(e.Tuple(e.Vec(e.Nat8),e.Nat)),memory_size:e.Nat,cycles:e.Nat,settings:j,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),w=e.Record({dissolve_delay_seconds:e.Nat64,memo:e.Nat64}),C=e.Record({hotkey_principal:e.Text,nns_neuron_id:e.Nat64}),V=e.Record({buyer_principal:e.Text}),A=e.Variant({CommunityFund:C,Direct:V}),J=e.Record({sns:e.Opt(x),neuron_attributes:e.Opt(w),investor:e.Opt(A)}),$=e.Record({nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),E=e.Record({hotkey_principal:e.Text,cf_neurons:e.Vec($)}),Z=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),T=e.Record({min_participant_icp_e8s:e.Nat64,neuron_basket_construction_parameters:e.Opt(Z),max_icp_e8s:e.Nat64,swap_due_timestamp_seconds:e.Nat64,min_participants:e.Nat32,sns_token_e8s:e.Nat64,max_participant_icp_e8s:e.Nat64,min_icp_e8s:e.Nat64}),k=e.Record({neuron_recipes:e.Vec(J),cf_participants:e.Vec(E),init:e.Opt(t),lifecycle:e.Int32,buyers:e.Vec(e.Tuple(e.Text,F)),params:e.Opt(T),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),I=e.Record({sns_tokens_per_icp:e.Float32,buyer_total_icp_e8s:e.Nat64}),D=e.Record({swap:e.Opt(k),derived:e.Opt(I)}),M=e.Record({cf_participants:e.Vec(E),params:e.Opt(T),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),H=e.Record({buyer:e.Text}),G=e.Record({icp_accepted_participation_e8s:e.Nat64,icp_ledger_account_balance_e8s:e.Nat64});return e.Service({error_refund_icp:e.Func([s],[i],[]),finalize_swap:e.Func([e.Record({})],[O],[]),get_buyer_state:e.Func([W],[Y],[]),get_buyers_total:e.Func([e.Record({})],[Q],[]),get_canister_status:e.Func([e.Record({})],[P],[]),get_state:e.Func([e.Record({})],[D],[]),open:e.Func([M],[e.Record({})],[]),refresh_buyer_tokens:e.Func([H],[G],[]),restore_dapp_controllers:e.Func([e.Record({})],[m],[])})};var Ht=({IDL:e})=>{let t=e.Record({sns_root_canister_id:e.Text,fallback_controller_principal_ids:e.Vec(e.Text),neuron_minimum_stake_e8s:e.Opt(e.Nat64),nns_governance_canister_id:e.Text,transaction_fee_e8s:e.Opt(e.Nat64),icp_ledger_canister_id:e.Text,sns_ledger_canister_id:e.Text,sns_governance_canister_id:e.Text}),s=e.Record({source_principal_id:e.Opt(e.Principal)}),r=e.Record({block_height:e.Opt(e.Nat64)}),n=e.Record({description:e.Opt(e.Text),error_type:e.Opt(e.Int32)}),o=e.Variant({Ok:r,Err:n}),i=e.Record({result:e.Opt(o)}),a=e.Record({error_message:e.Text,error_type:e.Int32}),c=e.Record({governance_error:e.Opt(a)}),p=e.Record({code:e.Opt(e.Int32),description:e.Text}),d=e.Variant({Ok:c,Err:p}),_=e.Record({possibility:e.Opt(d)}),l=e.Record({err:e.Opt(p),dapp_canister_id:e.Opt(e.Principal)}),u=e.Record({failed_updates:e.Vec(l)}),N=e.Variant({Ok:u,Err:p}),m=e.Record({possibility:e.Opt(N)}),R=e.Variant({Err:p}),g=e.Record({possibility:e.Opt(R)}),f=e.Record({failure:e.Nat32,skipped:e.Nat32,success:e.Nat32}),O=e.Record({settle_community_fund_participation_result:e.Opt(_),set_dapp_controllers_result:e.Opt(m),sns_governance_normal_mode_enabled:e.Opt(g),sweep_icp:e.Opt(f),sweep_sns:e.Opt(f),create_neuron:e.Opt(f)}),W=e.Record({principal_id:e.Opt(e.Principal)}),x=e.Record({transfer_start_timestamp_seconds:e.Nat64,amount_e8s:e.Nat64,transfer_success_timestamp_seconds:e.Nat64}),F=e.Record({icp:e.Opt(x)}),Y=e.Record({buyer_state:e.Opt(F)}),Q=e.Record({buyers_total:e.Nat64}),v=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),j=e.Record({controller:e.Principal,freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),memory_allocation:e.Nat,compute_allocation:e.Nat}),P=e.Record({controller:e.Principal,status:v,freezing_threshold:e.Nat,balance:e.Vec(e.Tuple(e.Vec(e.Nat8),e.Nat)),memory_size:e.Nat,cycles:e.Nat,settings:j,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),w=e.Record({dissolve_delay_seconds:e.Nat64,memo:e.Nat64}),C=e.Record({hotkey_principal:e.Text,nns_neuron_id:e.Nat64}),V=e.Record({buyer_principal:e.Text}),A=e.Variant({CommunityFund:C,Direct:V}),J=e.Record({sns:e.Opt(x),neuron_attributes:e.Opt(w),investor:e.Opt(A)}),$=e.Record({nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),E=e.Record({hotkey_principal:e.Text,cf_neurons:e.Vec($)}),Z=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),T=e.Record({min_participant_icp_e8s:e.Nat64,neuron_basket_construction_parameters:e.Opt(Z),max_icp_e8s:e.Nat64,swap_due_timestamp_seconds:e.Nat64,min_participants:e.Nat32,sns_token_e8s:e.Nat64,max_participant_icp_e8s:e.Nat64,min_icp_e8s:e.Nat64}),k=e.Record({neuron_recipes:e.Vec(J),cf_participants:e.Vec(E),init:e.Opt(t),lifecycle:e.Int32,buyers:e.Vec(e.Tuple(e.Text,F)),params:e.Opt(T),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),I=e.Record({sns_tokens_per_icp:e.Float32,buyer_total_icp_e8s:e.Nat64}),D=e.Record({swap:e.Opt(k),derived:e.Opt(I)}),M=e.Record({cf_participants:e.Vec(E),params:e.Opt(T),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),H=e.Record({buyer:e.Text}),G=e.Record({icp_accepted_participation_e8s:e.Nat64,icp_ledger_account_balance_e8s:e.Nat64});return e.Service({error_refund_icp:e.Func([s],[i],[]),finalize_swap:e.Func([e.Record({})],[O],[]),get_buyer_state:e.Func([W],[Y],["query"]),get_buyers_total:e.Func([e.Record({})],[Q],[]),get_canister_status:e.Func([e.Record({})],[P],[]),get_state:e.Func([e.Record({})],[D],["query"]),open:e.Func([M],[e.Record({})],[]),refresh_buyer_tokens:e.Func([H],[G],[]),restore_dapp_controllers:e.Func([e.Record({})],[m],[])})};var z=class extends h{constructor(){super(...arguments);this.state=s=>this.caller(s).get_state({});this.notifyParticipation=async s=>{await this.caller({certified:!0}).refresh_buyer_tokens(s)};this.getUserCommitment=async s=>{let{buyer_state:r}=await this.caller({certified:s.certified}).get_buyer_state({principal_id:s.principal_id});return(0,Re.fromNullable)(r)}}static create(s){let{service:r,certifiedService:n,canisterId:o}=(0,Re.createServices)({options:s,idlFactory:Ht,certifiedIdlFactory:Mt});return new z(o,r,n)}};var er=async({agent:e,rootOptions:t,certified:s=!0})=>{let r=U.create({...t,agent:e}),{ledger:n,swap:o,governance:i,index:a}=await r.listSnsCanisters({certified:s}),c=(0,b.fromNullable)(i),p=(0,b.fromNullable)(n),d=(0,b.fromNullable)(o),_=(0,b.fromNullable)(a);return(0,b.assertNonNullish)(c),(0,b.assertNonNullish)(p),(0,b.assertNonNullish)(d),(0,b.assertNonNullish)(_),new pe({root:r,governance:q.create({canisterId:c,agent:e}),ledger:B.create({canisterId:p,agent:e}),swap:z.create({canisterId:d,agent:e}),index:X.create({canisterId:_,agent:e}),certified:s})};var Gt=(n=>(n.SYMBOL="icrc1:symbol",n.NAME="icrc1:name",n.DECIMALS="icrc1:decimals",n.FEE="icrc1:fee",n))(Gt||{});var _e=require("@dfinity/principal"),Bt=parseInt("FF",16),qt=32,tr=e=>{let t=Array.from(e);for(;t[0]===0;)t.shift();return Uint8Array.from(t)},rr=({owner:e,subaccount:t})=>{if(t===void 0)return e.toText();let s=tr(t);if(s.length===0)return e.toText();let r=Uint8Array.from([...e.toUint8Array(),...s,s.length,Bt]);return _e.Principal.fromUint8Array(r).toText()},sr=e=>{let t=_e.Principal.fromText(e),[s,r,...n]=t.toUint8Array().reverse();if(s!==Bt)return{owner:_e.Principal.fromText(e)};if(r>qt||r===0||r===void 0)throw new Error("Invalid account string");let o=n.slice(0,r);if(o[0]===0||o.length!==r)throw new Error("Invalid account string");for(;o.length<qt;)o.push(0);let i=Uint8Array.from(o.reverse()),a=n.reverse().filter((c,p)=>p<n.length-r);return{owner:_e.Principal.fromUint8Array(Uint8Array.from(a)),subaccount:i}};0&&(module.exports={SnsGovernanceCanister,SnsGovernanceError,SnsIndexCanister,SnsLedgerCanister,SnsMetadataResponseEntries,SnsNeuronPermissionType,SnsProposalDecisionStatus,SnsProposalRewardStatus,SnsRootCanister,SnsSwapCanister,SnsSwapLifecycle,SnsTransferError,SnsWrapper,decodeSnsAccount,encodeSnsAccount,initSnsWrapper,neuronSubaccount});
1
+ "use strict";var Ct=Object.create;var ie=Object.defineProperty;var wt=Object.getOwnPropertyDescriptor;var Vt=Object.getOwnPropertyNames;var At=Object.getPrototypeOf,Et=Object.prototype.hasOwnProperty;var Mt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),kt=(e,t)=>{for(var s in t)ie(e,s,{get:t[s],enumerable:!0})},De=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Vt(t))!Et.call(e,n)&&n!==s&&ie(e,n,{get:()=>t[n],enumerable:!(r=wt(t,n))||r.enumerable});return e};var Ht=(e,t,s)=>(s=e!=null?Ct(At(e)):{},De(t||!e||!e.__esModule?ie(s,"default",{value:e,enumerable:!0}):s,e)),Gt=e=>De(ie({},"__esModule",{value:!0}),e);var vt=Mt((exports,module)=>{(function(){"use strict";var ERROR="input is invalid type",WINDOW=typeof window=="object",root=WINDOW?window:{};root.JS_SHA256_NO_WINDOW&&(WINDOW=!1);var WEB_WORKER=!WINDOW&&typeof self=="object",NODE_JS=!root.JS_SHA256_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;NODE_JS?root=global:WEB_WORKER&&(root=self);var COMMON_JS=!root.JS_SHA256_NO_COMMON_JS&&typeof module=="object"&&module.exports,AMD=typeof define=="function"&&define.amd,ARRAY_BUFFER=!root.JS_SHA256_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",HEX_CHARS="0123456789abcdef".split(""),EXTRA=[-2147483648,8388608,32768,128],SHIFT=[24,16,8,0],K=[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],OUTPUT_TYPES=["hex","array","digest","arrayBuffer"],blocks=[];(root.JS_SHA256_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(e){return Object.prototype.toString.call(e)==="[object Array]"}),ARRAY_BUFFER&&(root.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(e){return typeof e=="object"&&e.buffer&&e.buffer.constructor===ArrayBuffer});var createOutputMethod=function(e,t){return function(s){return new Sha256(t,!0).update(s)[e]()}},createMethod=function(e){var t=createOutputMethod("hex",e);NODE_JS&&(t=nodeWrap(t,e)),t.create=function(){return new Sha256(e)},t.update=function(n){return t.create().update(n)};for(var s=0;s<OUTPUT_TYPES.length;++s){var r=OUTPUT_TYPES[s];t[r]=createOutputMethod(r,e)}return t},nodeWrap=function(method,is224){var crypto=eval("require('crypto')"),Buffer=eval("require('buffer').Buffer"),algorithm=is224?"sha224":"sha256",nodeMethod=function(e){if(typeof e=="string")return crypto.createHash(algorithm).update(e,"utf8").digest("hex");if(e==null)throw new Error(ERROR);return e.constructor===ArrayBuffer&&(e=new Uint8Array(e)),Array.isArray(e)||ArrayBuffer.isView(e)||e.constructor===Buffer?crypto.createHash(algorithm).update(new Buffer(e)).digest("hex"):method(e)};return nodeMethod},createHmacOutputMethod=function(e,t){return function(s,r){return new HmacSha256(s,t,!0).update(r)[e]()}},createHmacMethod=function(e){var t=createHmacOutputMethod("hex",e);t.create=function(n){return new HmacSha256(n,e)},t.update=function(n,o){return t.create(n).update(o)};for(var s=0;s<OUTPUT_TYPES.length;++s){var r=OUTPUT_TYPES[s];t[r]=createHmacOutputMethod(r,e)}return t};function Sha256(e,t){t?(blocks[0]=blocks[16]=blocks[1]=blocks[2]=blocks[3]=blocks[4]=blocks[5]=blocks[6]=blocks[7]=blocks[8]=blocks[9]=blocks[10]=blocks[11]=blocks[12]=blocks[13]=blocks[14]=blocks[15]=0,this.blocks=blocks):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],e?(this.h0=3238371032,this.h1=914150663,this.h2=812702999,this.h3=4144912697,this.h4=4290775857,this.h5=1750603025,this.h6=1694076839,this.h7=3204075428):(this.h0=1779033703,this.h1=3144134277,this.h2=1013904242,this.h3=2773480762,this.h4=1359893119,this.h5=2600822924,this.h6=528734635,this.h7=1541459225),this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0,this.is224=e}Sha256.prototype.update=function(e){if(!this.finalized){var t,s=typeof e;if(s!=="string"){if(s==="object"){if(e===null)throw new Error(ERROR);if(ARRAY_BUFFER&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!ARRAY_BUFFER||!ArrayBuffer.isView(e)))throw new Error(ERROR)}else throw new Error(ERROR);t=!0}for(var r,n=0,o,i=e.length,a=this.blocks;n<i;){if(this.hashed&&(this.hashed=!1,a[0]=this.block,a[16]=a[1]=a[2]=a[3]=a[4]=a[5]=a[6]=a[7]=a[8]=a[9]=a[10]=a[11]=a[12]=a[13]=a[14]=a[15]=0),t)for(o=this.start;n<i&&o<64;++n)a[o>>2]|=e[n]<<SHIFT[o++&3];else for(o=this.start;n<i&&o<64;++n)r=e.charCodeAt(n),r<128?a[o>>2]|=r<<SHIFT[o++&3]:r<2048?(a[o>>2]|=(192|r>>6)<<SHIFT[o++&3],a[o>>2]|=(128|r&63)<<SHIFT[o++&3]):r<55296||r>=57344?(a[o>>2]|=(224|r>>12)<<SHIFT[o++&3],a[o>>2]|=(128|r>>6&63)<<SHIFT[o++&3],a[o>>2]|=(128|r&63)<<SHIFT[o++&3]):(r=65536+((r&1023)<<10|e.charCodeAt(++n)&1023),a[o>>2]|=(240|r>>18)<<SHIFT[o++&3],a[o>>2]|=(128|r>>12&63)<<SHIFT[o++&3],a[o>>2]|=(128|r>>6&63)<<SHIFT[o++&3],a[o>>2]|=(128|r&63)<<SHIFT[o++&3]);this.lastByteIndex=o,this.bytes+=o-this.start,o>=64?(this.block=a[16],this.start=o-64,this.hash(),this.hashed=!0):this.start=o}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},Sha256.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[16]=this.block,e[t>>2]|=EXTRA[t&3],this.block=e[16],t>=56&&(this.hashed||this.hash(),e[0]=this.block,e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.hBytes<<3|this.bytes>>>29,e[15]=this.bytes<<3,this.hash()}},Sha256.prototype.hash=function(){var e=this.h0,t=this.h1,s=this.h2,r=this.h3,n=this.h4,o=this.h5,i=this.h6,a=this.h7,c=this.blocks,_,u,p,l,d,N,m,R,g,f,h;for(_=16;_<64;++_)d=c[_-15],u=(d>>>7|d<<25)^(d>>>18|d<<14)^d>>>3,d=c[_-2],p=(d>>>17|d<<15)^(d>>>19|d<<13)^d>>>10,c[_]=c[_-16]+u+c[_-7]+p<<0;for(h=t&s,_=0;_<64;_+=4)this.first?(this.is224?(R=300032,d=c[0]-1413257819,a=d-150054599<<0,r=d+24177077<<0):(R=704751109,d=c[0]-210244248,a=d-1521486534<<0,r=d+143694565<<0),this.first=!1):(u=(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10),p=(n>>>6|n<<26)^(n>>>11|n<<21)^(n>>>25|n<<7),R=e&t,l=R^e&s^h,m=n&o^~n&i,d=a+p+m+K[_]+c[_],N=u+l,a=r+d<<0,r=d+N<<0),u=(r>>>2|r<<30)^(r>>>13|r<<19)^(r>>>22|r<<10),p=(a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7),g=r&e,l=g^r&t^R,m=a&n^~a&o,d=i+p+m+K[_+1]+c[_+1],N=u+l,i=s+d<<0,s=d+N<<0,u=(s>>>2|s<<30)^(s>>>13|s<<19)^(s>>>22|s<<10),p=(i>>>6|i<<26)^(i>>>11|i<<21)^(i>>>25|i<<7),f=s&r,l=f^s&e^g,m=i&a^~i&n,d=o+p+m+K[_+2]+c[_+2],N=u+l,o=t+d<<0,t=d+N<<0,u=(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10),p=(o>>>6|o<<26)^(o>>>11|o<<21)^(o>>>25|o<<7),h=t&s,l=h^t&r^f,m=o&i^~o&a,d=n+p+m+K[_+3]+c[_+3],N=u+l,n=e+d<<0,e=d+N<<0;this.h0=this.h0+e<<0,this.h1=this.h1+t<<0,this.h2=this.h2+s<<0,this.h3=this.h3+r<<0,this.h4=this.h4+n<<0,this.h5=this.h5+o<<0,this.h6=this.h6+i<<0,this.h7=this.h7+a<<0},Sha256.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,s=this.h2,r=this.h3,n=this.h4,o=this.h5,i=this.h6,a=this.h7,c=HEX_CHARS[e>>28&15]+HEX_CHARS[e>>24&15]+HEX_CHARS[e>>20&15]+HEX_CHARS[e>>16&15]+HEX_CHARS[e>>12&15]+HEX_CHARS[e>>8&15]+HEX_CHARS[e>>4&15]+HEX_CHARS[e&15]+HEX_CHARS[t>>28&15]+HEX_CHARS[t>>24&15]+HEX_CHARS[t>>20&15]+HEX_CHARS[t>>16&15]+HEX_CHARS[t>>12&15]+HEX_CHARS[t>>8&15]+HEX_CHARS[t>>4&15]+HEX_CHARS[t&15]+HEX_CHARS[s>>28&15]+HEX_CHARS[s>>24&15]+HEX_CHARS[s>>20&15]+HEX_CHARS[s>>16&15]+HEX_CHARS[s>>12&15]+HEX_CHARS[s>>8&15]+HEX_CHARS[s>>4&15]+HEX_CHARS[s&15]+HEX_CHARS[r>>28&15]+HEX_CHARS[r>>24&15]+HEX_CHARS[r>>20&15]+HEX_CHARS[r>>16&15]+HEX_CHARS[r>>12&15]+HEX_CHARS[r>>8&15]+HEX_CHARS[r>>4&15]+HEX_CHARS[r&15]+HEX_CHARS[n>>28&15]+HEX_CHARS[n>>24&15]+HEX_CHARS[n>>20&15]+HEX_CHARS[n>>16&15]+HEX_CHARS[n>>12&15]+HEX_CHARS[n>>8&15]+HEX_CHARS[n>>4&15]+HEX_CHARS[n&15]+HEX_CHARS[o>>28&15]+HEX_CHARS[o>>24&15]+HEX_CHARS[o>>20&15]+HEX_CHARS[o>>16&15]+HEX_CHARS[o>>12&15]+HEX_CHARS[o>>8&15]+HEX_CHARS[o>>4&15]+HEX_CHARS[o&15]+HEX_CHARS[i>>28&15]+HEX_CHARS[i>>24&15]+HEX_CHARS[i>>20&15]+HEX_CHARS[i>>16&15]+HEX_CHARS[i>>12&15]+HEX_CHARS[i>>8&15]+HEX_CHARS[i>>4&15]+HEX_CHARS[i&15];return this.is224||(c+=HEX_CHARS[a>>28&15]+HEX_CHARS[a>>24&15]+HEX_CHARS[a>>20&15]+HEX_CHARS[a>>16&15]+HEX_CHARS[a>>12&15]+HEX_CHARS[a>>8&15]+HEX_CHARS[a>>4&15]+HEX_CHARS[a&15]),c},Sha256.prototype.toString=Sha256.prototype.hex,Sha256.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,s=this.h2,r=this.h3,n=this.h4,o=this.h5,i=this.h6,a=this.h7,c=[e>>24&255,e>>16&255,e>>8&255,e&255,t>>24&255,t>>16&255,t>>8&255,t&255,s>>24&255,s>>16&255,s>>8&255,s&255,r>>24&255,r>>16&255,r>>8&255,r&255,n>>24&255,n>>16&255,n>>8&255,n&255,o>>24&255,o>>16&255,o>>8&255,o&255,i>>24&255,i>>16&255,i>>8&255,i&255];return this.is224||c.push(a>>24&255,a>>16&255,a>>8&255,a&255),c},Sha256.prototype.array=Sha256.prototype.digest,Sha256.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(this.is224?28:32),t=new DataView(e);return t.setUint32(0,this.h0),t.setUint32(4,this.h1),t.setUint32(8,this.h2),t.setUint32(12,this.h3),t.setUint32(16,this.h4),t.setUint32(20,this.h5),t.setUint32(24,this.h6),this.is224||t.setUint32(28,this.h7),e};function HmacSha256(e,t,s){var r,n=typeof e;if(n==="string"){var o=[],i=e.length,a=0,c;for(r=0;r<i;++r)c=e.charCodeAt(r),c<128?o[a++]=c:c<2048?(o[a++]=192|c>>6,o[a++]=128|c&63):c<55296||c>=57344?(o[a++]=224|c>>12,o[a++]=128|c>>6&63,o[a++]=128|c&63):(c=65536+((c&1023)<<10|e.charCodeAt(++r)&1023),o[a++]=240|c>>18,o[a++]=128|c>>12&63,o[a++]=128|c>>6&63,o[a++]=128|c&63);e=o}else if(n==="object"){if(e===null)throw new Error(ERROR);if(ARRAY_BUFFER&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!ARRAY_BUFFER||!ArrayBuffer.isView(e)))throw new Error(ERROR)}else throw new Error(ERROR);e.length>64&&(e=new Sha256(t,!0).update(e).array());var _=[],u=[];for(r=0;r<64;++r){var p=e[r]||0;_[r]=92^p,u[r]=54^p}Sha256.call(this,t,s),this.update(u),this.oKeyPad=_,this.inner=!0,this.sharedMemory=s}HmacSha256.prototype=new Sha256,HmacSha256.prototype.finalize=function(){if(Sha256.prototype.finalize.call(this),this.inner){this.inner=!1;var e=this.array();Sha256.call(this,this.is224,this.sharedMemory),this.update(this.oKeyPad),this.update(e),Sha256.prototype.finalize.call(this)}};var exports=createMethod();exports.sha256=exports,exports.sha224=createMethod(!0),exports.sha256.hmac=createHmacMethod(),exports.sha224.hmac=createHmacMethod(!0),COMMON_JS?module.exports=exports:(root.sha256=exports.sha256,root.sha224=exports.sha224,AMD&&define(function(){return exports}))})()});var Yt={};kt(Yt,{SnsGovernanceCanister:()=>G,SnsGovernanceError:()=>O,SnsIndexCanister:()=>U,SnsNeuronPermissionType:()=>Le,SnsProposalDecisionStatus:()=>tt,SnsProposalRewardStatus:()=>et,SnsRootCanister:()=>q,SnsSwapCanister:()=>B,SnsSwapLifecycle:()=>st,SnsWrapper:()=>ae,initSnsWrapper:()=>Wt,neuronSubaccount:()=>Ie});module.exports=Gt(Yt);var Le=(p=>(p[p.NEURON_PERMISSION_TYPE_UNSPECIFIED=0]="NEURON_PERMISSION_TYPE_UNSPECIFIED",p[p.NEURON_PERMISSION_TYPE_CONFIGURE_DISSOLVE_STATE=1]="NEURON_PERMISSION_TYPE_CONFIGURE_DISSOLVE_STATE",p[p.NEURON_PERMISSION_TYPE_MANAGE_PRINCIPALS=2]="NEURON_PERMISSION_TYPE_MANAGE_PRINCIPALS",p[p.NEURON_PERMISSION_TYPE_SUBMIT_PROPOSAL=3]="NEURON_PERMISSION_TYPE_SUBMIT_PROPOSAL",p[p.NEURON_PERMISSION_TYPE_VOTE=4]="NEURON_PERMISSION_TYPE_VOTE",p[p.NEURON_PERMISSION_TYPE_DISBURSE=5]="NEURON_PERMISSION_TYPE_DISBURSE",p[p.NEURON_PERMISSION_TYPE_SPLIT=6]="NEURON_PERMISSION_TYPE_SPLIT",p[p.NEURON_PERMISSION_TYPE_MERGE_MATURITY=7]="NEURON_PERMISSION_TYPE_MERGE_MATURITY",p[p.NEURON_PERMISSION_TYPE_DISBURSE_MATURITY=8]="NEURON_PERMISSION_TYPE_DISBURSE_MATURITY",p[p.NEURON_PERMISSION_TYPE_STAKE_MATURITY=9]="NEURON_PERMISSION_TYPE_STAKE_MATURITY",p[p.NEURON_PERMISSION_TYPE_MANAGE_VOTING_PERMISSION=10]="NEURON_PERMISSION_TYPE_MANAGE_VOTING_PERMISSION",p))(Le||{}),et=(n=>(n[n.PROPOSAL_REWARD_STATUS_UNSPECIFIED=0]="PROPOSAL_REWARD_STATUS_UNSPECIFIED",n[n.PROPOSAL_REWARD_STATUS_ACCEPT_VOTES=1]="PROPOSAL_REWARD_STATUS_ACCEPT_VOTES",n[n.PROPOSAL_REWARD_STATUS_READY_TO_SETTLE=2]="PROPOSAL_REWARD_STATUS_READY_TO_SETTLE",n[n.PROPOSAL_REWARD_STATUS_SETTLED=3]="PROPOSAL_REWARD_STATUS_SETTLED",n))(et||{}),tt=(i=>(i[i.PROPOSAL_DECISION_STATUS_UNSPECIFIED=0]="PROPOSAL_DECISION_STATUS_UNSPECIFIED",i[i.PROPOSAL_DECISION_STATUS_OPEN=1]="PROPOSAL_DECISION_STATUS_OPEN",i[i.PROPOSAL_DECISION_STATUS_REJECTED=2]="PROPOSAL_DECISION_STATUS_REJECTED",i[i.PROPOSAL_DECISION_STATUS_ADOPTED=3]="PROPOSAL_DECISION_STATUS_ADOPTED",i[i.PROPOSAL_DECISION_STATUS_EXECUTED=4]="PROPOSAL_DECISION_STATUS_EXECUTED",i[i.PROPOSAL_DECISION_STATUS_FAILED=5]="PROPOSAL_DECISION_STATUS_FAILED",i))(tt||{});var st=(o=>(o[o.Unspecified=0]="Unspecified",o[o.Pending=1]="Pending",o[o.Open=2]="Open",o[o.Committed=3]="Committed",o[o.Aborted=4]="Aborted",o))(st||{});var O=class extends Error{};var ce=class extends Error{};var rt=e=>{if(e<0||e>100)throw new ce(`${e} is not a valid percentage number.`)};var S=require("@dfinity/utils");var ot=({IDL:e})=>{let t=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)}),s=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:t}),r=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(s)}),n=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}),o=e.Record({id:e.Vec(e.Nat8)}),i=e.Record({followees:e.Vec(o)}),a=e.Record({followees:e.Vec(e.Tuple(e.Nat64,i))}),c=e.Record({permissions:e.Vec(e.Int32)}),_=e.Record({final_reward_rate_basis_points:e.Opt(e.Nat64),initial_reward_rate_basis_points:e.Opt(e.Nat64),reward_rate_transition_duration_seconds:e.Opt(e.Nat64),round_duration_seconds:e.Opt(e.Nat64)}),u=e.Record({default_followees:e.Opt(a),max_dissolve_delay_seconds:e.Opt(e.Nat64),max_dissolve_delay_bonus_percentage:e.Opt(e.Nat64),max_followees_per_function:e.Opt(e.Nat64),neuron_claimer_permissions:e.Opt(c),neuron_minimum_stake_e8s:e.Opt(e.Nat64),max_neuron_age_for_age_bonus:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),reject_cost_e8s:e.Opt(e.Nat64),max_proposals_to_keep_per_action:e.Opt(e.Nat32),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),max_number_of_neurons:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),max_number_of_proposals_with_ballots:e.Opt(e.Nat64),max_age_bonus_percentage:e.Opt(e.Nat64),neuron_grantable_permissions:e.Opt(c),voting_rewards_parameters:e.Opt(_),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),p=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)}),l=e.Record({id:e.Nat64}),d=e.Record({actual_timestamp_seconds:e.Nat64,distributed_e8s_equivalent:e.Nat64,round:e.Nat64,settled_proposals:e.Vec(l)}),N=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Nat64,target_version:e.Opt(p)}),m=e.Record({error_message:e.Text,error_type:e.Int32}),R=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),g=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),f=e.Record({subaccount:e.Vec(e.Nat8)}),h=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(f),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),X=e.Record({new_canister_wasm:e.Vec(e.Nat8),canister_id:e.Opt(e.Principal)}),y=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),b=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),z=e.Record({motion_text:e.Text}),W=e.Variant({ManageNervousSystemParameters:u,AddGenericNervousSystemFunction:r,RemoveGenericNervousSystemFunction:e.Nat64,UpgradeSnsToNextVersion:e.Record({}),TransferSnsTreasuryFunds:h,UpgradeSnsControlledCanister:X,Unspecified:e.Record({}),ManageSnsMetadata:y,ExecuteGenericNervousSystemFunction:b,Motion:z}),v=e.Record({url:e.Text,title:e.Text,action:e.Opt(W),summary:e.Text}),Y=e.Record({current_deadline_timestamp_seconds:e.Nat64}),x=e.Record({id:e.Opt(l),payload_text_rendering:e.Opt(e.Text),action:e.Nat64,failure_reason:e.Opt(m),ballots:e.Vec(e.Tuple(e.Text,R)),reward_event_round:e.Nat64,failed_timestamp_seconds:e.Nat64,proposal_creation_timestamp_seconds:e.Nat64,initial_voting_period_seconds:e.Nat64,reject_cost_e8s:e.Nat64,latest_tally:e.Opt(g),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(v),proposer:e.Opt(o),wait_for_quiet_state:e.Opt(Y),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),F=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),C=e.Record({function_id:e.Nat64,followees:e.Vec(o)}),w=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(f)}),V=e.Record({to_account:e.Opt(w),percentage_to_disburse:e.Nat32}),Q=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),j=e.Record({additional_dissolve_delay_seconds:e.Nat32}),A=e.Record({dissolve_timestamp_seconds:e.Nat64}),J=e.Variant({ChangeAutoStakeMaturity:Q,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:j,SetDissolveTimestamp:A}),P=e.Record({operation:e.Opt(J)}),E=e.Record({vote:e.Int32,proposal:e.Opt(l)}),$=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),Z=e.Variant({MemoAndController:$,NeuronId:e.Record({})}),M=e.Record({by:e.Opt(Z)}),k=e.Record({permissions_to_remove:e.Opt(c),principal_id:e.Opt(e.Principal)}),H=e.Record({permissions_to_add:e.Opt(c),principal_id:e.Opt(e.Principal)}),te=e.Record({percentage_to_merge:e.Nat32}),le=e.Record({e8s:e.Nat64}),se=e.Record({to_account:e.Opt(w),amount:e.Opt(le)}),me=e.Variant({Split:F,Follow:C,DisburseMaturity:V,Configure:P,RegisterVote:E,SyncCommand:e.Record({}),MakeProposal:v,ClaimOrRefreshNeuron:M,RemoveNeuronPermissions:k,AddNeuronPermissions:H,MergeMaturity:te,Disburse:se}),Ne=e.Record({command:e.Opt(me),timestamp:e.Nat64}),Re=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),fe=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),I=e.Record({id:e.Opt(o),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),permissions:e.Vec(Re),maturity_e8s_equivalent:e.Nat64,cached_neuron_stake_e8s:e.Nat64,created_timestamp_seconds:e.Nat64,source_nns_neuron_id:e.Opt(e.Nat64),auto_stake_maturity:e.Opt(e.Bool),aging_since_timestamp_seconds:e.Nat64,dissolve_state:e.Opt(fe),voting_power_percentage_multiplier:e.Nat64,followees:e.Vec(e.Tuple(e.Nat64,i)),neuron_fees_e8s:e.Nat64}),Ft=e.Record({root_canister_id:e.Opt(e.Principal),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,r)),metrics:e.Opt(n),mode:e.Int32,parameters:e.Opt(u),deployed_version:e.Opt(p),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(d),pending_version:e.Opt(N),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,x)),in_flight_commands:e.Vec(e.Tuple(e.Text,Ne)),sns_metadata:e.Opt(y),neurons:e.Vec(e.Tuple(e.Text,I)),genesis_timestamp_seconds:e.Nat64}),Oe=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),memo:e.Opt(e.Nat64),source_nns_neuron_id:e.Opt(e.Nat64),stake_e8s:e.Opt(e.Nat64),hotkey:e.Opt(e.Principal)}),Se=e.Record({neuron_parameters:e.Vec(Oe)}),he=e.Record({skipped_claims:e.Nat32,successful_claims:e.Nat32,failed_claims:e.Nat32}),ge=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),ye=e.Record({neuron_id:e.Opt(o)}),ve=e.Variant({Error:m,Neuron:I}),xe=e.Record({result:e.Opt(ve)}),re=e.Record({proposal_id:e.Opt(l)}),Pe=e.Variant({Error:m,Proposal:x}),Te=e.Record({result:e.Opt(Pe)}),be=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),Fe=e.Record({controller:e.Principal,freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),memory_allocation:e.Nat,compute_allocation:e.Nat}),Ce=e.Record({controller:e.Principal,status:be,freezing_threshold:e.Nat,balance:e.Vec(e.Tuple(e.Vec(e.Nat8),e.Nat)),memory_size:e.Nat,cycles:e.Nat,settings:Fe,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),we=e.Record({deployed_version:e.Opt(p),pending_version:e.Opt(N)}),Ve=e.Record({sns_initialization_parameters:e.Text}),Ae=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(r)}),Ee=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(o)}),Me=e.Record({neurons:e.Vec(I)}),ke=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(l),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_status:e.Vec(e.Int32)}),He=e.Record({proposals:e.Vec(x)}),Ge=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),qe=e.Variant({Split:F,Follow:C,DisburseMaturity:V,ClaimOrRefresh:M,Configure:P,RegisterVote:E,MakeProposal:v,StakeMaturity:Ge,RemoveNeuronPermissions:k,AddNeuronPermissions:H,MergeMaturity:te,Disburse:se}),Ue=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(qe)}),Be=e.Record({created_neuron_id:e.Opt(o)}),Xe=e.Record({transfer_block_height:e.Nat64,amount_disbursed_e8s:e.Nat64}),ze=e.Record({refreshed_neuron_id:e.Opt(o)}),We=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),Ye=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),Qe=e.Record({transfer_block_height:e.Nat64}),je=e.Variant({Error:m,Split:Be,Follow:e.Record({}),DisburseMaturity:Xe,ClaimOrRefresh:ze,Configure:e.Record({}),RegisterVote:e.Record({}),MakeProposal:re,RemoveNeuronPermission:e.Record({}),StakeMaturity:We,MergeMaturity:Ye,Disburse:Qe,AddNeuronPermission:e.Record({})}),Je=e.Record({command:e.Opt(je)}),Ke=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([Se],[he],[]),get_build_metadata:e.Func([],[e.Text],[]),get_metadata:e.Func([e.Record({})],[ge],[]),get_nervous_system_parameters:e.Func([e.Null],[u],[]),get_neuron:e.Func([ye],[xe],[]),get_proposal:e.Func([re],[Te],[]),get_root_canister_status:e.Func([e.Null],[Ce],[]),get_running_sns_version:e.Func([e.Record({})],[we],[]),get_sns_initialization_parameters:e.Func([e.Record({})],[Ve],[]),list_nervous_system_functions:e.Func([],[Ae],[]),list_neurons:e.Func([Ee],[Me],[]),list_proposals:e.Func([ke],[He],[]),manage_neuron:e.Func([Ue],[Je],[]),set_mode:e.Func([Ke],[e.Record({})],[])})};var nt=({IDL:e})=>{let t=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)}),s=e.Variant({NativeNervousSystemFunction:e.Record({}),GenericNervousSystemFunction:t}),r=e.Record({id:e.Nat64,name:e.Text,description:e.Opt(e.Text),function_type:e.Opt(s)}),n=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}),o=e.Record({id:e.Vec(e.Nat8)}),i=e.Record({followees:e.Vec(o)}),a=e.Record({followees:e.Vec(e.Tuple(e.Nat64,i))}),c=e.Record({permissions:e.Vec(e.Int32)}),_=e.Record({final_reward_rate_basis_points:e.Opt(e.Nat64),initial_reward_rate_basis_points:e.Opt(e.Nat64),reward_rate_transition_duration_seconds:e.Opt(e.Nat64),round_duration_seconds:e.Opt(e.Nat64)}),u=e.Record({default_followees:e.Opt(a),max_dissolve_delay_seconds:e.Opt(e.Nat64),max_dissolve_delay_bonus_percentage:e.Opt(e.Nat64),max_followees_per_function:e.Opt(e.Nat64),neuron_claimer_permissions:e.Opt(c),neuron_minimum_stake_e8s:e.Opt(e.Nat64),max_neuron_age_for_age_bonus:e.Opt(e.Nat64),initial_voting_period_seconds:e.Opt(e.Nat64),neuron_minimum_dissolve_delay_to_vote_seconds:e.Opt(e.Nat64),reject_cost_e8s:e.Opt(e.Nat64),max_proposals_to_keep_per_action:e.Opt(e.Nat32),wait_for_quiet_deadline_increase_seconds:e.Opt(e.Nat64),max_number_of_neurons:e.Opt(e.Nat64),transaction_fee_e8s:e.Opt(e.Nat64),max_number_of_proposals_with_ballots:e.Opt(e.Nat64),max_age_bonus_percentage:e.Opt(e.Nat64),neuron_grantable_permissions:e.Opt(c),voting_rewards_parameters:e.Opt(_),max_number_of_principals_per_neuron:e.Opt(e.Nat64)}),p=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)}),l=e.Record({id:e.Nat64}),d=e.Record({actual_timestamp_seconds:e.Nat64,distributed_e8s_equivalent:e.Nat64,round:e.Nat64,settled_proposals:e.Vec(l)}),N=e.Record({mark_failed_at_seconds:e.Nat64,checking_upgrade_lock:e.Nat64,proposal_id:e.Nat64,target_version:e.Opt(p)}),m=e.Record({error_message:e.Text,error_type:e.Int32}),R=e.Record({vote:e.Int32,cast_timestamp_seconds:e.Nat64,voting_power:e.Nat64}),g=e.Record({no:e.Nat64,yes:e.Nat64,total:e.Nat64,timestamp_seconds:e.Nat64}),f=e.Record({subaccount:e.Vec(e.Nat8)}),h=e.Record({from_treasury:e.Int32,to_principal:e.Opt(e.Principal),to_subaccount:e.Opt(f),memo:e.Opt(e.Nat64),amount_e8s:e.Nat64}),X=e.Record({new_canister_wasm:e.Vec(e.Nat8),canister_id:e.Opt(e.Principal)}),y=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),b=e.Record({function_id:e.Nat64,payload:e.Vec(e.Nat8)}),z=e.Record({motion_text:e.Text}),W=e.Variant({ManageNervousSystemParameters:u,AddGenericNervousSystemFunction:r,RemoveGenericNervousSystemFunction:e.Nat64,UpgradeSnsToNextVersion:e.Record({}),TransferSnsTreasuryFunds:h,UpgradeSnsControlledCanister:X,Unspecified:e.Record({}),ManageSnsMetadata:y,ExecuteGenericNervousSystemFunction:b,Motion:z}),v=e.Record({url:e.Text,title:e.Text,action:e.Opt(W),summary:e.Text}),Y=e.Record({current_deadline_timestamp_seconds:e.Nat64}),x=e.Record({id:e.Opt(l),payload_text_rendering:e.Opt(e.Text),action:e.Nat64,failure_reason:e.Opt(m),ballots:e.Vec(e.Tuple(e.Text,R)),reward_event_round:e.Nat64,failed_timestamp_seconds:e.Nat64,proposal_creation_timestamp_seconds:e.Nat64,initial_voting_period_seconds:e.Nat64,reject_cost_e8s:e.Nat64,latest_tally:e.Opt(g),wait_for_quiet_deadline_increase_seconds:e.Nat64,decided_timestamp_seconds:e.Nat64,proposal:e.Opt(v),proposer:e.Opt(o),wait_for_quiet_state:e.Opt(Y),is_eligible_for_rewards:e.Bool,executed_timestamp_seconds:e.Nat64}),F=e.Record({memo:e.Nat64,amount_e8s:e.Nat64}),C=e.Record({function_id:e.Nat64,followees:e.Vec(o)}),w=e.Record({owner:e.Opt(e.Principal),subaccount:e.Opt(f)}),V=e.Record({to_account:e.Opt(w),percentage_to_disburse:e.Nat32}),Q=e.Record({requested_setting_for_auto_stake_maturity:e.Bool}),j=e.Record({additional_dissolve_delay_seconds:e.Nat32}),A=e.Record({dissolve_timestamp_seconds:e.Nat64}),J=e.Variant({ChangeAutoStakeMaturity:Q,StopDissolving:e.Record({}),StartDissolving:e.Record({}),IncreaseDissolveDelay:j,SetDissolveTimestamp:A}),P=e.Record({operation:e.Opt(J)}),E=e.Record({vote:e.Int32,proposal:e.Opt(l)}),$=e.Record({controller:e.Opt(e.Principal),memo:e.Nat64}),Z=e.Variant({MemoAndController:$,NeuronId:e.Record({})}),M=e.Record({by:e.Opt(Z)}),k=e.Record({permissions_to_remove:e.Opt(c),principal_id:e.Opt(e.Principal)}),H=e.Record({permissions_to_add:e.Opt(c),principal_id:e.Opt(e.Principal)}),te=e.Record({percentage_to_merge:e.Nat32}),le=e.Record({e8s:e.Nat64}),se=e.Record({to_account:e.Opt(w),amount:e.Opt(le)}),me=e.Variant({Split:F,Follow:C,DisburseMaturity:V,Configure:P,RegisterVote:E,SyncCommand:e.Record({}),MakeProposal:v,ClaimOrRefreshNeuron:M,RemoveNeuronPermissions:k,AddNeuronPermissions:H,MergeMaturity:te,Disburse:se}),Ne=e.Record({command:e.Opt(me),timestamp:e.Nat64}),Re=e.Record({principal:e.Opt(e.Principal),permission_type:e.Vec(e.Int32)}),fe=e.Variant({DissolveDelaySeconds:e.Nat64,WhenDissolvedTimestampSeconds:e.Nat64}),I=e.Record({id:e.Opt(o),staked_maturity_e8s_equivalent:e.Opt(e.Nat64),permissions:e.Vec(Re),maturity_e8s_equivalent:e.Nat64,cached_neuron_stake_e8s:e.Nat64,created_timestamp_seconds:e.Nat64,source_nns_neuron_id:e.Opt(e.Nat64),auto_stake_maturity:e.Opt(e.Bool),aging_since_timestamp_seconds:e.Nat64,dissolve_state:e.Opt(fe),voting_power_percentage_multiplier:e.Nat64,followees:e.Vec(e.Tuple(e.Nat64,i)),neuron_fees_e8s:e.Nat64}),Ft=e.Record({root_canister_id:e.Opt(e.Principal),id_to_nervous_system_functions:e.Vec(e.Tuple(e.Nat64,r)),metrics:e.Opt(n),mode:e.Int32,parameters:e.Opt(u),deployed_version:e.Opt(p),sns_initialization_parameters:e.Text,latest_reward_event:e.Opt(d),pending_version:e.Opt(N),swap_canister_id:e.Opt(e.Principal),ledger_canister_id:e.Opt(e.Principal),proposals:e.Vec(e.Tuple(e.Nat64,x)),in_flight_commands:e.Vec(e.Tuple(e.Text,Ne)),sns_metadata:e.Opt(y),neurons:e.Vec(e.Tuple(e.Text,I)),genesis_timestamp_seconds:e.Nat64}),Oe=e.Record({controller:e.Opt(e.Principal),dissolve_delay_seconds:e.Opt(e.Nat64),memo:e.Opt(e.Nat64),source_nns_neuron_id:e.Opt(e.Nat64),stake_e8s:e.Opt(e.Nat64),hotkey:e.Opt(e.Principal)}),Se=e.Record({neuron_parameters:e.Vec(Oe)}),he=e.Record({skipped_claims:e.Nat32,successful_claims:e.Nat32,failed_claims:e.Nat32}),ge=e.Record({url:e.Opt(e.Text),logo:e.Opt(e.Text),name:e.Opt(e.Text),description:e.Opt(e.Text)}),ye=e.Record({neuron_id:e.Opt(o)}),ve=e.Variant({Error:m,Neuron:I}),xe=e.Record({result:e.Opt(ve)}),re=e.Record({proposal_id:e.Opt(l)}),Pe=e.Variant({Error:m,Proposal:x}),Te=e.Record({result:e.Opt(Pe)}),be=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),Fe=e.Record({controller:e.Principal,freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),memory_allocation:e.Nat,compute_allocation:e.Nat}),Ce=e.Record({controller:e.Principal,status:be,freezing_threshold:e.Nat,balance:e.Vec(e.Tuple(e.Vec(e.Nat8),e.Nat)),memory_size:e.Nat,cycles:e.Nat,settings:Fe,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),we=e.Record({deployed_version:e.Opt(p),pending_version:e.Opt(N)}),Ve=e.Record({sns_initialization_parameters:e.Text}),Ae=e.Record({reserved_ids:e.Vec(e.Nat64),functions:e.Vec(r)}),Ee=e.Record({of_principal:e.Opt(e.Principal),limit:e.Nat32,start_page_at:e.Opt(o)}),Me=e.Record({neurons:e.Vec(I)}),ke=e.Record({include_reward_status:e.Vec(e.Int32),before_proposal:e.Opt(l),limit:e.Nat32,exclude_type:e.Vec(e.Nat64),include_status:e.Vec(e.Int32)}),He=e.Record({proposals:e.Vec(x)}),Ge=e.Record({percentage_to_stake:e.Opt(e.Nat32)}),qe=e.Variant({Split:F,Follow:C,DisburseMaturity:V,ClaimOrRefresh:M,Configure:P,RegisterVote:E,MakeProposal:v,StakeMaturity:Ge,RemoveNeuronPermissions:k,AddNeuronPermissions:H,MergeMaturity:te,Disburse:se}),Ue=e.Record({subaccount:e.Vec(e.Nat8),command:e.Opt(qe)}),Be=e.Record({created_neuron_id:e.Opt(o)}),Xe=e.Record({transfer_block_height:e.Nat64,amount_disbursed_e8s:e.Nat64}),ze=e.Record({refreshed_neuron_id:e.Opt(o)}),We=e.Record({maturity_e8s:e.Nat64,staked_maturity_e8s:e.Nat64}),Ye=e.Record({merged_maturity_e8s:e.Nat64,new_stake_e8s:e.Nat64}),Qe=e.Record({transfer_block_height:e.Nat64}),je=e.Variant({Error:m,Split:Be,Follow:e.Record({}),DisburseMaturity:Xe,ClaimOrRefresh:ze,Configure:e.Record({}),RegisterVote:e.Record({}),MakeProposal:re,RemoveNeuronPermission:e.Record({}),StakeMaturity:We,MergeMaturity:Ye,Disburse:Qe,AddNeuronPermission:e.Record({})}),Je=e.Record({command:e.Opt(je)}),Ke=e.Record({mode:e.Int32});return e.Service({claim_swap_neurons:e.Func([Se],[he],[]),get_build_metadata:e.Func([],[e.Text],["query"]),get_metadata:e.Func([e.Record({})],[ge],["query"]),get_nervous_system_parameters:e.Func([e.Null],[u],["query"]),get_neuron:e.Func([ye],[xe],["query"]),get_proposal:e.Func([re],[Te],["query"]),get_root_canister_status:e.Func([e.Null],[Ce],[]),get_running_sns_version:e.Func([e.Record({})],[we],["query"]),get_sns_initialization_parameters:e.Func([e.Record({})],[Ve],["query"]),list_nervous_system_functions:e.Func([],[Ae],["query"]),list_neurons:e.Func([Ee],[Me],["query"]),list_proposals:e.Func([ke],[He],["query"]),manage_neuron:e.Func([Ue],[Je],[]),set_mode:e.Func([Ke],[e.Record({})],[])})};var D=require("@dfinity/utils");var L=({neuronId:{id:e},command:t})=>({subaccount:e,command:[t]}),oe=({neuronId:e,operation:t})=>L({neuronId:e,command:{Configure:{operation:[t]}}}),Ut=({owner:e,subaccount:t})=>({owner:(0,D.toNullable)(e),subaccount:t===void 0?[]:(0,D.toNullable)({subaccount:t})}),at=({neuronId:e,permissions:t,principal:s})=>L({neuronId:e,command:{AddNeuronPermissions:{permissions_to_add:[{permissions:Int32Array.from(t)}],principal_id:[s]}}}),it=({neuronId:e,permissions:t,principal:s})=>L({neuronId:e,command:{RemoveNeuronPermissions:{permissions_to_remove:[{permissions:Int32Array.from(t)}],principal_id:[s]}}}),ct=({neuronId:e,memo:t,amount:s})=>L({neuronId:e,command:{Split:{memo:t,amount_e8s:s}}}),_t=({neuronId:e,amount:t,toAccount:s})=>L({neuronId:e,command:{Disburse:{to_account:s===void 0?[]:(0,D.toNullable)(Ut(s)),amount:t===void 0?[]:[{e8s:t}]}}}),pt=e=>oe({neuronId:e,operation:{StartDissolving:{}}}),dt=e=>oe({neuronId:e,operation:{StopDissolving:{}}}),ut=({neuronId:e,percentageToStake:t})=>L({neuronId:e,command:{StakeMaturity:{percentage_to_stake:(0,D.toNullable)(t)}}}),lt=({neuronId:e,autoStake:t})=>oe({neuronId:e,operation:{ChangeAutoStakeMaturity:{requested_setting_for_auto_stake_maturity:t}}}),mt=({neuronId:e,dissolveTimestampSeconds:t})=>oe({neuronId:e,operation:{SetDissolveTimestamp:{dissolve_timestamp_seconds:t}}}),Nt=({neuronId:e,additionalDissolveDelaySeconds:t})=>oe({neuronId:e,operation:{IncreaseDissolveDelay:{additional_dissolve_delay_seconds:t}}}),Rt=({neuronId:e,functionId:t,followees:s})=>({subaccount:e.id,command:[{Follow:{function_id:t,followees:s}}]}),$e=({subaccount:e,memo:t,controller:s})=>({subaccount:e,command:[{ClaimOrRefresh:{by:[t===void 0?{NeuronId:{}}:{MemoAndController:{memo:t,controller:(0,D.toNullable)(s)}}]}}]}),ft=({excludeType:e,beforeProposal:t,includeRewardStatus:s,includeStatus:r,limit:n})=>({exclude_type:BigUint64Array.from(e??[]),before_proposal:(0,D.toNullable)(t),include_reward_status:Int32Array.from(s??[]),include_status:Int32Array.from(r??[]),limit:n??10});var G=class extends S.Canister{constructor(){super(...arguments);this.listNeurons=async s=>{let{principal:r,limit:n,beforeNeuronId:o}=s,{neurons:i}=await this.caller(s).list_neurons({of_principal:(0,S.toNullable)(r),limit:n??100,start_page_at:(0,S.toNullable)(o)});return i};this.listProposals=async s=>{let{certified:r}=s,{proposals:n}=await this.caller({certified:r}).list_proposals(ft(s));return n};this.getProposal=async s=>{let{proposalId:r}=s,{result:n}=await this.caller(s).get_proposal({proposal_id:(0,S.toNullable)(r)}),o=(0,S.fromNullable)(n);if(o===void 0||"Error"in o)throw new O((o==null?void 0:o.Error.error_message)??"Response type not supported");return o.Proposal};this.listNervousSystemFunctions=async s=>this.caller(s).list_nervous_system_functions();this.metadata=s=>this.caller(s).get_metadata({});this.nervousSystemParameters=s=>this.caller(s).get_nervous_system_parameters(null);this.getNeuron=async s=>{let{neuronId:r}=s,{result:n}=await this.caller(s).get_neuron({neuron_id:(0,S.toNullable)(r)}),o=(0,S.fromNullable)(n);if(o===void 0||"Error"in o)throw new O((o==null?void 0:o.Error.error_message)??"Response type not supported");return o.Neuron};this.queryNeuron=async s=>{try{return await this.getNeuron(s)}catch(r){if(r instanceof Error&&r.message.includes("No neuron for given NeuronId"))return;throw r}};this.manageNeuron=async s=>{let r=await this.caller({certified:!0}).manage_neuron(s);return this.assertManageNeuronError(r),r};this.addNeuronPermissions=async s=>{let r=at(s);await this.manageNeuron(r)};this.removeNeuronPermissions=async s=>{let r=it(s);await this.manageNeuron(r)};this.splitNeuron=async s=>{let r=ct(s),{command:n}=await this.manageNeuron(r),o=(0,S.fromNullable)(n),i=a=>`Split neuron failed (${a})`;if(o===void 0)throw new O(i("no response"));if("Split"in o){let a=o.Split,c=(0,S.fromNullable)(a.created_neuron_id);if(c!==void 0)return c;throw new O(i("no id"))}throw new O(i("unknown"))};this.disburse=async s=>{let r=_t(s);await this.manageNeuron(r)};this.startDissolving=async s=>{let r=pt(s);await this.manageNeuron(r)};this.stopDissolving=async s=>{let r=dt(s);await this.manageNeuron(r)};this.stakeMaturity=async({neuronId:s,percentageToStake:r})=>{rt(r??100);let n=ut({neuronId:s,percentageToStake:r});await this.manageNeuron(n)};this.autoStakeMaturity=async s=>{let r=lt(s);await this.manageNeuron(r)};this.setDissolveTimestamp=async s=>{let r=mt(s);await this.manageNeuron(r)};this.increaseDissolveDelay=async s=>{let r=Nt(s);await this.manageNeuron(r)};this.setTopicFollowees=async s=>{let r=Rt(s);await this.manageNeuron(r)};this.refreshNeuron=async s=>{let r=$e({subaccount:s.id});await this.manageNeuron(r)};this.claimNeuron=async({memo:s,controller:r,subaccount:n})=>{let o=$e({subaccount:n,memo:s,controller:r}),{command:i}=await this.manageNeuron(o),a=(0,S.fromNullable)(i);if(a===void 0)throw new O("Claim neuron failed");if("ClaimOrRefresh"in a){let c=(0,S.fromNullable)(a.ClaimOrRefresh.refreshed_neuron_id);if(c===void 0)throw new O("Claim neuron failed");return c}throw new O("Claim neuron failed")};this.assertManageNeuronError=({command:s})=>{let r=s[0];if(r!==void 0&&"Error"in r)throw new O(r.Error.error_message)}}static create(s){let{service:r,certifiedService:n,canisterId:o}=(0,S.createServices)({options:s,idlFactory:nt,certifiedIdlFactory:ot});return new G(o,r,n)}};var _e=require("@dfinity/utils");var Ot=({IDL:e})=>{let t=e.Record({dapp_canister_ids:e.Vec(e.Principal),latest_ledger_archive_poll_timestamp_seconds:e.Opt(e.Nat64),archive_canister_ids:e.Vec(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)}),s=e.Record({canister_id:e.Principal}),r=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),n=e.Record({controller:e.Principal,status:r,memory_size:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),o=e.Record({update_canister_list:e.Opt(e.Bool)}),i=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),a=e.Record({controller:e.Principal,freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),memory_allocation:e.Nat,compute_allocation:e.Nat}),c=e.Record({controller:e.Principal,status:i,freezing_threshold:e.Nat,balance:e.Vec(e.Tuple(e.Vec(e.Nat8),e.Nat)),memory_size:e.Nat,cycles:e.Nat,settings:a,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),_=e.Record({status:e.Opt(c),canister_id:e.Opt(e.Principal)}),u=e.Record({root:e.Opt(_),swap:e.Opt(_),ledger:e.Opt(_),index:e.Opt(_),governance:e.Opt(_),dapps:e.Vec(_),archives:e.Vec(_)}),p=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),dapps:e.Vec(e.Principal),archives:e.Vec(e.Principal)}),l=e.Record({canister_id:e.Opt(e.Principal)}),d=e.Record({controller_principal_ids:e.Vec(e.Principal)}),N=e.Record({code:e.Opt(e.Int32),description:e.Text}),m=e.Record({err:e.Opt(N),dapp_canister_id:e.Opt(e.Principal)}),R=e.Record({failed_updates:e.Vec(m)});return e.Service({canister_status:e.Func([s],[n],[]),get_build_metadata:e.Func([],[e.Text],[]),get_sns_canisters_summary:e.Func([o],[u],[]),list_sns_canisters:e.Func([e.Record({})],[p],[]),register_dapp_canister:e.Func([l],[e.Record({})],[]),set_dapp_controllers:e.Func([d],[R],[])})};var St=({IDL:e})=>{let t=e.Record({dapp_canister_ids:e.Vec(e.Principal),latest_ledger_archive_poll_timestamp_seconds:e.Opt(e.Nat64),archive_canister_ids:e.Vec(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)}),s=e.Record({canister_id:e.Principal}),r=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),n=e.Record({controller:e.Principal,status:r,memory_size:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),o=e.Record({update_canister_list:e.Opt(e.Bool)}),i=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),a=e.Record({controller:e.Principal,freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),memory_allocation:e.Nat,compute_allocation:e.Nat}),c=e.Record({controller:e.Principal,status:i,freezing_threshold:e.Nat,balance:e.Vec(e.Tuple(e.Vec(e.Nat8),e.Nat)),memory_size:e.Nat,cycles:e.Nat,settings:a,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),_=e.Record({status:e.Opt(c),canister_id:e.Opt(e.Principal)}),u=e.Record({root:e.Opt(_),swap:e.Opt(_),ledger:e.Opt(_),index:e.Opt(_),governance:e.Opt(_),dapps:e.Vec(_),archives:e.Vec(_)}),p=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),dapps:e.Vec(e.Principal),archives:e.Vec(e.Principal)}),l=e.Record({canister_id:e.Opt(e.Principal)}),d=e.Record({controller_principal_ids:e.Vec(e.Principal)}),N=e.Record({code:e.Opt(e.Int32),description:e.Text}),m=e.Record({err:e.Opt(N),dapp_canister_id:e.Opt(e.Principal)}),R=e.Record({failed_updates:e.Vec(m)});return e.Service({canister_status:e.Func([s],[n],[]),get_build_metadata:e.Func([],[e.Text],["query"]),get_sns_canisters_summary:e.Func([o],[u],[]),list_sns_canisters:e.Func([e.Record({})],[p],["query"]),register_dapp_canister:e.Func([l],[e.Record({})],[]),set_dapp_controllers:e.Func([d],[R],[])})};var q=class extends _e.Canister{constructor(){super(...arguments);this.listSnsCanisters=async({certified:s=!0})=>this.caller({certified:s}).list_sns_canisters({})}static create(s){let{service:r,certifiedService:n,canisterId:o}=(0,_e.createServices)({options:s,idlFactory:St,certifiedIdlFactory:Ot});return new q(o,r,n)}};var bt=require("@dfinity/ledger"),T=require("@dfinity/utils");var de=require("@dfinity/utils");var ht=({IDL:e})=>{let t=e.Record({ledger_id:e.Principal}),s=e.Nat,r=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),n=e.Record({max_results:e.Nat,start:e.Opt(s),account:r}),o=e.Record({burn:e.Opt(e.Record({from:r,memo:e.Opt(e.Vec(e.Nat8)),created_at_time:e.Opt(e.Nat64),amount:e.Nat})),kind:e.Text,mint:e.Opt(e.Record({to:r,memo:e.Opt(e.Vec(e.Nat8)),created_at_time:e.Opt(e.Nat64),amount:e.Nat})),timestamp:e.Nat64,transfer:e.Opt(e.Record({to:r,fee:e.Opt(e.Nat),from:r,memo:e.Opt(e.Vec(e.Nat8)),created_at_time:e.Opt(e.Nat64),amount:e.Nat}))}),i=e.Record({id:s,transaction:o}),a=e.Record({transactions:e.Vec(i),oldest_tx_id:e.Opt(s)}),c=e.Record({message:e.Text}),_=e.Variant({Ok:a,Err:c}),u=e.Vec(e.Nat8),p=e.Record({owner:e.Principal,start:e.Opt(u)});return e.Service({get_account_transactions:e.Func([n],[_],[]),ledger_id:e.Func([],[e.Principal],[]),list_subaccounts:e.Func([p],[e.Vec(u)],[])})};var gt=({IDL:e})=>{let t=e.Record({ledger_id:e.Principal}),s=e.Nat,r=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),n=e.Record({max_results:e.Nat,start:e.Opt(s),account:r}),o=e.Record({burn:e.Opt(e.Record({from:r,memo:e.Opt(e.Vec(e.Nat8)),created_at_time:e.Opt(e.Nat64),amount:e.Nat})),kind:e.Text,mint:e.Opt(e.Record({to:r,memo:e.Opt(e.Vec(e.Nat8)),created_at_time:e.Opt(e.Nat64),amount:e.Nat})),timestamp:e.Nat64,transfer:e.Opt(e.Record({to:r,fee:e.Opt(e.Nat),from:r,memo:e.Opt(e.Vec(e.Nat8)),created_at_time:e.Opt(e.Nat64),amount:e.Nat}))}),i=e.Record({id:s,transaction:o}),a=e.Record({transactions:e.Vec(i),oldest_tx_id:e.Opt(s)}),c=e.Record({message:e.Text}),_=e.Variant({Ok:a,Err:c}),u=e.Vec(e.Nat8),p=e.Record({owner:e.Principal,start:e.Opt(u)});return e.Service({get_account_transactions:e.Func([n],[_],[]),ledger_id:e.Func([],[e.Principal],["query"]),list_subaccounts:e.Func([p],[e.Vec(u)],["query"])})};var Ze=require("@dfinity/utils"),Xt=({owner:e,subaccount:t})=>({owner:e,subaccount:(0,Ze.toNullable)(t)}),yt=({account:e,max_results:t,start:s})=>({account:Xt(e),max_results:t,start:(0,Ze.toNullable)(s)});var pe=class extends Error{};var U=class extends de.Canister{constructor(){super(...arguments);this.getTransactions=async s=>{let r=await this.caller({certified:!0}).get_account_transactions(yt(s));if("Err"in r)throw new pe(r.Err.message);return r.Ok}}static create(s){let{service:r,certifiedService:n,canisterId:o}=(0,de.createServices)({options:s,idlFactory:gt,certifiedIdlFactory:ht});return new U(o,r,n)}};var ne=require("@dfinity/utils");var ue=require("@dfinity/utils"),xt=Ht(vt()),Ie=({index:e,controller:t})=>{let r=[12,...(0,ue.asciiStringToByteArray)("neuron-stake"),...t.toUint8Array(),...(0,ue.numberToUint8Array)(e)],n=xt.sha256.create();return n.update(r),new Uint8Array(n.array())};var ae=class{constructor({root:t,governance:s,ledger:r,swap:n,index:o,certified:i}){this.listNeurons=t=>this.governance.listNeurons(this.mergeParams(t));this.listProposals=t=>this.governance.listProposals(this.mergeParams(t));this.getProposal=t=>this.governance.getProposal(this.mergeParams(t));this.listNervousSystemFunctions=t=>this.governance.listNervousSystemFunctions(this.mergeParams(t));this.metadata=t=>Promise.all([this.governance.metadata(this.mergeParams(t)),this.ledger.metadata(this.mergeParams(t))]);this.nervousSystemParameters=t=>this.governance.nervousSystemParameters(this.mergeParams(t));this.ledgerMetadata=t=>this.ledger.metadata(this.mergeParams(t));this.transactionFee=t=>this.ledger.transactionFee(this.mergeParams(t));this.balance=t=>this.ledger.balance(this.mergeParams(t));this.transfer=t=>this.ledger.transfer(t);this.getNeuron=t=>this.governance.getNeuron(this.mergeParams(t));this.queryNeuron=t=>this.governance.queryNeuron(this.mergeParams(t));this.nextNeuronAccount=async t=>{for(let s=0;s<65536;s++){let r=Ie({index:s,controller:t}),n={id:r},o=await this.governance.queryNeuron({neuronId:n,certified:!1});if(o===void 0&&(o=await this.governance.queryNeuron({neuronId:n,certified:!0}),o===void 0))return{account:{...this.owner,subaccount:r},index:BigInt(s)}}throw new O("No more neuron accounts available")};this.stakeNeuron=async({stakeE8s:t,source:s,controller:r,createdAt:n})=>{this.assertCertified("stakeNeuron");let{account:o,index:i}=await this.nextNeuronAccount(r);if(o.subaccount===void 0)throw new O("There was an error creating the neuron subaccount");return await this.ledger.transfer({amount:t,to:{owner:o.owner,subaccount:(0,ne.toNullable)(o.subaccount)},from_subaccount:s.subaccount,memo:(0,ne.bigIntToUint8Array)(i),created_at_time:n}),this.governance.claimNeuron({memo:BigInt(i),controller:r,subaccount:o.subaccount})};this.increaseStakeNeuron=async({stakeE8s:t,source:s,neuronId:r})=>(this.assertCertified("stakeNeuron"),await this.ledger.transfer({amount:t,to:{...this.owner,subaccount:(0,ne.toNullable)(r.id)},from_subaccount:s.subaccount}),this.governance.refreshNeuron(r));this.getNeuronBalance=async t=>{let s={...this.owner,subaccount:t.id};return this.ledger.balance({...s,certified:this.certified})};this.addNeuronPermissions=t=>this.governance.addNeuronPermissions(t);this.refreshNeuron=t=>this.governance.refreshNeuron(t);this.claimNeuron=t=>this.governance.claimNeuron(t);this.removeNeuronPermissions=t=>this.governance.removeNeuronPermissions(t);this.splitNeuron=t=>this.governance.splitNeuron(t);this.disburse=t=>this.governance.disburse(t);this.startDissolving=t=>this.governance.startDissolving(t);this.stopDissolving=t=>this.governance.stopDissolving(t);this.setDissolveTimestamp=t=>this.governance.setDissolveTimestamp(t);this.increaseDissolveDelay=t=>this.governance.increaseDissolveDelay(t);this.setTopicFollowees=t=>this.governance.setTopicFollowees(t);this.swapState=t=>this.swap.state(this.mergeParams(t));this.notifyParticipation=t=>this.swap.notifyParticipation(t);this.getUserCommitment=t=>this.swap.getUserCommitment(this.mergeParams(t));this.getTransactions=t=>this.index.getTransactions(t);this.stakeMaturity=t=>this.governance.stakeMaturity(t);this.autoStakeMaturity=t=>this.governance.autoStakeMaturity(t);this.assertCertified=t=>{if(!this.certified)throw new O(`Call to ${t} needs to be certified`)};this.root=t,this.governance=s,this.ledger=r,this.swap=n,this.index=o,this.certified=i}get canisterIds(){return{rootCanisterId:this.root.canisterId,ledgerCanisterId:this.ledger.canisterId,governanceCanisterId:this.governance.canisterId,swapCanisterId:this.swap.canisterId}}mergeParams(t){return{...t,certified:this.certified}}get owner(){return{owner:this.canisterIds.governanceCanisterId}}};var ee=require("@dfinity/utils");var Pt=({IDL:e})=>{let t=e.Record({sns_root_canister_id:e.Text,fallback_controller_principal_ids:e.Vec(e.Text),neuron_minimum_stake_e8s:e.Opt(e.Nat64),nns_governance_canister_id:e.Text,transaction_fee_e8s:e.Opt(e.Nat64),icp_ledger_canister_id:e.Text,sns_ledger_canister_id:e.Text,sns_governance_canister_id:e.Text}),s=e.Record({source_principal_id:e.Opt(e.Principal)}),r=e.Record({block_height:e.Opt(e.Nat64)}),n=e.Record({description:e.Opt(e.Text),error_type:e.Opt(e.Int32)}),o=e.Variant({Ok:r,Err:n}),i=e.Record({result:e.Opt(o)}),a=e.Record({error_message:e.Text,error_type:e.Int32}),c=e.Record({governance_error:e.Opt(a)}),_=e.Record({code:e.Opt(e.Int32),description:e.Text}),u=e.Variant({Ok:c,Err:_}),p=e.Record({possibility:e.Opt(u)}),l=e.Record({err:e.Opt(_),dapp_canister_id:e.Opt(e.Principal)}),d=e.Record({failed_updates:e.Vec(l)}),N=e.Variant({Ok:d,Err:_}),m=e.Record({possibility:e.Opt(N)}),R=e.Variant({Err:_}),g=e.Record({possibility:e.Opt(R)}),f=e.Record({failure:e.Nat32,skipped:e.Nat32,success:e.Nat32}),h=e.Record({settle_community_fund_participation_result:e.Opt(p),set_dapp_controllers_result:e.Opt(m),sns_governance_normal_mode_enabled:e.Opt(g),sweep_icp:e.Opt(f),sweep_sns:e.Opt(f),create_neuron:e.Opt(f)}),X=e.Record({principal_id:e.Opt(e.Principal)}),y=e.Record({transfer_start_timestamp_seconds:e.Nat64,amount_e8s:e.Nat64,transfer_success_timestamp_seconds:e.Nat64}),b=e.Record({icp:e.Opt(y)}),z=e.Record({buyer_state:e.Opt(b)}),W=e.Record({buyers_total:e.Nat64}),v=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),Y=e.Record({controller:e.Principal,freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),memory_allocation:e.Nat,compute_allocation:e.Nat}),x=e.Record({controller:e.Principal,status:v,freezing_threshold:e.Nat,balance:e.Vec(e.Tuple(e.Vec(e.Nat8),e.Nat)),memory_size:e.Nat,cycles:e.Nat,settings:Y,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),F=e.Record({dissolve_delay_seconds:e.Nat64,memo:e.Nat64}),C=e.Record({hotkey_principal:e.Text,nns_neuron_id:e.Nat64}),w=e.Record({buyer_principal:e.Text}),V=e.Variant({CommunityFund:C,Direct:w}),Q=e.Record({sns:e.Opt(y),neuron_attributes:e.Opt(F),investor:e.Opt(V)}),j=e.Record({nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),A=e.Record({hotkey_principal:e.Text,cf_neurons:e.Vec(j)}),J=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),P=e.Record({min_participant_icp_e8s:e.Nat64,neuron_basket_construction_parameters:e.Opt(J),max_icp_e8s:e.Nat64,swap_due_timestamp_seconds:e.Nat64,min_participants:e.Nat32,sns_token_e8s:e.Nat64,max_participant_icp_e8s:e.Nat64,min_icp_e8s:e.Nat64}),E=e.Record({neuron_recipes:e.Vec(Q),cf_participants:e.Vec(A),init:e.Opt(t),lifecycle:e.Int32,buyers:e.Vec(e.Tuple(e.Text,b)),params:e.Opt(P),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),$=e.Record({sns_tokens_per_icp:e.Float32,buyer_total_icp_e8s:e.Nat64}),Z=e.Record({swap:e.Opt(E),derived:e.Opt($)}),M=e.Record({cf_participants:e.Vec(A),params:e.Opt(P),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),k=e.Record({buyer:e.Text}),H=e.Record({icp_accepted_participation_e8s:e.Nat64,icp_ledger_account_balance_e8s:e.Nat64});return e.Service({error_refund_icp:e.Func([s],[i],[]),finalize_swap:e.Func([e.Record({})],[h],[]),get_buyer_state:e.Func([X],[z],[]),get_buyers_total:e.Func([e.Record({})],[W],[]),get_canister_status:e.Func([e.Record({})],[x],[]),get_state:e.Func([e.Record({})],[Z],[]),open:e.Func([M],[e.Record({})],[]),refresh_buyer_tokens:e.Func([k],[H],[]),restore_dapp_controllers:e.Func([e.Record({})],[m],[])})};var Tt=({IDL:e})=>{let t=e.Record({sns_root_canister_id:e.Text,fallback_controller_principal_ids:e.Vec(e.Text),neuron_minimum_stake_e8s:e.Opt(e.Nat64),nns_governance_canister_id:e.Text,transaction_fee_e8s:e.Opt(e.Nat64),icp_ledger_canister_id:e.Text,sns_ledger_canister_id:e.Text,sns_governance_canister_id:e.Text}),s=e.Record({source_principal_id:e.Opt(e.Principal)}),r=e.Record({block_height:e.Opt(e.Nat64)}),n=e.Record({description:e.Opt(e.Text),error_type:e.Opt(e.Int32)}),o=e.Variant({Ok:r,Err:n}),i=e.Record({result:e.Opt(o)}),a=e.Record({error_message:e.Text,error_type:e.Int32}),c=e.Record({governance_error:e.Opt(a)}),_=e.Record({code:e.Opt(e.Int32),description:e.Text}),u=e.Variant({Ok:c,Err:_}),p=e.Record({possibility:e.Opt(u)}),l=e.Record({err:e.Opt(_),dapp_canister_id:e.Opt(e.Principal)}),d=e.Record({failed_updates:e.Vec(l)}),N=e.Variant({Ok:d,Err:_}),m=e.Record({possibility:e.Opt(N)}),R=e.Variant({Err:_}),g=e.Record({possibility:e.Opt(R)}),f=e.Record({failure:e.Nat32,skipped:e.Nat32,success:e.Nat32}),h=e.Record({settle_community_fund_participation_result:e.Opt(p),set_dapp_controllers_result:e.Opt(m),sns_governance_normal_mode_enabled:e.Opt(g),sweep_icp:e.Opt(f),sweep_sns:e.Opt(f),create_neuron:e.Opt(f)}),X=e.Record({principal_id:e.Opt(e.Principal)}),y=e.Record({transfer_start_timestamp_seconds:e.Nat64,amount_e8s:e.Nat64,transfer_success_timestamp_seconds:e.Nat64}),b=e.Record({icp:e.Opt(y)}),z=e.Record({buyer_state:e.Opt(b)}),W=e.Record({buyers_total:e.Nat64}),v=e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),Y=e.Record({controller:e.Principal,freezing_threshold:e.Nat,controllers:e.Vec(e.Principal),memory_allocation:e.Nat,compute_allocation:e.Nat}),x=e.Record({controller:e.Principal,status:v,freezing_threshold:e.Nat,balance:e.Vec(e.Tuple(e.Vec(e.Nat8),e.Nat)),memory_size:e.Nat,cycles:e.Nat,settings:Y,idle_cycles_burned_per_day:e.Nat,module_hash:e.Opt(e.Vec(e.Nat8))}),F=e.Record({dissolve_delay_seconds:e.Nat64,memo:e.Nat64}),C=e.Record({hotkey_principal:e.Text,nns_neuron_id:e.Nat64}),w=e.Record({buyer_principal:e.Text}),V=e.Variant({CommunityFund:C,Direct:w}),Q=e.Record({sns:e.Opt(y),neuron_attributes:e.Opt(F),investor:e.Opt(V)}),j=e.Record({nns_neuron_id:e.Nat64,amount_icp_e8s:e.Nat64}),A=e.Record({hotkey_principal:e.Text,cf_neurons:e.Vec(j)}),J=e.Record({dissolve_delay_interval_seconds:e.Nat64,count:e.Nat64}),P=e.Record({min_participant_icp_e8s:e.Nat64,neuron_basket_construction_parameters:e.Opt(J),max_icp_e8s:e.Nat64,swap_due_timestamp_seconds:e.Nat64,min_participants:e.Nat32,sns_token_e8s:e.Nat64,max_participant_icp_e8s:e.Nat64,min_icp_e8s:e.Nat64}),E=e.Record({neuron_recipes:e.Vec(Q),cf_participants:e.Vec(A),init:e.Opt(t),lifecycle:e.Int32,buyers:e.Vec(e.Tuple(e.Text,b)),params:e.Opt(P),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),$=e.Record({sns_tokens_per_icp:e.Float32,buyer_total_icp_e8s:e.Nat64}),Z=e.Record({swap:e.Opt(E),derived:e.Opt($)}),M=e.Record({cf_participants:e.Vec(A),params:e.Opt(P),open_sns_token_swap_proposal_id:e.Opt(e.Nat64)}),k=e.Record({buyer:e.Text}),H=e.Record({icp_accepted_participation_e8s:e.Nat64,icp_ledger_account_balance_e8s:e.Nat64});return e.Service({error_refund_icp:e.Func([s],[i],[]),finalize_swap:e.Func([e.Record({})],[h],[]),get_buyer_state:e.Func([X],[z],["query"]),get_buyers_total:e.Func([e.Record({})],[W],[]),get_canister_status:e.Func([e.Record({})],[x],[]),get_state:e.Func([e.Record({})],[Z],["query"]),open:e.Func([M],[e.Record({})],[]),refresh_buyer_tokens:e.Func([k],[H],[]),restore_dapp_controllers:e.Func([e.Record({})],[m],[])})};var B=class extends ee.Canister{constructor(){super(...arguments);this.state=s=>this.caller(s).get_state({});this.notifyParticipation=async s=>{await this.caller({certified:!0}).refresh_buyer_tokens(s)};this.getUserCommitment=async s=>{let{buyer_state:r}=await this.caller({certified:s.certified}).get_buyer_state({principal_id:s.principal_id});return(0,ee.fromNullable)(r)}}static create(s){let{service:r,certifiedService:n,canisterId:o}=(0,ee.createServices)({options:s,idlFactory:Tt,certifiedIdlFactory:Pt});return new B(o,r,n)}};var Wt=async({agent:e,rootOptions:t,certified:s=!0})=>{let r=q.create({...t,agent:e}),{ledger:n,swap:o,governance:i,index:a}=await r.listSnsCanisters({certified:s}),c=(0,T.fromNullable)(i),_=(0,T.fromNullable)(n),u=(0,T.fromNullable)(o),p=(0,T.fromNullable)(a);return(0,T.assertNonNullish)(c),(0,T.assertNonNullish)(_),(0,T.assertNonNullish)(u),(0,T.assertNonNullish)(p),new ae({root:r,governance:G.create({canisterId:c,agent:e}),ledger:bt.IcrcLedgerCanister.create({canisterId:_,agent:e}),swap:B.create({canisterId:u,agent:e}),index:U.create({canisterId:p,agent:e}),certified:s})};0&&(module.exports={SnsGovernanceCanister,SnsGovernanceError,SnsIndexCanister,SnsNeuronPermissionType,SnsProposalDecisionStatus,SnsProposalRewardStatus,SnsRootCanister,SnsSwapCanister,SnsSwapLifecycle,SnsWrapper,initSnsWrapper,neuronSubaccount});
2
2
  //# sourceMappingURL=index.cjs.js.map