@claritydao/midnight-agora-sdk 0.1.0

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 (60) hide show
  1. package/.prettierrc +1 -0
  2. package/LICENSE +0 -0
  3. package/README.md +1134 -0
  4. package/dist/browser-providers.d.ts +21 -0
  5. package/dist/browser-providers.d.ts.map +1 -0
  6. package/dist/browser-providers.js +147 -0
  7. package/dist/browser-providers.js.map +1 -0
  8. package/dist/common-types.d.ts +29 -0
  9. package/dist/common-types.d.ts.map +1 -0
  10. package/dist/common-types.js +2 -0
  11. package/dist/common-types.js.map +1 -0
  12. package/dist/errors.d.ts +67 -0
  13. package/dist/errors.d.ts.map +1 -0
  14. package/dist/errors.js +108 -0
  15. package/dist/errors.js.map +1 -0
  16. package/dist/governor-api.d.ts +348 -0
  17. package/dist/governor-api.d.ts.map +1 -0
  18. package/dist/governor-api.js +716 -0
  19. package/dist/governor-api.js.map +1 -0
  20. package/dist/index.d.ts +11 -0
  21. package/dist/index.d.ts.map +1 -0
  22. package/dist/index.js +14 -0
  23. package/dist/index.js.map +1 -0
  24. package/dist/manager.d.ts +87 -0
  25. package/dist/manager.d.ts.map +1 -0
  26. package/dist/manager.js +93 -0
  27. package/dist/manager.js.map +1 -0
  28. package/dist/types.d.ts +307 -0
  29. package/dist/types.d.ts.map +1 -0
  30. package/dist/types.js +77 -0
  31. package/dist/types.js.map +1 -0
  32. package/dist/utils/index.d.ts +34 -0
  33. package/dist/utils/index.d.ts.map +1 -0
  34. package/dist/utils/index.js +57 -0
  35. package/dist/utils/index.js.map +1 -0
  36. package/dist/validators.d.ts +52 -0
  37. package/dist/validators.d.ts.map +1 -0
  38. package/dist/validators.js +160 -0
  39. package/dist/validators.js.map +1 -0
  40. package/eslint.config.mjs +48 -0
  41. package/package.json +39 -0
  42. package/src/browser-providers.ts +274 -0
  43. package/src/common-types.ts +51 -0
  44. package/src/errors.ts +124 -0
  45. package/src/governor-api.ts +948 -0
  46. package/src/index.ts +51 -0
  47. package/src/manager.ts +203 -0
  48. package/src/types.ts +403 -0
  49. package/src/utils/index.ts +60 -0
  50. package/src/validators.ts +245 -0
  51. package/test/README.md +409 -0
  52. package/test/errors.test.ts +179 -0
  53. package/test/integration/governor-api.test.ts +370 -0
  54. package/test/mocks/providers.ts +130 -0
  55. package/test/types.test.ts +112 -0
  56. package/test/utils.test.ts +111 -0
  57. package/test/validators.test.ts +368 -0
  58. package/test/wasm-init.test.ts +132 -0
  59. package/tsconfig.json +18 -0
  60. package/vitest.config.ts +9 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governor-api.js","sourceRoot":"","sources":["../src/governor-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export { GovernorAPI, type DeployedGovernorAPI } from "./governor-api";
2
+ export { initializeProviders } from "./browser-providers";
3
+ export { GovernorManager, type DeployedGovernorAPIProvider, type GovernorDeployment, type InProgressGovernorDeployment, type DeployedGovernorDeployment, type FailedGovernorDeployment } from "./manager";
4
+ export * from "./common-types";
5
+ export * as utils from "./utils/index";
6
+ export type { DeploymentConfig, GovernanceConfig, GovernorConfig, TokenConfig, ProposalAction, StakeInfo, ProposalDetails, EffectDetails, VoteCount, GovernorStatus, GovernorValue, StakeRecord } from "./types";
7
+ export { VoteChoice, ProposalStatus } from "./types";
8
+ export { ConfigPresets } from "./types";
9
+ export { GovernorSDKError, WalletNotConnectedError, InsufficientStakeError, InvalidParameterError, ContractNotFoundError, ProposalNotFoundError, TransactionError, DeploymentError, InvalidConfigurationError, NetworkNotConfiguredError } from "./errors";
10
+ export * as validators from "./validators";
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,KAAK,2BAA2B,EAChC,KAAK,kBAAkB,EACvB,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC9B,MAAM,WAAW,CAAC;AACnB,cAAc,gBAAgB,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,eAAe,CAAC;AAGvC,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,cAAc,EACd,SAAS,EACT,eAAe,EACf,aAAa,EACb,SAAS,EACT,cAAc,EACd,aAAa,EACb,WAAW,EACZ,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGrD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxC,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,UAAU,CAAC;AAGlB,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,14 @@
1
+ export { GovernorAPI } from "./governor-api";
2
+ export { initializeProviders } from "./browser-providers";
3
+ export { GovernorManager } from "./manager";
4
+ export * from "./common-types";
5
+ export * as utils from "./utils/index";
6
+ // Export enums
7
+ export { VoteChoice, ProposalStatus } from "./types";
8
+ // Export configuration presets
9
+ export { ConfigPresets } from "./types";
10
+ // Export all error classes
11
+ export { GovernorSDKError, WalletNotConnectedError, InsufficientStakeError, InvalidParameterError, ContractNotFoundError, ProposalNotFoundError, TransactionError, DeploymentError, InvalidConfigurationError, NetworkNotConfiguredError } from "./errors";
12
+ // Export validators for advanced usage
13
+ export * as validators from "./validators";
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA4B,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EACL,eAAe,EAMhB,MAAM,WAAW,CAAC;AACnB,cAAc,gBAAgB,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,eAAe,CAAC;AAkBvC,eAAe;AACf,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAErD,+BAA+B;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,2BAA2B;AAC3B,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,UAAU,CAAC;AAElB,uCAAuC;AACvC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC"}
@@ -0,0 +1,87 @@
1
+ import { type DeployedGovernorAPI } from "./governor-api";
2
+ import { type ContractAddress } from "@midnight-ntwrk/compact-runtime";
3
+ import { type Observable } from "rxjs";
4
+ import { type Logger } from "pino";
5
+ import type { DeploymentConfig } from "./types";
6
+ /**
7
+ * An in-progress governor deployment.
8
+ */
9
+ export interface InProgressGovernorDeployment {
10
+ readonly status: "in-progress";
11
+ }
12
+ /**
13
+ * A deployed governor deployment.
14
+ */
15
+ export interface DeployedGovernorDeployment {
16
+ readonly status: "deployed";
17
+ /**
18
+ * The {@link DeployedGovernorAPI} instance when connected to an on network governor contract.
19
+ */
20
+ readonly api: DeployedGovernorAPI;
21
+ }
22
+ /**
23
+ * A failed governor deployment.
24
+ */
25
+ export interface FailedGovernorDeployment {
26
+ readonly status: "failed";
27
+ /**
28
+ * The error that caused the deployment to fail.
29
+ */
30
+ readonly error: Error;
31
+ }
32
+ /**
33
+ * A governor deployment.
34
+ */
35
+ export type GovernorDeployment = InProgressGovernorDeployment | DeployedGovernorDeployment | FailedGovernorDeployment;
36
+ /**
37
+ * Provides access to governor deployments.
38
+ */
39
+ export interface DeployedGovernorAPIProvider {
40
+ /**
41
+ * Gets the observable set of governor deployments.
42
+ *
43
+ * @remarks
44
+ * This property represents an observable array of {@link GovernorDeployment}, each also an
45
+ * observable. Changes to the array will be emitted as governors are resolved (deployed or joined),
46
+ * while changes to each underlying governor can be observed via each item in the array.
47
+ */
48
+ readonly governorDeployments$: Observable<Array<Observable<GovernorDeployment>>>;
49
+ /**
50
+ * Joins or deploys a governor contract.
51
+ *
52
+ * @param contractAddress An optional contract address to use when resolving.
53
+ * @returns An observable governor deployment.
54
+ *
55
+ * @remarks
56
+ * For a given `contractAddress`, the method will attempt to find and join the identified governor
57
+ * contract; otherwise it will attempt to deploy a new one.
58
+ */
59
+ readonly resolve: (contractAddress?: ContractAddress) => Observable<GovernorDeployment>;
60
+ }
61
+ /**
62
+ * A {@link DeployedGovernorAPIProvider} that manages governor deployments in a browser setting.
63
+ *
64
+ * @remarks
65
+ * {@link GovernorManager} configures and manages a connection to the Midnight Lace
66
+ * wallet, along with a collection of additional providers that work in a web-browser setting.
67
+ */
68
+ export declare class GovernorManager implements DeployedGovernorAPIProvider {
69
+ #private;
70
+ private readonly deploymentConfig;
71
+ private readonly logger;
72
+ /**
73
+ * Initializes a new {@link GovernorManager} instance.
74
+ *
75
+ * @param deploymentConfig The deployment configuration for the governor contract.
76
+ * @param logger The `pino` logger to for logging.
77
+ */
78
+ constructor(deploymentConfig: DeploymentConfig, logger: Logger);
79
+ /** @inheritdoc */
80
+ readonly governorDeployments$: Observable<Array<Observable<GovernorDeployment>>>;
81
+ /** @inheritdoc */
82
+ resolve(contractAddress?: ContractAddress): Observable<GovernorDeployment>;
83
+ private getProviders;
84
+ private deployDeployment;
85
+ private joinDeployment;
86
+ }
87
+ //# sourceMappingURL=manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EAGzB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AACxD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,mBAAmB,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,4BAA4B,GAC5B,0BAA0B,GAC1B,wBAAwB,CAAC;AAE7B;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;;;;OAOG;IACH,QAAQ,CAAC,oBAAoB,EAAE,UAAU,CACvC,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CACtC,CAAC;IAEF;;;;;;;;;OASG;IACH,QAAQ,CAAC,OAAO,EAAE,CAChB,eAAe,CAAC,EAAE,eAAe,KAC9B,UAAU,CAAC,kBAAkB,CAAC,CAAC;CACrC;AAED;;;;;;GAMG;AACH,qBAAa,eAAgB,YAAW,2BAA2B;;IAa/D,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM;IARzB;;;;;OAKG;gBAEgB,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM;IAQjC,kBAAkB;IAClB,QAAQ,CAAC,oBAAoB,EAAE,UAAU,CACvC,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CACtC,CAAC;IAEF,kBAAkB;IAClB,OAAO,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,UAAU,CAAC,kBAAkB,CAAC;IA2B1E,OAAO,CAAC,YAAY;YAaN,gBAAgB;YAuBhB,cAAc;CAuB7B"}
@@ -0,0 +1,93 @@
1
+ import { GovernorAPI } from "./governor-api";
2
+ import { initializeProviders } from "./browser-providers";
3
+ import { BehaviorSubject } from "rxjs";
4
+ /**
5
+ * A {@link DeployedGovernorAPIProvider} that manages governor deployments in a browser setting.
6
+ *
7
+ * @remarks
8
+ * {@link GovernorManager} configures and manages a connection to the Midnight Lace
9
+ * wallet, along with a collection of additional providers that work in a web-browser setting.
10
+ */
11
+ export class GovernorManager {
12
+ deploymentConfig;
13
+ logger;
14
+ #governorDeploymentsSubject;
15
+ #initializedProviders;
16
+ /**
17
+ * Initializes a new {@link GovernorManager} instance.
18
+ *
19
+ * @param deploymentConfig The deployment configuration for the governor contract.
20
+ * @param logger The `pino` logger to for logging.
21
+ */
22
+ constructor(deploymentConfig, logger) {
23
+ this.deploymentConfig = deploymentConfig;
24
+ this.logger = logger;
25
+ this.#governorDeploymentsSubject = new BehaviorSubject([]);
26
+ this.governorDeployments$ = this.#governorDeploymentsSubject;
27
+ }
28
+ /** @inheritdoc */
29
+ governorDeployments$;
30
+ /** @inheritdoc */
31
+ resolve(contractAddress) {
32
+ const deployments = this.#governorDeploymentsSubject.value;
33
+ let deployment = deployments.find((deployment) => deployment.value.status === "deployed" &&
34
+ deployment.value.api.deployedContractAddress === contractAddress);
35
+ if (deployment) {
36
+ return deployment;
37
+ }
38
+ deployment = new BehaviorSubject({
39
+ status: "in-progress"
40
+ });
41
+ if (contractAddress) {
42
+ void this.joinDeployment(deployment, contractAddress);
43
+ }
44
+ else {
45
+ void this.deployDeployment(deployment);
46
+ }
47
+ this.#governorDeploymentsSubject.next([...deployments, deployment]);
48
+ return deployment;
49
+ }
50
+ getProviders() {
51
+ // We use a cached `Promise` to hold the providers. This will:
52
+ //
53
+ // 1. Cache and re-use the providers (including the configured connector API), and
54
+ // 2. Act as a synchronization point if multiple contract deploys or joins run concurrently.
55
+ // Concurrent calls to `getProviders()` will receive, and ultimately await, the same
56
+ // `Promise`.
57
+ return (this.#initializedProviders ??
58
+ (this.#initializedProviders = initializeProviders(this.logger)));
59
+ }
60
+ async deployDeployment(deployment) {
61
+ try {
62
+ const providers = await this.getProviders();
63
+ const api = await GovernorAPI.deploy(providers, this.deploymentConfig, this.logger);
64
+ deployment.next({
65
+ status: "deployed",
66
+ api
67
+ });
68
+ }
69
+ catch (error) {
70
+ deployment.next({
71
+ status: "failed",
72
+ error: error instanceof Error ? error : new Error(String(error))
73
+ });
74
+ }
75
+ }
76
+ async joinDeployment(deployment, contractAddress) {
77
+ try {
78
+ const providers = await this.getProviders();
79
+ const api = await GovernorAPI.join(providers, contractAddress, this.logger);
80
+ deployment.next({
81
+ status: "deployed",
82
+ api
83
+ });
84
+ }
85
+ catch (error) {
86
+ deployment.next({
87
+ status: "failed",
88
+ error: error instanceof Error ? error : new Error(String(error))
89
+ });
90
+ }
91
+ }
92
+ }
93
+ //# sourceMappingURL=manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAEZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAmB,MAAM,MAAM,CAAC;AA0ExD;;;;;;GAMG;AACH,MAAM,OAAO,eAAe;IAaP;IACA;IAbV,2BAA2B,CAElC;IACF,qBAAqB,CAAyC;IAE9D;;;;;OAKG;IACH,YACmB,gBAAkC,EAClC,MAAc;QADd,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,WAAM,GAAN,MAAM,CAAQ;QAE/B,IAAI,CAAC,2BAA2B,GAAG,IAAI,eAAe,CAEpD,EAAE,CAAC,CAAC;QACN,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,2BAA2B,CAAC;IAC/D,CAAC;IAED,kBAAkB;IACT,oBAAoB,CAE3B;IAEF,kBAAkB;IAClB,OAAO,CAAC,eAAiC;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC;QAC3D,IAAI,UAAU,GAAG,WAAW,CAAC,IAAI,CAC/B,CAAC,UAAU,EAAE,EAAE,CACb,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU;YACtC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,KAAK,eAAe,CACnE,CAAC;QAEF,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,UAAU,GAAG,IAAI,eAAe,CAAqB;YACnD,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;QAEH,IAAI,eAAe,EAAE,CAAC;YACpB,KAAK,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,GAAG,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;QAEpE,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,YAAY;QAClB,8DAA8D;QAC9D,EAAE;QACF,kFAAkF;QAClF,4FAA4F;QAC5F,uFAAuF;QACvF,gBAAgB;QAChB,OAAO,CACL,IAAI,CAAC,qBAAqB;YAC1B,CAAC,IAAI,CAAC,qBAAqB,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAChE,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,UAA+C;QAE/C,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,CAClC,SAAS,EACT,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,MAAM,CACZ,CAAC;YAEF,UAAU,CAAC,IAAI,CAAC;gBACd,MAAM,EAAE,UAAU;gBAClB,GAAG;aACJ,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,UAAU,CAAC,IAAI,CAAC;gBACd,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACjE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,UAA+C,EAC/C,eAAgC;QAEhC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,IAAI,CAChC,SAAS,EACT,eAAe,EACf,IAAI,CAAC,MAAM,CACZ,CAAC;YAEF,UAAU,CAAC,IAAI,CAAC;gBACd,MAAM,EAAE,UAAU;gBAClB,GAAG;aACJ,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,UAAU,CAAC,IAAI,CAAC;gBACd,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACjE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,307 @@
1
+ /**
2
+ * Type definitions for the Agora DAO Governor SDK.
3
+ *
4
+ * @module types
5
+ */
6
+ /**
7
+ * Governance configuration parameters.
8
+ */
9
+ export interface GovernanceConfig {
10
+ /**
11
+ * Duration of the voting period in seconds.
12
+ * @example BigInt(604800) // 7 days for production
13
+ * @example BigInt(300) // 5 minutes for testing
14
+ */
15
+ votingPeriod: bigint;
16
+ /**
17
+ * Minimum number of votes required for a proposal to pass (quorum).
18
+ * @example BigInt(100000) // 100K tokens for production
19
+ * @example BigInt(100) // 100 tokens for testing
20
+ */
21
+ quorumThreshold: bigint;
22
+ /**
23
+ * Minimum stake required to create a proposal.
24
+ * @example BigInt(50000) // 50K tokens for production
25
+ * @example BigInt(100) // 100 tokens for testing
26
+ */
27
+ proposalThreshold: bigint;
28
+ /**
29
+ * Maximum lifetime of a proposal in seconds.
30
+ * @example BigInt(2592000) // 30 days for production
31
+ * @example BigInt(86400) // 1 day for testing
32
+ */
33
+ proposalLifetime: bigint;
34
+ /**
35
+ * Delay before a passed proposal can be executed, in seconds.
36
+ * @example BigInt(172800) // 2 days for production
37
+ * @example BigInt(60) // 1 minute for testing
38
+ */
39
+ executionDelay: bigint;
40
+ /**
41
+ * Grace period after execution delay before proposal expires, in seconds.
42
+ * @example BigInt(604800) // 7 days for production
43
+ * @example BigInt(300) // 5 minutes for testing
44
+ */
45
+ gracePeriod: bigint;
46
+ /**
47
+ * Minimum amount that can be staked.
48
+ * @example BigInt(1000) // 1K tokens for production
49
+ * @example BigInt(10) // 10 tokens for testing
50
+ */
51
+ minStakeAmount: bigint;
52
+ /**
53
+ * Minimum staking period in seconds before tokens can be unstaked.
54
+ * @example BigInt(604800) // 7 days for production
55
+ * @example BigInt(60) // 1 minute for testing
56
+ */
57
+ stakingPeriod: bigint;
58
+ }
59
+ /**
60
+ * Complete governor contract configuration.
61
+ */
62
+ export interface GovernorConfig {
63
+ /** Governance-specific parameters */
64
+ governance: GovernanceConfig;
65
+ /** Delay before execution (should match governance.executionDelay) */
66
+ executionDelay: bigint;
67
+ /** Grace period for execution (should match governance.gracePeriod) */
68
+ gracePeriod: bigint;
69
+ /** Maximum number of active proposals allowed */
70
+ maxActiveProposals: bigint;
71
+ /** Proposal lifetime (should match governance.proposalLifetime) */
72
+ proposalLifetime: bigint;
73
+ /** Whether emergency veto is enabled */
74
+ emergencyVetoEnabled: boolean;
75
+ /**
76
+ * Stake threshold required for emergency veto.
77
+ * @example BigInt(75000) // 75K tokens for production
78
+ * @example BigInt(500) // 500 tokens for testing
79
+ */
80
+ emergencyVetoThreshold: bigint;
81
+ }
82
+ /**
83
+ * Token configuration for governor deployment.
84
+ */
85
+ export interface TokenConfig {
86
+ /**
87
+ * Token name.
88
+ * @example "Agora DAO Token"
89
+ */
90
+ name: string;
91
+ /**
92
+ * Token symbol.
93
+ * @example "AGORA"
94
+ */
95
+ symbol: string;
96
+ /**
97
+ * Number of decimal places for token.
98
+ * @example BigInt(18) // Standard ERC20
99
+ * @example BigInt(6) // USDC-like
100
+ */
101
+ decimals: bigint;
102
+ }
103
+ /**
104
+ * Complete deployment configuration for governor contract.
105
+ */
106
+ export interface DeploymentConfig {
107
+ /** Governor configuration */
108
+ governor: GovernorConfig;
109
+ /** Token configuration */
110
+ token: TokenConfig;
111
+ /**
112
+ * Admin key for the contract (32 bytes).
113
+ *
114
+ * @remarks
115
+ * SECURITY: This should be generated securely and stored safely.
116
+ * Never use predictable or hardcoded admin keys in production.
117
+ *
118
+ * @example
119
+ * ```typescript
120
+ * import { randomBytes } from '@midnight-ntwrk/midnight-js-utils';
121
+ * const adminKey = randomBytes(32);
122
+ * ```
123
+ */
124
+ adminKey: Uint8Array;
125
+ }
126
+ /**
127
+ * Vote choice enumeration.
128
+ */
129
+ export declare enum VoteChoice {
130
+ /** Vote in favor of the proposal */
131
+ For = 0,
132
+ /** Vote against the proposal */
133
+ Against = 1,
134
+ /** Abstain from voting */
135
+ Abstain = 2
136
+ }
137
+ /**
138
+ * Proposal action type.
139
+ */
140
+ export interface ProposalAction {
141
+ /** Action type identifier */
142
+ typ: number;
143
+ /** Token address for transfer actions */
144
+ token: Uint8Array;
145
+ /** Amount for transfer actions */
146
+ amount: bigint;
147
+ /** Recipient address for transfer actions */
148
+ to: Uint8Array;
149
+ /** Configuration key for config update actions */
150
+ configKey: Uint8Array;
151
+ /** Configuration value for config update actions */
152
+ configValue: Uint8Array;
153
+ }
154
+ /**
155
+ * Stake information for a user.
156
+ */
157
+ export interface StakeInfo {
158
+ /** Amount of tokens staked */
159
+ stakedAmount: bigint;
160
+ /** Address to which stake is delegated */
161
+ delegatedTo: Uint8Array;
162
+ /** Timestamp when stake was registered */
163
+ stakedAt: bigint;
164
+ }
165
+ /**
166
+ * Proposal status enumeration.
167
+ */
168
+ export declare enum ProposalStatus {
169
+ /** Proposal is pending and not yet active */
170
+ Pending = 0,
171
+ /** Proposal is active and accepting votes */
172
+ Active = 1,
173
+ /** Proposal voting period has ended, needs finalization */
174
+ Succeeded = 2,
175
+ /** Proposal was defeated */
176
+ Defeated = 3,
177
+ /** Proposal is queued for execution */
178
+ Queued = 4,
179
+ /** Proposal has been executed */
180
+ Executed = 5,
181
+ /** Proposal has expired */
182
+ Expired = 6,
183
+ /** Proposal was canceled */
184
+ Canceled = 7
185
+ }
186
+ /**
187
+ * Detailed proposal information.
188
+ */
189
+ export interface ProposalDetails {
190
+ /** Unique proposal identifier */
191
+ id: bigint;
192
+ /** Current proposal status */
193
+ status: ProposalStatus;
194
+ /** Timestamp when voting started */
195
+ votingStartTime: bigint;
196
+ /** Timestamp when voting ends */
197
+ votingEndTime: bigint;
198
+ /** Address of proposal creator */
199
+ creator: Uint8Array;
200
+ /** Number of votes in favor */
201
+ votesFor: bigint;
202
+ /** Number of votes against */
203
+ votesAgainst: bigint;
204
+ /** Number of abstain votes */
205
+ votesAbstain: bigint;
206
+ /** Associated effect ID */
207
+ effectId: bigint;
208
+ /** Proposal title */
209
+ title: string;
210
+ /** Proposal description */
211
+ description: string;
212
+ }
213
+ /**
214
+ * Effect details for a proposal.
215
+ */
216
+ export interface EffectDetails {
217
+ /** Effect identifier */
218
+ id: bigint;
219
+ /** Associated proposal ID */
220
+ proposalId: bigint;
221
+ /** Effect status */
222
+ status: number;
223
+ /** Actions to be executed */
224
+ actions: ProposalAction[];
225
+ /** Timestamp when effect was created */
226
+ createdAt: bigint;
227
+ /** Timestamp when effect can be executed */
228
+ executableAt: bigint;
229
+ }
230
+ /**
231
+ * Vote count information for a proposal.
232
+ */
233
+ export interface VoteCount {
234
+ /** Number of votes in favor */
235
+ votesFor: bigint;
236
+ /** Number of votes against */
237
+ votesAgainst: bigint;
238
+ /** Number of abstain votes */
239
+ votesAbstain: bigint;
240
+ /** Total number of votes cast */
241
+ totalVotes: bigint;
242
+ }
243
+ /**
244
+ * Governor contract status.
245
+ */
246
+ export interface GovernorStatus {
247
+ /** Whether the governor is active */
248
+ isActive: boolean;
249
+ /** Number of active proposals */
250
+ activeProposalCount: bigint;
251
+ /** Number of queued proposals */
252
+ queuedProposalCount: bigint;
253
+ /** Current contract time */
254
+ currentTime: bigint;
255
+ /** Treasury balance */
256
+ treasuryBalance: bigint;
257
+ }
258
+ /**
259
+ * Governor value display information.
260
+ */
261
+ export interface GovernorValue {
262
+ /** Contract address */
263
+ contractAddress: string;
264
+ /** Number of active proposals */
265
+ activeProposals: bigint;
266
+ /** Number of queued proposals */
267
+ queuedProposals: bigint;
268
+ /** Treasury balance */
269
+ treasuryBalance: bigint;
270
+ /** Whether governor is active */
271
+ isActive: boolean;
272
+ }
273
+ /**
274
+ * Stake record information.
275
+ */
276
+ export interface StakeRecord {
277
+ /** User address */
278
+ userId: Uint8Array;
279
+ /** Staked amount */
280
+ amount: bigint;
281
+ /** Delegated to address */
282
+ delegatedTo: Uint8Array;
283
+ /** Stake timestamp */
284
+ stakedAt: bigint;
285
+ /** Whether stake is locked */
286
+ isLocked: boolean;
287
+ }
288
+ /**
289
+ * Helper functions for creating production and testing configurations.
290
+ */
291
+ export declare const ConfigPresets: {
292
+ /**
293
+ * Creates a production-ready governance configuration.
294
+ *
295
+ * @remarks
296
+ * Suitable for mainnet deployment with secure parameters.
297
+ */
298
+ production: () => GovernanceConfig;
299
+ /**
300
+ * Creates a testing governance configuration.
301
+ *
302
+ * @remarks
303
+ * Suitable for testnet/development with shorter periods.
304
+ */
305
+ testing: () => GovernanceConfig;
306
+ };
307
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Type definitions for the Agora DAO Governor SDK.
3
+ *
4
+ * @module types
5
+ */
6
+ /**
7
+ * Vote choice enumeration.
8
+ */
9
+ export var VoteChoice;
10
+ (function (VoteChoice) {
11
+ /** Vote in favor of the proposal */
12
+ VoteChoice[VoteChoice["For"] = 0] = "For";
13
+ /** Vote against the proposal */
14
+ VoteChoice[VoteChoice["Against"] = 1] = "Against";
15
+ /** Abstain from voting */
16
+ VoteChoice[VoteChoice["Abstain"] = 2] = "Abstain";
17
+ })(VoteChoice || (VoteChoice = {}));
18
+ /**
19
+ * Proposal status enumeration.
20
+ */
21
+ export var ProposalStatus;
22
+ (function (ProposalStatus) {
23
+ /** Proposal is pending and not yet active */
24
+ ProposalStatus[ProposalStatus["Pending"] = 0] = "Pending";
25
+ /** Proposal is active and accepting votes */
26
+ ProposalStatus[ProposalStatus["Active"] = 1] = "Active";
27
+ /** Proposal voting period has ended, needs finalization */
28
+ ProposalStatus[ProposalStatus["Succeeded"] = 2] = "Succeeded";
29
+ /** Proposal was defeated */
30
+ ProposalStatus[ProposalStatus["Defeated"] = 3] = "Defeated";
31
+ /** Proposal is queued for execution */
32
+ ProposalStatus[ProposalStatus["Queued"] = 4] = "Queued";
33
+ /** Proposal has been executed */
34
+ ProposalStatus[ProposalStatus["Executed"] = 5] = "Executed";
35
+ /** Proposal has expired */
36
+ ProposalStatus[ProposalStatus["Expired"] = 6] = "Expired";
37
+ /** Proposal was canceled */
38
+ ProposalStatus[ProposalStatus["Canceled"] = 7] = "Canceled";
39
+ })(ProposalStatus || (ProposalStatus = {}));
40
+ /**
41
+ * Helper functions for creating production and testing configurations.
42
+ */
43
+ export const ConfigPresets = {
44
+ /**
45
+ * Creates a production-ready governance configuration.
46
+ *
47
+ * @remarks
48
+ * Suitable for mainnet deployment with secure parameters.
49
+ */
50
+ production: () => ({
51
+ votingPeriod: BigInt(604800), // 7 days
52
+ quorumThreshold: BigInt(100000), // 100K tokens
53
+ proposalThreshold: BigInt(50000), // 50K tokens
54
+ proposalLifetime: BigInt(2592000), // 30 days
55
+ executionDelay: BigInt(172800), // 2 days
56
+ gracePeriod: BigInt(604800), // 7 days
57
+ minStakeAmount: BigInt(1000), // 1K tokens
58
+ stakingPeriod: BigInt(604800) // 7 days
59
+ }),
60
+ /**
61
+ * Creates a testing governance configuration.
62
+ *
63
+ * @remarks
64
+ * Suitable for testnet/development with shorter periods.
65
+ */
66
+ testing: () => ({
67
+ votingPeriod: BigInt(300), // 5 minutes
68
+ quorumThreshold: BigInt(100), // 100 tokens
69
+ proposalThreshold: BigInt(100), // 100 tokens
70
+ proposalLifetime: BigInt(86400), // 1 day
71
+ executionDelay: BigInt(60), // 1 minute
72
+ gracePeriod: BigInt(300), // 5 minutes
73
+ minStakeAmount: BigInt(10), // 10 tokens
74
+ stakingPeriod: BigInt(60) // 1 minute
75
+ })
76
+ };
77
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA+IH;;GAEG;AACH,MAAM,CAAN,IAAY,UASX;AATD,WAAY,UAAU;IACpB,oCAAoC;IACpC,yCAAO,CAAA;IAEP,gCAAgC;IAChC,iDAAW,CAAA;IAEX,0BAA0B;IAC1B,iDAAW,CAAA;AACb,CAAC,EATW,UAAU,KAAV,UAAU,QASrB;AAuCD;;GAEG;AACH,MAAM,CAAN,IAAY,cAwBX;AAxBD,WAAY,cAAc;IACxB,6CAA6C;IAC7C,yDAAW,CAAA;IAEX,6CAA6C;IAC7C,uDAAU,CAAA;IAEV,2DAA2D;IAC3D,6DAAa,CAAA;IAEb,4BAA4B;IAC5B,2DAAY,CAAA;IAEZ,uCAAuC;IACvC,uDAAU,CAAA;IAEV,iCAAiC;IACjC,2DAAY,CAAA;IAEZ,2BAA2B;IAC3B,yDAAW,CAAA;IAEX,4BAA4B;IAC5B,2DAAY,CAAA;AACd,CAAC,EAxBW,cAAc,KAAd,cAAc,QAwBzB;AA4ID;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B;;;;;OAKG;IACH,UAAU,EAAE,GAAqB,EAAE,CAAC,CAAC;QACnC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS;QACvC,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc;QAC/C,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa;QAC/C,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,UAAU;QAC7C,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS;QACzC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS;QACtC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY;QAC1C,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS;KACxC,CAAC;IAEF;;;;;OAKG;IACH,OAAO,EAAE,GAAqB,EAAE,CAAC,CAAC;QAChC,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,YAAY;QACvC,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,aAAa;QAC3C,iBAAiB,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,aAAa;QAC7C,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ;QACzC,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,WAAW;QACvC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,YAAY;QACtC,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,YAAY;QACxC,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW;KACtC,CAAC;CACH,CAAC"}