@openzeppelin/wizard-stellar 0.5.0 → 0.6.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 (92) hide show
  1. package/dist/add-upgradeable.d.ts.map +1 -1
  2. package/dist/add-upgradeable.js +15 -14
  3. package/dist/add-upgradeable.js.map +1 -1
  4. package/dist/api.d.ts +5 -2
  5. package/dist/api.d.ts.map +1 -1
  6. package/dist/api.js +7 -1
  7. package/dist/api.js.map +1 -1
  8. package/dist/build-generic.d.ts +4 -0
  9. package/dist/build-generic.d.ts.map +1 -1
  10. package/dist/build-generic.js +3 -0
  11. package/dist/build-generic.js.map +1 -1
  12. package/dist/contract.d.ts +3 -0
  13. package/dist/contract.d.ts.map +1 -1
  14. package/dist/contract.js +4 -0
  15. package/dist/contract.js.map +1 -1
  16. package/dist/fungible.d.ts +1 -0
  17. package/dist/fungible.d.ts.map +1 -1
  18. package/dist/fungible.js +74 -25
  19. package/dist/fungible.js.map +1 -1
  20. package/dist/generate/fungible.d.ts.map +1 -1
  21. package/dist/generate/fungible.js +1 -0
  22. package/dist/generate/fungible.js.map +1 -1
  23. package/dist/generate/governor.d.ts +3 -0
  24. package/dist/generate/governor.d.ts.map +1 -0
  25. package/dist/generate/governor.js +24 -0
  26. package/dist/generate/governor.js.map +1 -0
  27. package/dist/generate/non-fungible.d.ts.map +1 -1
  28. package/dist/generate/non-fungible.js +1 -0
  29. package/dist/generate/non-fungible.js.map +1 -1
  30. package/dist/generate/sources.d.ts.map +1 -1
  31. package/dist/generate/sources.js +6 -0
  32. package/dist/generate/sources.js.map +1 -1
  33. package/dist/generate/stablecoin.d.ts.map +1 -1
  34. package/dist/generate/stablecoin.js +1 -0
  35. package/dist/generate/stablecoin.js.map +1 -1
  36. package/dist/governor.d.ts +17 -0
  37. package/dist/governor.d.ts.map +1 -0
  38. package/dist/governor.js +378 -0
  39. package/dist/governor.js.map +1 -0
  40. package/dist/index.d.ts +2 -0
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +5 -3
  43. package/dist/index.js.map +1 -1
  44. package/dist/kind.js +1 -0
  45. package/dist/kind.js.map +1 -1
  46. package/dist/non-fungible.d.ts +1 -0
  47. package/dist/non-fungible.d.ts.map +1 -1
  48. package/dist/non-fungible.js +68 -7
  49. package/dist/non-fungible.js.map +1 -1
  50. package/dist/print.d.ts.map +1 -1
  51. package/dist/print.js +6 -1
  52. package/dist/print.js.map +1 -1
  53. package/dist/stablecoin.d.ts.map +1 -1
  54. package/dist/stablecoin.js +7 -0
  55. package/dist/stablecoin.js.map +1 -1
  56. package/dist/test.js +3 -0
  57. package/dist/test.js.map +1 -1
  58. package/dist/utils/compile-test.d.ts +2 -2
  59. package/dist/utils/compile-test.d.ts.map +1 -1
  60. package/dist/utils/compile-test.js +54 -3
  61. package/dist/utils/compile-test.js.map +1 -1
  62. package/dist/utils/version.d.ts +4 -4
  63. package/dist/utils/version.js +3 -3
  64. package/dist/zip-rust.d.ts.map +1 -1
  65. package/dist/zip-rust.js +3 -2
  66. package/dist/zip-rust.js.map +1 -1
  67. package/dist/zip-shared.d.ts +3 -4
  68. package/dist/zip-shared.d.ts.map +1 -1
  69. package/dist/zip-shared.js +20 -7
  70. package/dist/zip-shared.js.map +1 -1
  71. package/package.json +1 -1
  72. package/src/add-upgradeable.ts +15 -16
  73. package/src/api.ts +15 -2
  74. package/src/build-generic.ts +6 -0
  75. package/src/contract.ts +6 -0
  76. package/src/fungible.ts +93 -25
  77. package/src/generate/fungible.ts +1 -0
  78. package/src/generate/governor.ts +24 -0
  79. package/src/generate/non-fungible.ts +1 -0
  80. package/src/generate/sources.ts +7 -0
  81. package/src/generate/stablecoin.ts +1 -0
  82. package/src/governor.ts +425 -0
  83. package/src/index.ts +2 -0
  84. package/src/kind.ts +1 -0
  85. package/src/non-fungible.ts +73 -3
  86. package/src/print.ts +6 -1
  87. package/src/stablecoin.ts +8 -0
  88. package/src/test.ts +4 -0
  89. package/src/utils/compile-test.ts +84 -5
  90. package/src/utils/version.ts +3 -3
  91. package/src/zip-rust.ts +4 -2
  92. package/src/zip-shared.ts +17 -6
@@ -1 +1 @@
1
- {"version":3,"file":"non-fungible.js","sourceRoot":"","sources":["../../src/generate/non-fungible.ts"],"names":[],"mappings":";;AAuBA,gEAEC;AAxBD,8DAAsD;AACtD,0CAA0C;AAC1C,iDAAsD;AAEtD,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAE/B,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,CAAC,SAAS,CAAC;IACjB,MAAM,EAAE,CAAC,KAAK,CAAC;IACf,QAAQ,EAAE,CAAC,yBAAyB,CAAC;IACrC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,QAAQ;IAClB,WAAW,EAAE,QAAQ;IACrB,UAAU,EAAE,QAAQ;IACpB,WAAW,EAAE,QAAQ;IACrB,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,kCAAa;IACrB,IAAI,EAAE,sBAAW;IACjB,uBAAuB,EAAE,QAAQ;CAClC,CAAC;AAEF,QAAe,CAAC,CAAC,0BAA0B;IACzC,KAAK,CAAC,CAAC,IAAA,mCAAoB,EAAC,SAAS,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"non-fungible.js","sourceRoot":"","sources":["../../src/generate/non-fungible.ts"],"names":[],"mappings":";;AAwBA,gEAEC;AAzBD,8DAAsD;AACtD,0CAA0C;AAC1C,iDAAsD;AAEtD,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAE/B,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,CAAC,SAAS,CAAC;IACjB,MAAM,EAAE,CAAC,KAAK,CAAC;IACf,QAAQ,EAAE,CAAC,yBAAyB,CAAC;IACrC,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,QAAQ;IAClB,WAAW,EAAE,QAAQ;IACrB,UAAU,EAAE,QAAQ;IACpB,WAAW,EAAE,QAAQ;IACrB,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,kCAAa;IACrB,IAAI,EAAE,sBAAW;IACjB,uBAAuB,EAAE,QAAQ;CAClC,CAAC;AAEF,QAAe,CAAC,CAAC,0BAA0B;IACzC,KAAK,CAAC,CAAC,IAAA,mCAAoB,EAAC,SAAS,CAAC,CAAC;AACzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../src/generate/sources.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAItE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,KAAK,IAAI,GAAG,MAAM,aAAa,CAAC;AAEhC,wBAAiB,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,cAAc,CAAC,CAkBvE;AAED,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,cAAc,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,UAAU,eAAgB,SAAQ,iBAAiB;IACjD,MAAM,EAAE,MAAM,CAAC;CAChB;AAuBD,wBAAiB,eAAe,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,eAAe,CAAC,CAS9F;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAW7G"}
1
+ {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../src/generate/sources.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAItE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,KAAK,IAAI,GAAG,MAAM,aAAa,CAAC;AAEhC,wBAAiB,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,cAAc,CAAC,CAwBvE;AAED,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,cAAc,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,UAAU,eAAgB,SAAQ,iBAAiB;IACjD,MAAM,EAAE,MAAM,CAAC;CAChB;AAuBD,wBAAiB,eAAe,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,eAAe,CAAC,CAS9F;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAW7G"}
@@ -10,6 +10,7 @@ const fs_1 = require("fs");
10
10
  const path_1 = __importDefault(require("path"));
11
11
  const crypto_1 = __importDefault(require("crypto"));
12
12
  const fungible_1 = require("./fungible");
13
+ const governor_1 = require("./governor");
13
14
  const non_fungible_1 = require("./non-fungible");
14
15
  const stablecoin_1 = require("./stablecoin");
15
16
  const build_generic_1 = require("../build-generic");
@@ -21,6 +22,11 @@ function* generateOptions(kind) {
21
22
  yield { kind: 'Fungible', ...kindOpts };
22
23
  }
23
24
  }
25
+ if (!kind || kind === 'Governor') {
26
+ for (const kindOpts of (0, governor_1.generateGovernorOptions)()) {
27
+ yield { kind: 'Governor', ...kindOpts };
28
+ }
29
+ }
24
30
  if (!kind || kind === 'NonFungible') {
25
31
  for (const kindOpts of (0, non_fungible_1.generateNonFungibleOptions)()) {
26
32
  yield { kind: 'NonFungible', ...kindOpts };
@@ -1 +1 @@
1
- {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../src/generate/sources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../src/generate/sources.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stablecoin.d.ts","sourceRoot":"","sources":["../../src/generate/stablecoin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAqB3E,wBAAiB,yBAAyB,IAAI,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAEnF"}
1
+ {"version":3,"file":"stablecoin.d.ts","sourceRoot":"","sources":["../../src/generate/stablecoin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAsB3E,wBAAiB,yBAAyB,IAAI,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAEnF"}
@@ -10,6 +10,7 @@ const blueprint = {
10
10
  name: ['MyStablecoin'],
11
11
  symbol: ['MST'],
12
12
  burnable: booleans,
13
+ votes: booleans,
13
14
  pausable: booleans,
14
15
  upgradeable: booleans,
15
16
  mintable: booleans,
@@ -1 +1 @@
1
- {"version":3,"file":"stablecoin.js","sourceRoot":"","sources":["../../src/generate/stablecoin.ts"],"names":[],"mappings":";;AAqBA,8DAEC;AAvBD,8CAA2E;AAC3E,8DAAsD;AACtD,0CAA0C;AAC1C,iDAAsD;AAEtD,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAE/B,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,CAAC,cAAc,CAAC;IACtB,MAAM,EAAE,CAAC,KAAK,CAAC;IACf,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,QAAQ;IAClB,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,CAAC,GAAG,CAAC;IACd,MAAM,EAAE,kCAAa;IACrB,WAAW,EAAE,+BAAkB;IAC/B,IAAI,EAAE,sBAAW;IACjB,uBAAuB,EAAE,QAAQ;CAClC,CAAC;AAEF,QAAe,CAAC,CAAC,yBAAyB;IACxC,KAAK,CAAC,CAAC,IAAA,mCAAoB,EAAC,SAAS,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"stablecoin.js","sourceRoot":"","sources":["../../src/generate/stablecoin.ts"],"names":[],"mappings":";;AAsBA,8DAEC;AAxBD,8CAA2E;AAC3E,8DAAsD;AACtD,0CAA0C;AAC1C,iDAAsD;AAEtD,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAE/B,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,CAAC,cAAc,CAAC;IACtB,MAAM,EAAE,CAAC,KAAK,CAAC;IACf,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,QAAQ;IAClB,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,CAAC,GAAG,CAAC;IACd,MAAM,EAAE,kCAAa;IACrB,WAAW,EAAE,+BAAkB;IAC/B,IAAI,EAAE,sBAAW;IACjB,uBAAuB,EAAE,QAAQ;CAClC,CAAC;AAEF,QAAe,CAAC,CAAC,yBAAyB;IACxC,KAAK,CAAC,CAAC,IAAA,mCAAoB,EAAC,SAAS,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { CommonContractOptions } from './common-options';
2
+ import { ContractBuilder } from './contract';
3
+ export declare const defaults: Required<GovernorOptions>;
4
+ export declare function printGovernor(opts?: GovernorOptions): string;
5
+ export interface GovernorOptions extends CommonContractOptions {
6
+ name: string;
7
+ version?: string;
8
+ votingDelay?: string;
9
+ votingPeriod?: string;
10
+ proposalThreshold?: string;
11
+ quorum?: string;
12
+ upgradeable?: boolean;
13
+ timelock?: boolean;
14
+ }
15
+ export declare function isAccessControlRequired(opts: Partial<GovernorOptions>): boolean;
16
+ export declare function buildGovernor(opts: GovernorOptions): ContractBuilder;
17
+ //# sourceMappingURL=governor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governor.d.ts","sourceRoot":"","sources":["../src/governor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAQ7C,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAYrC,CAAC;AAEX,wBAAgB,aAAa,CAAC,IAAI,GAAE,eAA0B,GAAG,MAAM,CAEtE;AAED,MAAM,WAAW,eAAgB,SAAQ,qBAAqB;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAE/E;AAgBD,wBAAgB,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAwBpE"}
@@ -0,0 +1,378 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaults = void 0;
4
+ exports.printGovernor = printGovernor;
5
+ exports.isAccessControlRequired = isAccessControlRequired;
6
+ exports.buildGovernor = buildGovernor;
7
+ const common_options_1 = require("./common-options");
8
+ const contract_1 = require("./contract");
9
+ const print_1 = require("./print");
10
+ const set_access_control_1 = require("./set-access-control");
11
+ const add_upgradeable_1 = require("./add-upgradeable");
12
+ const set_info_1 = require("./set-info");
13
+ const convert_strings_1 = require("./utils/convert-strings");
14
+ const define_functions_1 = require("./utils/define-functions");
15
+ exports.defaults = {
16
+ name: 'MyGovernor',
17
+ version: '1.0.0',
18
+ votingDelay: '17000',
19
+ votingPeriod: '120000',
20
+ proposalThreshold: '100',
21
+ quorum: '500',
22
+ upgradeable: false,
23
+ timelock: false,
24
+ access: common_options_1.contractDefaults.access,
25
+ info: common_options_1.contractDefaults.info,
26
+ explicitImplementations: common_options_1.contractDefaults.explicitImplementations,
27
+ };
28
+ function printGovernor(opts = exports.defaults) {
29
+ return (0, print_1.printContract)(buildGovernor(opts));
30
+ }
31
+ function isAccessControlRequired(opts) {
32
+ return opts.upgradeable === true;
33
+ }
34
+ function withDefaults(opts) {
35
+ return {
36
+ ...opts,
37
+ ...(0, common_options_1.withCommonContractDefaults)(opts),
38
+ version: opts.version ?? exports.defaults.version,
39
+ votingDelay: opts.votingDelay ?? exports.defaults.votingDelay,
40
+ votingPeriod: opts.votingPeriod ?? exports.defaults.votingPeriod,
41
+ proposalThreshold: opts.proposalThreshold ?? exports.defaults.proposalThreshold,
42
+ quorum: opts.quorum ?? exports.defaults.quorum,
43
+ upgradeable: opts.upgradeable ?? exports.defaults.upgradeable,
44
+ timelock: opts.timelock ?? exports.defaults.timelock,
45
+ };
46
+ }
47
+ function buildGovernor(opts) {
48
+ const allOpts = withDefaults(opts);
49
+ const c = new contract_1.ContractBuilder(allOpts.name);
50
+ addBase(c, (0, convert_strings_1.toByteArray)(allOpts.name), (0, convert_strings_1.toByteArray)(allOpts.version), (0, convert_strings_1.toUint)(allOpts.votingDelay, 'votingDelay', 'u32'), (0, convert_strings_1.toUint)(allOpts.votingPeriod, 'votingPeriod', 'u32'), (0, convert_strings_1.toUint)(allOpts.proposalThreshold, 'proposalThreshold', 'u128'), (0, convert_strings_1.toUint)(allOpts.quorum, 'quorum', 'u128'), allOpts.timelock, allOpts.explicitImplementations);
51
+ if (allOpts.upgradeable) {
52
+ (0, add_upgradeable_1.addUpgradeable)(c, allOpts.access, allOpts.explicitImplementations);
53
+ }
54
+ (0, set_access_control_1.setAccessControl)(c, allOpts.access, allOpts.explicitImplementations);
55
+ (0, set_info_1.setInfo)(c, allOpts.info);
56
+ return c;
57
+ }
58
+ function addBase(c, name, version, votingDelay, votingPeriod, proposalThreshold, quorum, timelock, explicitImplementations) {
59
+ c.addUseClause('stellar_governance::governor', 'Governor');
60
+ c.addUseClause('stellar_governance::governor', 'ProposalState');
61
+ c.addUseClause('stellar_governance::governor', 'self', { alias: 'governor' });
62
+ c.addUseClause('soroban_sdk', 'contract');
63
+ c.addUseClause('soroban_sdk', 'contractimpl');
64
+ c.addUseClause('soroban_sdk', 'Address');
65
+ c.addUseClause('soroban_sdk', 'BytesN');
66
+ c.addUseClause('soroban_sdk', 'Env');
67
+ c.addUseClause('soroban_sdk', 'String');
68
+ c.addUseClause('soroban_sdk', 'Symbol');
69
+ c.addUseClause('soroban_sdk', 'Val');
70
+ c.addUseClause('soroban_sdk', 'Vec');
71
+ c.addConstructorArgument({ name: 'token_contract', type: 'Address' });
72
+ c.addConstructorCode(`governor::set_name(e, String::from_str(e, "${name}"));`);
73
+ c.addConstructorCode(`governor::set_version(e, String::from_str(e, "${version}"));`);
74
+ c.addConstructorCode(`governor::set_voting_delay(e, ${votingDelay});`);
75
+ c.addConstructorCode(`governor::set_voting_period(e, ${votingPeriod});`);
76
+ c.addConstructorCode(`governor::set_proposal_threshold(e, ${proposalThreshold});`);
77
+ c.addConstructorCode(`governor::set_quorum(e, ${quorum});`);
78
+ c.addConstructorCode('governor::set_token_contract(e, &token_contract);');
79
+ const governorTrait = {
80
+ traitName: 'Governor',
81
+ structName: c.name,
82
+ tags: explicitImplementations ? ['contractimpl'] : ['contractimpl(contracttrait)'],
83
+ };
84
+ // Custom impls must be added before the defaults so the deduplication keeps
85
+ // the custom version when a default-method override exists (e.g. timelock's
86
+ // `proposals_need_queuing`/`queue` overriding the trait defaults).
87
+ if (timelock) {
88
+ addTimelock(c, governorTrait);
89
+ }
90
+ else {
91
+ c.addTraitFunction(governorTrait, functions.execute);
92
+ c.addTraitFunction(governorTrait, functions.cancel);
93
+ }
94
+ if (explicitImplementations) {
95
+ c.addTraitForEachFunctions(governorTrait, governorTraitDefaultFunctions);
96
+ }
97
+ }
98
+ function addTimelock(c, governorTrait) {
99
+ c.addUseClause('soroban_sdk', 'contracttype');
100
+ c.addUseClause('soroban_sdk', 'IntoVal');
101
+ c.addUseClause('stellar_governance::timelock', 'TimelockClient');
102
+ c.addTopLevelDeclaration([
103
+ '#[contracttype]',
104
+ 'enum GovernorTimelockKey {',
105
+ ' Timelock,',
106
+ ' OperationID(BytesN<32>),',
107
+ '}',
108
+ ]);
109
+ c.addConstructorArgument({ name: 'timelock_contract', type: 'Address' });
110
+ c.addConstructorCode('e.storage().instance().set(&GovernorTimelockKey::Timelock, &timelock_contract);');
111
+ c.addFreeFunction(timelockFreeFunctions.timelock);
112
+ c.addTraitFunction(governorTrait, timelockFunctions.proposals_need_queuing);
113
+ c.addTraitFunction(governorTrait, timelockFunctions.queue);
114
+ c.addTraitFunction(governorTrait, timelockFunctions.execute);
115
+ c.addTraitFunction(governorTrait, timelockFunctions.cancel);
116
+ }
117
+ const functions = (0, define_functions_1.defineFunctions)({
118
+ execute: {
119
+ args: [
120
+ (0, common_options_1.getSelfArg)(),
121
+ { name: 'targets', type: 'Vec<Address>' },
122
+ { name: 'functions', type: 'Vec<Symbol>' },
123
+ { name: 'args', type: 'Vec<Vec<Val>>' },
124
+ { name: 'description_hash', type: 'BytesN<32>' },
125
+ { name: 'executor', type: 'Address' },
126
+ ],
127
+ returns: 'BytesN<32>',
128
+ code: [
129
+ 'executor.require_auth()',
130
+ 'let proposal_id = governor::hash_proposal(e, &targets, &functions, &args, &description_hash)',
131
+ 'let snapshot = governor::get_proposal_snapshot(e, &proposal_id)',
132
+ 'let quorum = Self::quorum(e, snapshot)',
133
+ 'governor::execute(e, targets, functions, args, &description_hash, Self::proposals_need_queuing(e), quorum)',
134
+ ],
135
+ },
136
+ cancel: {
137
+ args: [
138
+ (0, common_options_1.getSelfArg)(),
139
+ { name: 'targets', type: 'Vec<Address>' },
140
+ { name: 'functions', type: 'Vec<Symbol>' },
141
+ { name: 'args', type: 'Vec<Vec<Val>>' },
142
+ { name: 'description_hash', type: 'BytesN<32>' },
143
+ { name: 'operator', type: 'Address' },
144
+ ],
145
+ returns: 'BytesN<32>',
146
+ code: [
147
+ 'let proposal_id = governor::hash_proposal(e, &targets, &functions, &args, &description_hash)',
148
+ 'let proposer = governor::get_proposal_proposer(e, &proposal_id)',
149
+ 'assert!(operator == proposer)',
150
+ 'operator.require_auth()',
151
+ 'governor::cancel(e, targets, functions, args, &description_hash)',
152
+ ],
153
+ },
154
+ });
155
+ const timelockFreeFunctions = (0, define_functions_1.defineFunctions)({
156
+ timelock: {
157
+ args: [(0, common_options_1.getSelfArg)()],
158
+ returns: 'Address',
159
+ code: ['e.storage().instance().get(&GovernorTimelockKey::Timelock).expect("timelock not set")'],
160
+ },
161
+ });
162
+ const timelockFunctions = (0, define_functions_1.defineFunctions)({
163
+ proposals_need_queuing: {
164
+ args: [{ name: '_e', type: '&Env' }],
165
+ returns: 'bool',
166
+ code: ['true'],
167
+ },
168
+ queue: {
169
+ args: [
170
+ (0, common_options_1.getSelfArg)(),
171
+ { name: 'targets', type: 'Vec<Address>' },
172
+ { name: 'functions', type: 'Vec<Symbol>' },
173
+ { name: 'args', type: 'Vec<Vec<Val>>' },
174
+ { name: 'description_hash', type: 'BytesN<32>' },
175
+ { name: 'eta', type: 'u32' },
176
+ { name: '_operator', type: 'Address' },
177
+ ],
178
+ returns: 'BytesN<32>',
179
+ code: [
180
+ 'let proposal_id = governor::hash_proposal(e, &targets, &functions, &args, &description_hash)',
181
+ 'let snapshot = governor::get_proposal_snapshot(e, &proposal_id)',
182
+ 'let quorum = Self::quorum(e, snapshot)',
183
+ 'let proposal_id = governor::queue(e, targets.clone(), functions.clone(), args.clone(), &description_hash, eta, quorum)',
184
+ 'let timelock = Self::timelock(e)',
185
+ 'let delay = eta.saturating_sub(e.ledger().sequence())',
186
+ 'let execute_args: Vec<Val> = (targets, functions, args, description_hash.clone(), timelock.clone()).into_val(e)',
187
+ 'let timelock_client = TimelockClient::new(e, &timelock)',
188
+ 'let zero_predecessor = BytesN::from_array(e, &[0u8; 32])',
189
+ 'let op_id = timelock_client.schedule(&e.current_contract_address(), &Symbol::new(e, "execute"), &execute_args, &zero_predecessor, &description_hash, &delay, &e.current_contract_address())',
190
+ 'e.storage().persistent().set(&GovernorTimelockKey::OperationID(proposal_id.clone()), &op_id);',
191
+ 'proposal_id',
192
+ ],
193
+ },
194
+ execute: {
195
+ args: [
196
+ (0, common_options_1.getSelfArg)(),
197
+ { name: 'targets', type: 'Vec<Address>' },
198
+ { name: 'functions', type: 'Vec<Symbol>' },
199
+ { name: 'args', type: 'Vec<Vec<Val>>' },
200
+ { name: 'description_hash', type: 'BytesN<32>' },
201
+ { name: 'executor', type: 'Address' },
202
+ ],
203
+ returns: 'BytesN<32>',
204
+ code: [
205
+ 'let timelock = Self::timelock(e)',
206
+ 'assert!(executor == timelock)',
207
+ 'executor.require_auth()',
208
+ 'let proposal_id = governor::hash_proposal(e, &targets, &functions, &args, &description_hash)',
209
+ 'let snapshot = governor::get_proposal_snapshot(e, &proposal_id)',
210
+ 'let quorum = Self::quorum(e, snapshot)',
211
+ 'governor::execute(e, targets, functions, args, &description_hash, Self::proposals_need_queuing(e), quorum)',
212
+ ],
213
+ },
214
+ cancel: {
215
+ args: [
216
+ (0, common_options_1.getSelfArg)(),
217
+ { name: 'targets', type: 'Vec<Address>' },
218
+ { name: 'functions', type: 'Vec<Symbol>' },
219
+ { name: 'args', type: 'Vec<Vec<Val>>' },
220
+ { name: 'description_hash', type: 'BytesN<32>' },
221
+ { name: 'operator', type: 'Address' },
222
+ ],
223
+ returns: 'BytesN<32>',
224
+ code: [
225
+ 'let proposal_id = governor::hash_proposal(e, &targets, &functions, &args, &description_hash)',
226
+ 'let proposer = governor::get_proposal_proposer(e, &proposal_id)',
227
+ 'assert!(operator == proposer)',
228
+ 'operator.require_auth()',
229
+ 'if let Some(op_id) = e.storage().persistent().get::<_, BytesN<32>>(&GovernorTimelockKey::OperationID(proposal_id)) {',
230
+ ' let timelock = Self::timelock(e);',
231
+ ' let timelock_client = TimelockClient::new(e, &timelock);',
232
+ ' timelock_client.cancel(&op_id, &e.current_contract_address());',
233
+ '}',
234
+ 'governor::cancel(e, targets, functions, args, &description_hash)',
235
+ ],
236
+ },
237
+ });
238
+ // Explicit-trait variants for every default method on the `Governor` trait.
239
+ // When `explicitImplementations` is enabled, these are emitted as overrides
240
+ // that mirror the upstream defaults — letting users see and customize each
241
+ // method directly. Order matches the trait definition for readability.
242
+ const governorTraitDefaultFunctions = (0, define_functions_1.defineFunctions)({
243
+ name: {
244
+ args: [(0, common_options_1.getSelfArg)()],
245
+ returns: 'String',
246
+ code: ['governor::get_name(e)'],
247
+ },
248
+ version: {
249
+ args: [(0, common_options_1.getSelfArg)()],
250
+ returns: 'String',
251
+ code: ['governor::get_version(e)'],
252
+ },
253
+ voting_delay: {
254
+ args: [(0, common_options_1.getSelfArg)()],
255
+ returns: 'u32',
256
+ code: ['governor::get_voting_delay(e)'],
257
+ },
258
+ voting_period: {
259
+ args: [(0, common_options_1.getSelfArg)()],
260
+ returns: 'u32',
261
+ code: ['governor::get_voting_period(e)'],
262
+ },
263
+ proposal_threshold: {
264
+ args: [(0, common_options_1.getSelfArg)()],
265
+ returns: 'u128',
266
+ code: ['governor::get_proposal_threshold(e)'],
267
+ },
268
+ get_token_contract: {
269
+ args: [(0, common_options_1.getSelfArg)()],
270
+ returns: 'Address',
271
+ code: ['governor::get_token_contract(e)'],
272
+ },
273
+ counting_mode: {
274
+ args: [(0, common_options_1.getSelfArg)()],
275
+ returns: 'Symbol',
276
+ code: ['governor::counting_mode(e)'],
277
+ },
278
+ has_voted: {
279
+ args: [(0, common_options_1.getSelfArg)(), { name: 'proposal_id', type: 'BytesN<32>' }, { name: 'account', type: 'Address' }],
280
+ returns: 'bool',
281
+ code: ['governor::has_voted(e, &proposal_id, &account)'],
282
+ },
283
+ quorum: {
284
+ args: [(0, common_options_1.getSelfArg)(), { name: 'ledger', type: 'u32' }],
285
+ returns: 'u128',
286
+ code: ['governor::get_quorum(e, ledger)'],
287
+ },
288
+ proposal_state: {
289
+ args: [(0, common_options_1.getSelfArg)(), { name: 'proposal_id', type: 'BytesN<32>' }],
290
+ returns: 'ProposalState',
291
+ code: [
292
+ 'let snapshot = governor::get_proposal_snapshot(e, &proposal_id)',
293
+ 'let quorum = Self::quorum(e, snapshot)',
294
+ 'governor::get_proposal_state(e, &proposal_id, quorum)',
295
+ ],
296
+ },
297
+ proposal_snapshot: {
298
+ args: [(0, common_options_1.getSelfArg)(), { name: 'proposal_id', type: 'BytesN<32>' }],
299
+ returns: 'u32',
300
+ code: ['governor::get_proposal_snapshot(e, &proposal_id)'],
301
+ },
302
+ proposal_deadline: {
303
+ args: [(0, common_options_1.getSelfArg)(), { name: 'proposal_id', type: 'BytesN<32>' }],
304
+ returns: 'u32',
305
+ code: ['governor::get_proposal_deadline(e, &proposal_id)'],
306
+ },
307
+ proposal_proposer: {
308
+ args: [(0, common_options_1.getSelfArg)(), { name: 'proposal_id', type: 'BytesN<32>' }],
309
+ returns: 'Address',
310
+ code: ['governor::get_proposal_proposer(e, &proposal_id)'],
311
+ },
312
+ get_proposal_id: {
313
+ args: [
314
+ (0, common_options_1.getSelfArg)(),
315
+ { name: 'targets', type: 'Vec<Address>' },
316
+ { name: 'functions', type: 'Vec<Symbol>' },
317
+ { name: 'args', type: 'Vec<Vec<Val>>' },
318
+ { name: 'description_hash', type: 'BytesN<32>' },
319
+ ],
320
+ returns: 'BytesN<32>',
321
+ code: ['governor::hash_proposal(e, &targets, &functions, &args, &description_hash)'],
322
+ },
323
+ propose: {
324
+ args: [
325
+ (0, common_options_1.getSelfArg)(),
326
+ { name: 'targets', type: 'Vec<Address>' },
327
+ { name: 'functions', type: 'Vec<Symbol>' },
328
+ { name: 'args', type: 'Vec<Vec<Val>>' },
329
+ { name: 'description', type: 'String' },
330
+ { name: 'proposer', type: 'Address' },
331
+ ],
332
+ returns: 'BytesN<32>',
333
+ code: ['proposer.require_auth()', 'governor::propose(e, targets, functions, args, description, &proposer)'],
334
+ },
335
+ cast_vote: {
336
+ args: [
337
+ (0, common_options_1.getSelfArg)(),
338
+ { name: 'proposal_id', type: 'BytesN<32>' },
339
+ { name: 'vote_type', type: 'u32' },
340
+ { name: 'reason', type: 'String' },
341
+ { name: 'voter', type: 'Address' },
342
+ ],
343
+ returns: 'u128',
344
+ code: [
345
+ 'voter.require_auth()',
346
+ 'let snapshot = governor::get_proposal_snapshot(e, &proposal_id)',
347
+ 'let quorum = Self::quorum(e, snapshot)',
348
+ 'governor::cast_vote(e, &proposal_id, vote_type, &reason, &voter, quorum)',
349
+ ],
350
+ },
351
+ queue: {
352
+ args: [
353
+ (0, common_options_1.getSelfArg)(),
354
+ { name: 'targets', type: 'Vec<Address>' },
355
+ { name: 'functions', type: 'Vec<Symbol>' },
356
+ { name: 'args', type: 'Vec<Vec<Val>>' },
357
+ { name: 'description_hash', type: 'BytesN<32>' },
358
+ { name: 'eta', type: 'u32' },
359
+ { name: '_operator', type: 'Address' },
360
+ ],
361
+ returns: 'BytesN<32>',
362
+ code: [
363
+ 'if !Self::proposals_need_queuing(e) {',
364
+ ' soroban_sdk::panic_with_error!(e, governor::GovernorError::QueueNotEnabled);',
365
+ '}',
366
+ 'let proposal_id = governor::hash_proposal(e, &targets, &functions, &args, &description_hash)',
367
+ 'let snapshot = governor::get_proposal_snapshot(e, &proposal_id)',
368
+ 'let quorum = Self::quorum(e, snapshot)',
369
+ 'governor::queue(e, targets, functions, args, &description_hash, eta, quorum)',
370
+ ],
371
+ },
372
+ proposals_need_queuing: {
373
+ args: [{ name: '_e', type: '&Env' }],
374
+ returns: 'bool',
375
+ code: ['false'],
376
+ },
377
+ });
378
+ //# sourceMappingURL=governor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governor.js","sourceRoot":"","sources":["../src/governor.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -13,9 +13,11 @@ export type { Kind } from './kind';
13
13
  export { sanitizeKind } from './kind';
14
14
  export { contractsVersion, contractsVersionTag, compatibleContractsSemver } from './utils/version';
15
15
  export { fungible } from './api';
16
+ export { governor } from './api';
16
17
  export { nonFungible } from './api';
17
18
  export { stablecoin } from './api';
18
19
  export type { FungibleOptions } from './fungible';
20
+ export type { GovernorOptions } from './governor';
19
21
  export type { NonFungibleOptions } from './non-fungible';
20
22
  export type { StablecoinOptions } from './stablecoin';
21
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,YAAY,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,YAAY,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,YAAY,CAAC;AAEtD,YAAY,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,YAAY,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAEnG,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,YAAY,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,YAAY,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,YAAY,CAAC;AAEtD,YAAY,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,YAAY,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAEnG,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.stablecoin = exports.nonFungible = exports.fungible = exports.compatibleContractsSemver = exports.contractsVersionTag = exports.contractsVersion = exports.sanitizeKind = exports.OptionsError = exports.infoDefaults = exports.premintPattern = exports.printContract = exports.ContractBuilder = exports.buildGeneric = void 0;
3
+ exports.stablecoin = exports.nonFungible = exports.governor = exports.fungible = exports.compatibleContractsSemver = exports.contractsVersionTag = exports.contractsVersion = exports.sanitizeKind = exports.OptionsError = exports.infoDefaults = exports.premintPattern = exports.printContract = exports.ContractBuilder = exports.buildGeneric = void 0;
4
4
  var build_generic_1 = require("./build-generic");
5
5
  Object.defineProperty(exports, "buildGeneric", { enumerable: true, get: function () { return build_generic_1.buildGeneric; } });
6
6
  var contract_1 = require("./contract");
@@ -22,7 +22,9 @@ Object.defineProperty(exports, "compatibleContractsSemver", { enumerable: true,
22
22
  var api_1 = require("./api");
23
23
  Object.defineProperty(exports, "fungible", { enumerable: true, get: function () { return api_1.fungible; } });
24
24
  var api_2 = require("./api");
25
- Object.defineProperty(exports, "nonFungible", { enumerable: true, get: function () { return api_2.nonFungible; } });
25
+ Object.defineProperty(exports, "governor", { enumerable: true, get: function () { return api_2.governor; } });
26
26
  var api_3 = require("./api");
27
- Object.defineProperty(exports, "stablecoin", { enumerable: true, get: function () { return api_3.stablecoin; } });
27
+ Object.defineProperty(exports, "nonFungible", { enumerable: true, get: function () { return api_3.nonFungible; } });
28
+ var api_4 = require("./api");
29
+ Object.defineProperty(exports, "stablecoin", { enumerable: true, get: function () { return api_4.stablecoin; } });
28
30
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AAGrB,uCAA6C;AAApC,2GAAA,eAAe,OAAA;AAExB,iCAAwC;AAA/B,sGAAA,aAAa,OAAA;AAKtB,uCAA4C;AAAnC,0GAAA,cAAc,OAAA;AAEvB,uCAAsD;AAA7C,wGAAA,QAAQ,OAAgB;AAGjC,iCAAuC;AAA9B,qGAAA,YAAY,OAAA;AAGrB,+BAAsC;AAA7B,oGAAA,YAAY,OAAA;AAErB,2CAAmG;AAA1F,2GAAA,gBAAgB,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,oHAAA,yBAAyB,OAAA;AAEzE,6BAAiC;AAAxB,+FAAA,QAAQ,OAAA;AACjB,6BAAoC;AAA3B,kGAAA,WAAW,OAAA;AACpB,6BAAmC;AAA1B,iGAAA,UAAU,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AAGrB,uCAA6C;AAApC,2GAAA,eAAe,OAAA;AAExB,iCAAwC;AAA/B,sGAAA,aAAa,OAAA;AAKtB,uCAA4C;AAAnC,0GAAA,cAAc,OAAA;AAEvB,uCAAsD;AAA7C,wGAAA,QAAQ,OAAgB;AAGjC,iCAAuC;AAA9B,qGAAA,YAAY,OAAA;AAGrB,+BAAsC;AAA7B,oGAAA,YAAY,OAAA;AAErB,2CAAmG;AAA1F,2GAAA,gBAAgB,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,oHAAA,yBAAyB,OAAA;AAEzE,6BAAiC;AAAxB,+FAAA,QAAQ,OAAA;AACjB,6BAAiC;AAAxB,+FAAA,QAAQ,OAAA;AACjB,6BAAoC;AAA3B,kGAAA,WAAW,OAAA;AACpB,6BAAmC;AAA1B,iGAAA,UAAU,OAAA"}
package/dist/kind.js CHANGED
@@ -13,6 +13,7 @@ function sanitizeKind(kind) {
13
13
  function isKind(value) {
14
14
  switch (value) {
15
15
  case 'Fungible':
16
+ case 'Governor':
16
17
  case 'NonFungible':
17
18
  case 'Stablecoin':
18
19
  return true;
package/dist/kind.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"kind.js","sourceRoot":"","sources":["../src/kind.ts"],"names":[],"mappings":";;AAIA,oCAQC;AARD,SAAgB,YAAY,CAAC,IAAa;IACxC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;QAC7G,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,MAAM,CAAI,KAAe;IAChC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,UAAU,CAAC;QAChB,KAAK,aAAa,CAAC;QACnB,KAAK,YAAY;YACf,OAAO,IAAI,CAAC;QAEd,OAAO,CAAC,CAAC,CAAC;YACR,8CAA8C;YAC9C,MAAM,CAAC,GAAM,KAAK,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"kind.js","sourceRoot":"","sources":["../src/kind.ts"],"names":[],"mappings":";;AAIA,oCAQC;AARD,SAAgB,YAAY,CAAC,IAAa;IACxC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;QAC7G,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,MAAM,CAAI,KAAe;IAChC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,UAAU,CAAC;QAChB,KAAK,UAAU,CAAC;QAChB,KAAK,aAAa,CAAC;QACnB,KAAK,YAAY;YACf,OAAO,IAAI,CAAC;QAEd,OAAO,CAAC,CAAC,CAAC;YACR,8CAA8C;YAC9C,MAAM,CAAC,GAAM,KAAK,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -7,6 +7,7 @@ export interface NonFungibleOptions extends CommonContractOptions {
7
7
  symbol: string;
8
8
  tokenUri?: string;
9
9
  burnable?: boolean;
10
+ votes?: boolean;
10
11
  enumerable?: boolean;
11
12
  consecutive?: boolean;
12
13
  pausable?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"non-fungible.d.ts","sourceRoot":"","sources":["../src/non-fungible.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAU3C,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,kBAAkB,CAcxC,CAAC;AAEX,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,kBAA6B,GAAG,MAAM,CAE5E;AAED,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAiBD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAElF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,GAAG,QAAQ,CAsEnE"}
1
+ {"version":3,"file":"non-fungible.d.ts","sourceRoot":"","sources":["../src/non-fungible.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAU3C,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,kBAAkB,CAexC,CAAC;AAEX,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,kBAA6B,GAAG,MAAM,CAE5E;AAED,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAkBD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAElF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,GAAG,QAAQ,CAkFnE"}