@openzeppelin/wizard-stellar 0.4.3 → 0.4.5

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 (71) hide show
  1. package/README.md +2 -2
  2. package/dist/add-pausable.d.ts +1 -1
  3. package/dist/add-pausable.d.ts.map +1 -1
  4. package/dist/add-pausable.js +10 -8
  5. package/dist/add-pausable.js.map +1 -1
  6. package/dist/add-upgradeable.d.ts +1 -1
  7. package/dist/add-upgradeable.d.ts.map +1 -1
  8. package/dist/add-upgradeable.js +2 -2
  9. package/dist/add-upgradeable.js.map +1 -1
  10. package/dist/common-options.d.ts +1 -0
  11. package/dist/common-options.d.ts.map +1 -1
  12. package/dist/common-options.js +4 -4
  13. package/dist/common-options.js.map +1 -1
  14. package/dist/contract.d.ts +2 -0
  15. package/dist/contract.d.ts.map +1 -1
  16. package/dist/contract.js +11 -7
  17. package/dist/contract.js.map +1 -1
  18. package/dist/fungible.d.ts +1 -1
  19. package/dist/fungible.d.ts.map +1 -1
  20. package/dist/fungible.js +43 -24
  21. package/dist/fungible.js.map +1 -1
  22. package/dist/generate/alternatives.js +1 -1
  23. package/dist/generate/alternatives.js.map +1 -1
  24. package/dist/generate/fungible.d.ts.map +1 -1
  25. package/dist/generate/fungible.js +1 -0
  26. package/dist/generate/fungible.js.map +1 -1
  27. package/dist/generate/non-fungible.d.ts.map +1 -1
  28. package/dist/generate/non-fungible.js +2 -0
  29. package/dist/generate/non-fungible.js.map +1 -1
  30. package/dist/generate/stablecoin.d.ts.map +1 -1
  31. package/dist/generate/stablecoin.js +1 -0
  32. package/dist/generate/stablecoin.js.map +1 -1
  33. package/dist/non-fungible.d.ts +2 -1
  34. package/dist/non-fungible.d.ts.map +1 -1
  35. package/dist/non-fungible.js +96 -45
  36. package/dist/non-fungible.js.map +1 -1
  37. package/dist/print.js +3 -6
  38. package/dist/print.js.map +1 -1
  39. package/dist/set-access-control.d.ts +2 -2
  40. package/dist/set-access-control.d.ts.map +1 -1
  41. package/dist/set-access-control.js +105 -8
  42. package/dist/set-access-control.js.map +1 -1
  43. package/dist/stablecoin.d.ts +2 -1
  44. package/dist/stablecoin.d.ts.map +1 -1
  45. package/dist/stablecoin.js +30 -10
  46. package/dist/stablecoin.js.map +1 -1
  47. package/dist/utils/compile-test.d.ts +1 -0
  48. package/dist/utils/compile-test.d.ts.map +1 -1
  49. package/dist/utils/compile-test.js +20 -6
  50. package/dist/utils/compile-test.js.map +1 -1
  51. package/dist/utils/define-functions.js +4 -7
  52. package/dist/utils/define-functions.js.map +1 -1
  53. package/dist/zip-rust.d.ts.map +1 -1
  54. package/dist/zip-rust.js +5 -1
  55. package/dist/zip-rust.js.map +1 -1
  56. package/dist/zip-shared.js +1 -1
  57. package/dist/zip-shared.js.map +1 -1
  58. package/package.json +3 -3
  59. package/src/add-pausable.ts +30 -15
  60. package/src/add-upgradeable.ts +13 -6
  61. package/src/common-options.ts +3 -0
  62. package/src/contract.ts +9 -0
  63. package/src/fungible.ts +54 -20
  64. package/src/generate/fungible.ts +1 -0
  65. package/src/generate/non-fungible.ts +2 -0
  66. package/src/generate/stablecoin.ts +1 -0
  67. package/src/non-fungible.ts +127 -41
  68. package/src/set-access-control.ts +105 -7
  69. package/src/stablecoin.ts +39 -9
  70. package/src/utils/compile-test.ts +52 -25
  71. package/src/zip-rust.ts +5 -0
package/README.md CHANGED
@@ -38,12 +38,12 @@ Import the contract type(s) (for example, `fungible`) that you want to use from
38
38
  import { fungible } from '@openzeppelin/wizard-stellar';
39
39
  ```
40
40
 
41
- To generate the source code for an Fungible contract with all of the default settings:
41
+ To generate the source code for a Fungible contract with all of the default settings:
42
42
  ```js
43
43
  const contract = fungible.print();
44
44
  ```
45
45
 
46
- To generate the source code for an Fungible contract with some custom settings:
46
+ To generate the source code for a Fungible contract with some custom settings:
47
47
  ```js
48
48
  const contract = fungible.print({
49
49
  pausable: true,
@@ -1,4 +1,4 @@
1
1
  import type { ContractBuilder } from './contract';
2
2
  import type { Access } from './set-access-control';
3
- export declare function addPausable(c: ContractBuilder, access: Access): void;
3
+ export declare function addPausable(c: ContractBuilder, access: Access, explicitImplementations: boolean): void;
4
4
  //# sourceMappingURL=add-pausable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-pausable.d.ts","sourceRoot":"","sources":["../src/add-pausable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAgB,eAAe,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAInD,wBAAgB,WAAW,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,QA6B7D"}
1
+ {"version":3,"file":"add-pausable.d.ts","sourceRoot":"","sources":["../src/add-pausable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAgB,eAAe,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAInD,wBAAgB,WAAW,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,uBAAuB,EAAE,OAAO,QA4C/F"}
@@ -4,31 +4,33 @@ exports.addPausable = addPausable;
4
4
  const common_options_1 = require("./common-options");
5
5
  const set_access_control_1 = require("./set-access-control");
6
6
  const define_functions_1 = require("./utils/define-functions");
7
- function addPausable(c, access) {
7
+ function addPausable(c, access, explicitImplementations) {
8
8
  c.addUseClause('stellar_contract_utils::pausable', 'self', { alias: 'pausable' });
9
9
  c.addUseClause('stellar_contract_utils::pausable', 'Pausable');
10
- c.addUseClause('stellar_macros', 'default_impl');
10
+ if (!explicitImplementations)
11
+ c.addUseClause('stellar_macros', 'default_impl');
11
12
  const pausableTrait = {
12
13
  traitName: 'Pausable',
13
14
  structName: c.name,
14
15
  tags: ['contractimpl'],
15
16
  section: 'Utils',
16
17
  };
17
- const pauseFn = access === 'ownable' ? functions.pause_unused_caller : functions.pause;
18
- const unpauseFn = access === 'ownable' ? functions.unpause_unused_caller : functions.unpause;
18
+ const effectiveAccess = access === false ? set_access_control_1.DEFAULT_ACCESS_CONTROL : access;
19
+ const pauseFn = effectiveAccess === 'ownable' ? functions.pause_unused_caller : functions.pause;
20
+ const unpauseFn = effectiveAccess === 'ownable' ? functions.unpause_unused_caller : functions.unpause;
19
21
  c.addTraitFunction(pausableTrait, functions.paused);
20
22
  c.addTraitFunction(pausableTrait, pauseFn);
21
23
  c.addTraitFunction(pausableTrait, unpauseFn);
22
- (0, set_access_control_1.requireAccessControl)(c, pausableTrait, pauseFn, access, {
24
+ (0, set_access_control_1.requireAccessControl)(c, pausableTrait, pauseFn, effectiveAccess, {
23
25
  useMacro: true,
24
26
  role: 'pauser',
25
27
  caller: 'caller',
26
- });
27
- (0, set_access_control_1.requireAccessControl)(c, pausableTrait, unpauseFn, access, {
28
+ }, explicitImplementations);
29
+ (0, set_access_control_1.requireAccessControl)(c, pausableTrait, unpauseFn, effectiveAccess, {
28
30
  useMacro: true,
29
31
  role: 'pauser',
30
32
  caller: 'caller',
31
- });
33
+ }, explicitImplementations);
32
34
  }
33
35
  const functions = (0, define_functions_1.defineFunctions)({
34
36
  paused: {
@@ -1 +1 @@
1
- {"version":3,"file":"add-pausable.js","sourceRoot":"","sources":["../src/add-pausable.ts"],"names":[],"mappings":";;AAMA,kCA6BC;AAnCD,qDAA8C;AAG9C,6DAA4D;AAC5D,+DAA2D;AAE3D,SAAgB,WAAW,CAAC,CAAkB,EAAE,MAAc;IAC5D,CAAC,CAAC,YAAY,CAAC,kCAAkC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IAClF,CAAC,CAAC,YAAY,CAAC,kCAAkC,EAAE,UAAU,CAAC,CAAC;IAC/D,CAAC,CAAC,YAAY,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAEjD,MAAM,aAAa,GAAG;QACpB,SAAS,EAAE,UAAU;QACrB,UAAU,EAAE,CAAC,CAAC,IAAI;QAClB,IAAI,EAAE,CAAC,cAAc,CAAC;QACtB,OAAO,EAAE,OAAO;KACjB,CAAC;IAEF,MAAM,OAAO,GAAiB,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;IACrG,MAAM,SAAS,GAAiB,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;IAE3G,CAAC,CAAC,gBAAgB,CAAC,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC,CAAC,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC,CAAC,gBAAgB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAC7C,IAAA,yCAAoB,EAAC,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE;QACtD,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,QAAQ;KACjB,CAAC,CAAC;IAEH,IAAA,yCAAoB,EAAC,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE;QACxD,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,QAAQ;KACjB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,SAAS,GAAG,IAAA,kCAAe,EAAC;IAChC,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,IAAA,2BAAU,GAAE,CAAC;QACpB,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,CAAC,qBAAqB,CAAC;KAC9B;IACD,KAAK,EAAE;QACL,IAAI,EAAE,CAAC,IAAA,2BAAU,GAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACzD,IAAI,EAAE,CAAC,oBAAoB,CAAC;KAC7B;IACD,mBAAmB,EAAE;QACnB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,CAAC,IAAA,2BAAU,GAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC1D,IAAI,EAAE,CAAC,oBAAoB,CAAC;KAC7B;IACD,OAAO,EAAE;QACP,IAAI,EAAE,CAAC,IAAA,2BAAU,GAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACzD,IAAI,EAAE,CAAC,sBAAsB,CAAC;KAC/B;IACD,qBAAqB,EAAE;QACrB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,CAAC,IAAA,2BAAU,GAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC1D,IAAI,EAAE,CAAC,sBAAsB,CAAC;KAC/B;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"add-pausable.js","sourceRoot":"","sources":["../src/add-pausable.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import type { Access } from './set-access-control';
2
2
  import type { ContractBuilder } from './contract';
3
- export declare function addUpgradeable(c: ContractBuilder, access: Access): void;
3
+ export declare function addUpgradeable(c: ContractBuilder, access: Access, explicitImplementations: boolean): void;
4
4
  //# sourceMappingURL=add-upgradeable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-upgradeable.d.ts","sourceRoot":"","sources":["../src/add-upgradeable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,KAAK,EAAgB,eAAe,EAAE,MAAM,YAAY,CAAC;AAGhE,wBAAgB,cAAc,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,QAmChE"}
1
+ {"version":3,"file":"add-upgradeable.d.ts","sourceRoot":"","sources":["../src/add-upgradeable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,KAAK,EAAgB,eAAe,EAAE,MAAM,YAAY,CAAC;AAGhE,wBAAgB,cAAc,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,uBAAuB,EAAE,OAAO,QA0ClG"}
@@ -4,7 +4,7 @@ exports.addUpgradeable = addUpgradeable;
4
4
  const common_options_1 = require("./common-options");
5
5
  const set_access_control_1 = require("./set-access-control");
6
6
  const define_functions_1 = require("./utils/define-functions");
7
- function addUpgradeable(c, access) {
7
+ function addUpgradeable(c, access, explicitImplementations) {
8
8
  const functions = (0, define_functions_1.defineFunctions)({
9
9
  _require_auth: {
10
10
  args: [(0, common_options_1.getSelfArg)(), { name: 'operator', type: '&Address' }],
@@ -31,6 +31,6 @@ function addUpgradeable(c, access) {
31
31
  useMacro: false,
32
32
  role: 'upgrader',
33
33
  caller: 'operator',
34
- });
34
+ }, explicitImplementations);
35
35
  }
36
36
  //# sourceMappingURL=add-upgradeable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-upgradeable.js","sourceRoot":"","sources":["../src/add-upgradeable.ts"],"names":[],"mappings":";;AAMA,wCAmCC;AAzCD,qDAA8C;AAE9C,6DAA4D;AAE5D,+DAA2D;AAE3D,SAAgB,cAAc,CAAC,CAAkB,EAAE,MAAc;IAC/D,MAAM,SAAS,GAAG,IAAA,kCAAe,EAAC;QAChC,aAAa,EAAE;YACb,IAAI,EAAE,CAAC,IAAA,2BAAU,GAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YAC5D,IAAI,EAAE,CAAC,0BAA0B,CAAC;SACnC;QACD,6BAA6B,EAAE;YAC7B,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,CAAC,IAAA,2BAAU,GAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YAC7D,IAAI,EAAE,EAAE;SACT;KACF,CAAC,CAAC;IAEH,CAAC,CAAC,YAAY,CAAC,qCAAqC,EAAE,qBAAqB,CAAC,CAAC;IAC7E,CAAC,CAAC,YAAY,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAEhD,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAE5B,MAAM,gBAAgB,GAAG;QACvB,SAAS,EAAE,qBAAqB;QAChC,UAAU,EAAE,CAAC,CAAC,IAAI;QAClB,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,OAAO;KACjB,CAAC;IAEF,MAAM,SAAS,GACb,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC;IAE3F,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAEhD,IAAA,yCAAoB,EAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,EAAE;QAC3D,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,UAAU;KACnB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"add-upgradeable.js","sourceRoot":"","sources":["../src/add-upgradeable.ts"],"names":[],"mappings":";;AAMA,wCA0CC;AAhDD,qDAA8C;AAE9C,6DAA4D;AAE5D,+DAA2D;AAE3D,SAAgB,cAAc,CAAC,CAAkB,EAAE,MAAc,EAAE,uBAAgC;IACjG,MAAM,SAAS,GAAG,IAAA,kCAAe,EAAC;QAChC,aAAa,EAAE;YACb,IAAI,EAAE,CAAC,IAAA,2BAAU,GAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YAC5D,IAAI,EAAE,CAAC,0BAA0B,CAAC;SACnC;QACD,6BAA6B,EAAE;YAC7B,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,CAAC,IAAA,2BAAU,GAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YAC7D,IAAI,EAAE,EAAE;SACT;KACF,CAAC,CAAC;IAEH,CAAC,CAAC,YAAY,CAAC,qCAAqC,EAAE,qBAAqB,CAAC,CAAC;IAC7E,CAAC,CAAC,YAAY,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAEhD,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAE5B,MAAM,gBAAgB,GAAG;QACvB,SAAS,EAAE,qBAAqB;QAChC,UAAU,EAAE,CAAC,CAAC,IAAI;QAClB,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,OAAO;KACjB,CAAC;IAEF,MAAM,SAAS,GACb,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC;IAE3F,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAEhD,IAAA,yCAAoB,EAClB,CAAC,EACD,gBAAgB,EAChB,SAAS,EACT,MAAM,EACN;QACE,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,UAAU;KACnB,EACD,uBAAuB,CACxB,CAAC;AACJ,CAAC"}
@@ -8,6 +8,7 @@ export interface CommonOptions {
8
8
  }
9
9
  export interface CommonContractOptions extends CommonOptions {
10
10
  access?: Access;
11
+ explicitImplementations?: boolean;
11
12
  }
12
13
  export declare function withCommonDefaults(opts: CommonOptions): Required<CommonOptions>;
13
14
  export declare function withCommonContractDefaults(opts: CommonContractOptions): Required<CommonContractOptions>;
@@ -1 +1 @@
1
- {"version":3,"file":"common-options.d.ts","sourceRoot":"","sources":["../src/common-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGvC,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAEnC,CAAC;AAEX,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,qBAAqB,CAGnD,CAAC;AAEX,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,CAI/E;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,qBAAqB,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAKvG;AAED,wBAAgB,UAAU,IAAI,QAAQ,CAErC"}
1
+ {"version":3,"file":"common-options.d.ts","sourceRoot":"","sources":["../src/common-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGvC,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAEnC,CAAC;AAEX,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,qBAAqB,CAInD,CAAC;AAEX,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,CAI/E;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,qBAAqB,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAMvG;AAED,wBAAgB,UAAU,IAAI,QAAQ,CAErC"}
@@ -11,18 +11,18 @@ exports.defaults = {
11
11
  exports.contractDefaults = {
12
12
  ...exports.defaults,
13
13
  access: false,
14
+ explicitImplementations: false,
14
15
  };
15
16
  function withCommonDefaults(opts) {
16
- var _a;
17
17
  return {
18
- info: (_a = opts.info) !== null && _a !== void 0 ? _a : exports.defaults.info,
18
+ info: opts.info ?? exports.defaults.info,
19
19
  };
20
20
  }
21
21
  function withCommonContractDefaults(opts) {
22
- var _a;
23
22
  return {
24
23
  ...withCommonDefaults(opts),
25
- access: (_a = opts.access) !== null && _a !== void 0 ? _a : exports.contractDefaults.access,
24
+ access: opts.access ?? exports.contractDefaults.access,
25
+ explicitImplementations: opts.explicitImplementations ?? exports.contractDefaults.explicitImplementations,
26
26
  };
27
27
  }
28
28
  function getSelfArg() {
@@ -1 +1 @@
1
- {"version":3,"file":"common-options.js","sourceRoot":"","sources":["../src/common-options.ts"],"names":[],"mappings":";;;AAsBA,gDAIC;AAED,gEAKC;AAED,gCAEC;AAlCD,yCAAsD;AAEzC,QAAA,QAAQ,GAA4B;IAC/C,IAAI,EAAE,mBAAY;CACV,CAAC;AAEE,QAAA,gBAAgB,GAAoC;IAC/D,GAAG,gBAAQ;IACX,MAAM,EAAE,KAAK;CACL,CAAC;AAUX,SAAgB,kBAAkB,CAAC,IAAmB;;IACpD,OAAO;QACL,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,mCAAI,gBAAQ,CAAC,IAAI;KACjC,CAAC;AACJ,CAAC;AAED,SAAgB,0BAA0B,CAAC,IAA2B;;IACpE,OAAO;QACL,GAAG,kBAAkB,CAAC,IAAI,CAAC;QAC3B,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI,wBAAgB,CAAC,MAAM;KAC/C,CAAC;AACJ,CAAC;AAED,SAAgB,UAAU;IACxB,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"common-options.js","sourceRoot":"","sources":["../src/common-options.ts"],"names":[],"mappings":";;;AAwBA,gDAIC;AAED,gEAMC;AAED,gCAEC;AArCD,yCAAsD;AAEzC,QAAA,QAAQ,GAA4B;IAC/C,IAAI,EAAE,mBAAY;CACV,CAAC;AAEE,QAAA,gBAAgB,GAAoC;IAC/D,GAAG,gBAAQ;IACX,MAAM,EAAE,KAAK;IACb,uBAAuB,EAAE,KAAK;CACtB,CAAC;AAWX,SAAgB,kBAAkB,CAAC,IAAmB;IACpD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,gBAAQ,CAAC,IAAI;KACjC,CAAC;AACJ,CAAC;AAED,SAAgB,0BAA0B,CAAC,IAA2B;IACpE,OAAO;QACL,GAAG,kBAAkB,CAAC,IAAI,CAAC;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,wBAAgB,CAAC,MAAM;QAC9C,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,IAAI,wBAAgB,CAAC,uBAAuB;KAClG,CAAC;AACJ,CAAC;AAED,SAAgB,UAAU;IACxB,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACrC,CAAC"}
@@ -93,12 +93,14 @@ export declare class ContractBuilder implements Contract {
93
93
  addVariable(variable: Variable): boolean;
94
94
  addTraitImplBlock(baseTrait: BaseTraitImplBlock): TraitImplBlock;
95
95
  addFreeFunction(fn: BaseFunction): ContractFunction;
96
+ addTraitForEachFunctions(baseTrait: BaseTraitImplBlock, functions: Record<string, BaseFunction>): void;
96
97
  addTraitFunction(baseTrait: BaseTraitImplBlock, fn: BaseFunction): ContractFunction;
97
98
  overrideAssocType(traitName: string, newAssocType: string): void;
98
99
  private getFunctionSignature;
99
100
  private getOrCreateFunction;
100
101
  addFunctionCodeBefore(fn: BaseFunction, codeBefore: string[], baseTrait?: BaseTraitImplBlock): void;
101
102
  addFunctionTag(fn: BaseFunction, tag: string, baseTrait?: BaseTraitImplBlock): void;
103
+ setFunctionCode(fn: BaseFunction, code: string[], baseTrait?: BaseTraitImplBlock): void;
102
104
  addConstructorArgument(arg: Argument): void;
103
105
  addConstructorCode(code: string): void;
104
106
  addDerives(derive: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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"}
package/dist/contract.js CHANGED
@@ -47,10 +47,9 @@ class ContractBuilder {
47
47
  }
48
48
  }
49
49
  addUseClause(containerPath, name, options) {
50
- var _a, _b;
51
50
  // groupable defaults to true
52
- const groupable = (_a = options === null || options === void 0 ? void 0 : options.groupable) !== null && _a !== void 0 ? _a : true;
53
- const alias = (_b = options === null || options === void 0 ? void 0 : options.alias) !== null && _b !== void 0 ? _b : '';
51
+ const groupable = options?.groupable ?? true;
52
+ const alias = options?.alias ?? '';
54
53
  const uniqueName = alias.length > 0 ? alias : name;
55
54
  const present = this.useClausesMap.has(uniqueName);
56
55
  if (!present) {
@@ -104,6 +103,9 @@ class ContractBuilder {
104
103
  return contractFn;
105
104
  }
106
105
  }
106
+ addTraitForEachFunctions(baseTrait, functions) {
107
+ Object.values(functions).forEach(fn => this.addTraitFunction(baseTrait, fn));
108
+ }
107
109
  // used for adding a function to a trait implementation block
108
110
  addTraitFunction(baseTrait, fn) {
109
111
  const t = this.addTraitImplBlock(baseTrait);
@@ -146,14 +148,16 @@ class ContractBuilder {
146
148
  }
147
149
  }
148
150
  addFunctionCodeBefore(fn, codeBefore, baseTrait) {
149
- var _a;
150
151
  const existingFn = this.getOrCreateFunction(fn, baseTrait);
151
- existingFn.codeBefore = [...((_a = existingFn.codeBefore) !== null && _a !== void 0 ? _a : []), ...codeBefore];
152
+ existingFn.codeBefore = [...(existingFn.codeBefore ?? []), ...codeBefore];
152
153
  }
153
154
  addFunctionTag(fn, tag, baseTrait) {
154
- var _a;
155
155
  const existingFn = this.getOrCreateFunction(fn, baseTrait);
156
- existingFn.tags = [...((_a = existingFn.tags) !== null && _a !== void 0 ? _a : []), tag];
156
+ existingFn.tags = [...(existingFn.tags ?? []), tag];
157
+ }
158
+ setFunctionCode(fn, code, baseTrait) {
159
+ const existingFn = this.getOrCreateFunction(fn, baseTrait);
160
+ existingFn.code = [...code];
157
161
  }
158
162
  addConstructorArgument(arg) {
159
163
  for (const existingArg of this.constructorArgs) {
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ export declare function isAccessControlRequired(opts: Partial<FungibleOptions>):
16
16
  export declare function buildFungible(opts: FungibleOptions): ContractBuilder;
17
17
  export declare const premintPattern: RegExp;
18
18
  /**
19
- * Calculates the initial supply that would be used in an Fungible contract based on a given premint amount and number of decimals.
19
+ * Calculates the initial supply that would be used in a Fungible contract based on a given premint amount and number of decimals.
20
20
  *
21
21
  * @param premint Premint amount in token units, may be fractional
22
22
  * @param decimals The number of decimals in the token
@@ -1 +1 @@
1
- {"version":3,"file":"fungible.d.ts","sourceRoot":"","sources":["../src/fungible.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAM7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAQ9D,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAUrC,CAAC;AAEX,wBAAgB,aAAa,CAAC,IAAI,GAAE,eAA0B,GAAG,MAAM,CAEtE;AAED,MAAM,WAAW,eAAgB,SAAQ,qBAAqB;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC,CAU7E;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAE/E;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CA+BpE;AAkGD,eAAO,MAAM,cAAc,QAAkB,CAAC;AAoB9C;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA+B1E;AAED,eAAO,MAAM,SAAS,sNA0FpB,CAAC"}
1
+ {"version":3,"file":"fungible.d.ts","sourceRoot":"","sources":["../src/fungible.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAM7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAS9D,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAWrC,CAAC;AAEX,wBAAgB,aAAa,CAAC,IAAI,GAAE,eAA0B,GAAG,MAAM,CAEtE;AAED,MAAM,WAAW,eAAgB,SAAQ,qBAAqB;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC,CAU7E;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAE/E;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CA+BpE;AAoHD,eAAO,MAAM,cAAc,QAAkB,CAAC;AAoB9C;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA+B1E;AAED,eAAO,MAAM,SAAS,sNA0FpB,CAAC"}
package/dist/fungible.js CHANGED
@@ -17,6 +17,7 @@ const error_1 = require("./error");
17
17
  const common_options_2 = require("./common-options");
18
18
  const print_1 = require("./print");
19
19
  const convert_strings_1 = require("./utils/convert-strings");
20
+ const wizard_common_1 = require("@openzeppelin/wizard-common");
20
21
  exports.defaults = {
21
22
  name: 'MyToken',
22
23
  symbol: 'MTK',
@@ -27,20 +28,20 @@ exports.defaults = {
27
28
  mintable: false,
28
29
  access: common_options_2.contractDefaults.access,
29
30
  info: common_options_2.contractDefaults.info,
31
+ explicitImplementations: common_options_2.contractDefaults.explicitImplementations,
30
32
  };
31
33
  function printFungible(opts = exports.defaults) {
32
34
  return (0, print_1.printContract)(buildFungible(opts));
33
35
  }
34
36
  function withDefaults(opts) {
35
- var _a, _b, _c, _d;
36
37
  return {
37
38
  ...opts,
38
39
  ...(0, common_options_1.withCommonContractDefaults)(opts),
39
- burnable: (_a = opts.burnable) !== null && _a !== void 0 ? _a : exports.defaults.burnable,
40
- pausable: (_b = opts.pausable) !== null && _b !== void 0 ? _b : exports.defaults.pausable,
41
- upgradeable: (_c = opts.upgradeable) !== null && _c !== void 0 ? _c : exports.defaults.upgradeable,
40
+ burnable: opts.burnable ?? exports.defaults.burnable,
41
+ pausable: opts.pausable ?? exports.defaults.pausable,
42
+ upgradeable: opts.upgradeable ?? exports.defaults.upgradeable,
42
43
  premint: opts.premint || exports.defaults.premint,
43
- mintable: (_d = opts.mintable) !== null && _d !== void 0 ? _d : exports.defaults.mintable,
44
+ mintable: opts.mintable ?? exports.defaults.mintable,
44
45
  };
45
46
  }
46
47
  function isAccessControlRequired(opts) {
@@ -49,46 +50,51 @@ function isAccessControlRequired(opts) {
49
50
  function buildFungible(opts) {
50
51
  const c = new contract_1.ContractBuilder(opts.name);
51
52
  const allOpts = withDefaults(opts);
52
- addBase(c, (0, convert_strings_1.toByteArray)(allOpts.name), (0, convert_strings_1.toByteArray)(allOpts.symbol), allOpts.pausable);
53
+ addBase(c, (0, convert_strings_1.toByteArray)(allOpts.name), (0, convert_strings_1.toByteArray)(allOpts.symbol), allOpts.pausable, allOpts.explicitImplementations);
53
54
  if (allOpts.premint) {
54
55
  addPremint(c, allOpts.premint);
55
56
  }
56
57
  if (allOpts.pausable) {
57
- (0, add_pausable_1.addPausable)(c, allOpts.access);
58
+ (0, add_pausable_1.addPausable)(c, allOpts.access, allOpts.explicitImplementations);
58
59
  }
59
60
  if (allOpts.upgradeable) {
60
- (0, add_upgradeable_1.addUpgradeable)(c, allOpts.access);
61
+ (0, add_upgradeable_1.addUpgradeable)(c, allOpts.access, allOpts.explicitImplementations);
61
62
  }
62
63
  if (allOpts.burnable) {
63
- addBurnable(c, allOpts.pausable);
64
+ addBurnable(c, allOpts.pausable, allOpts.explicitImplementations);
64
65
  }
65
66
  if (allOpts.mintable) {
66
- addMintable(c, allOpts.access, allOpts.pausable);
67
+ addMintable(c, allOpts.access, allOpts.pausable, allOpts.explicitImplementations);
67
68
  }
68
- (0, set_access_control_1.setAccessControl)(c, allOpts.access);
69
+ (0, set_access_control_1.setAccessControl)(c, allOpts.access, allOpts.explicitImplementations);
69
70
  (0, set_info_1.setInfo)(c, allOpts.info);
70
71
  return c;
71
72
  }
72
- function addBase(c, name, symbol, pausable) {
73
+ function addBase(c, name, symbol, pausable, explicitImplementations) {
73
74
  // Set metadata
74
75
  c.addConstructorCode(`Base::set_metadata(e, 18, String::from_str(e, "${name}"), String::from_str(e, "${symbol}"));`);
75
76
  // Set token functions
76
77
  c.addUseClause('stellar_tokens::fungible', 'Base');
77
78
  c.addUseClause('stellar_tokens::fungible', 'FungibleToken');
78
- c.addUseClause('stellar_macros', 'default_impl');
79
+ if (!explicitImplementations)
80
+ c.addUseClause('stellar_macros', 'default_impl');
79
81
  c.addUseClause('soroban_sdk', 'contract');
80
82
  c.addUseClause('soroban_sdk', 'contractimpl');
81
83
  c.addUseClause('soroban_sdk', 'String');
82
84
  c.addUseClause('soroban_sdk', 'Env');
85
+ if (explicitImplementations || pausable) {
86
+ c.addUseClause('soroban_sdk', 'Address');
87
+ }
83
88
  const fungibleTokenTrait = {
84
89
  traitName: 'FungibleToken',
85
90
  structName: c.name,
86
- tags: ['default_impl', 'contractimpl'],
91
+ tags: explicitImplementations ? ['contractimpl'] : ['default_impl', 'contractimpl'],
87
92
  assocType: 'type ContractType = Base;',
88
93
  };
89
94
  c.addTraitImplBlock(fungibleTokenTrait);
95
+ if (explicitImplementations)
96
+ c.addTraitForEachFunctions(fungibleTokenTrait, fungibleTokenTraitFunctions);
90
97
  if (pausable) {
91
- c.addUseClause('soroban_sdk', 'Address');
92
98
  c.addUseClause('stellar_macros', 'when_not_paused');
93
99
  c.addTraitFunction(fungibleTokenTrait, exports.functions.transfer);
94
100
  c.addFunctionTag(exports.functions.transfer, 'when_not_paused', fungibleTokenTrait);
@@ -96,14 +102,14 @@ function addBase(c, name, symbol, pausable) {
96
102
  c.addFunctionTag(exports.functions.transfer_from, 'when_not_paused', fungibleTokenTrait);
97
103
  }
98
104
  }
99
- function addMintable(c, access, pausable) {
105
+ function addMintable(c, access, pausable, explicitImplementations) {
100
106
  c.addUseClause('soroban_sdk', 'Address');
101
107
  switch (access) {
102
108
  case false:
103
109
  break;
104
110
  case 'ownable': {
105
111
  c.addFreeFunction(exports.functions.mint);
106
- (0, set_access_control_1.requireAccessControl)(c, undefined, exports.functions.mint, access);
112
+ (0, set_access_control_1.requireAccessControl)(c, undefined, exports.functions.mint, access, undefined, explicitImplementations);
107
113
  if (pausable) {
108
114
  c.addFunctionTag(exports.functions.mint, 'when_not_paused');
109
115
  }
@@ -115,7 +121,7 @@ function addMintable(c, access, pausable) {
115
121
  useMacro: true,
116
122
  caller: 'caller',
117
123
  role: 'minter',
118
- });
124
+ }, explicitImplementations);
119
125
  if (pausable) {
120
126
  c.addFunctionTag(exports.functions.mint_with_caller, 'when_not_paused');
121
127
  }
@@ -127,7 +133,7 @@ function addMintable(c, access, pausable) {
127
133
  }
128
134
  }
129
135
  }
130
- function addBurnable(c, pausable) {
136
+ function addBurnable(c, pausable, explicitImplementations) {
131
137
  c.addUseClause('stellar_tokens::fungible', 'burnable::FungibleBurnable');
132
138
  c.addUseClause('soroban_sdk', 'Address');
133
139
  const fungibleBurnableTrait = {
@@ -143,6 +149,8 @@ function addBurnable(c, pausable) {
143
149
  c.addTraitFunction(fungibleBurnableTrait, exports.functions.burn_from);
144
150
  c.addFunctionTag(exports.functions.burn_from, 'when_not_paused', fungibleBurnableTrait);
145
151
  }
152
+ else if (explicitImplementations)
153
+ c.addTraitForEachFunctions(fungibleBurnableTrait, fungibleBurnableFunctions);
146
154
  else {
147
155
  // prepend '#[default_impl]'
148
156
  fungibleBurnableTrait.tags.unshift('default_impl');
@@ -165,7 +173,7 @@ function addPremint(c, amount) {
165
173
  }
166
174
  }
167
175
  /**
168
- * Calculates the initial supply that would be used in an Fungible contract based on a given premint amount and number of decimals.
176
+ * Calculates the initial supply that would be used in a Fungible contract based on a given premint amount and number of decimals.
169
177
  *
170
178
  * @param premint Premint amount in token units, may be fractional
171
179
  * @param decimals The number of decimals in the token
@@ -173,7 +181,6 @@ function addPremint(c, amount) {
173
181
  * @throws OptionsError if `premint` has more than one decimal character or is more precise than allowed by the `decimals` argument.
174
182
  */
175
183
  function getInitialSupply(premint, decimals) {
176
- var _a, _b;
177
184
  let result;
178
185
  const premintSegments = premint.split('.');
179
186
  if (premintSegments.length > 2) {
@@ -182,13 +189,13 @@ function getInitialSupply(premint, decimals) {
182
189
  });
183
190
  }
184
191
  else {
185
- const firstSegment = (_a = premintSegments[0]) !== null && _a !== void 0 ? _a : '';
186
- let lastSegment = (_b = premintSegments[1]) !== null && _b !== void 0 ? _b : '';
192
+ const firstSegment = premintSegments[0] ?? '';
193
+ let lastSegment = premintSegments[1] ?? '';
187
194
  if (decimals > lastSegment.length) {
188
195
  try {
189
196
  lastSegment += '0'.repeat(decimals - lastSegment.length);
190
197
  }
191
- catch (_c) {
198
+ catch {
192
199
  // .repeat gives an error if decimals number is too large
193
200
  throw new error_1.OptionsError({
194
201
  premint: 'Decimals number too large',
@@ -298,4 +305,16 @@ exports.functions = (0, define_functions_1.defineFunctions)({
298
305
  code: ['Base::mint(e, &account, amount);'],
299
306
  },
300
307
  });
308
+ const fungibleTokenTraitFunctions = (0, wizard_common_1.pickKeys)(exports.functions, [
309
+ 'total_supply',
310
+ 'balance',
311
+ 'allowance',
312
+ 'transfer',
313
+ 'transfer_from',
314
+ 'approve',
315
+ 'decimals',
316
+ 'name',
317
+ 'symbol',
318
+ ]);
319
+ const fungibleBurnableFunctions = (0, wizard_common_1.pickKeys)(exports.functions, ['burn', 'burn_from']);
301
320
  //# sourceMappingURL=fungible.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fungible.js","sourceRoot":"","sources":["../src/fungible.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fungible.js","sourceRoot":"","sources":["../src/fungible.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ function* generateAlternatives(blueprint) {
13
13
  }
14
14
  function done() {
15
15
  const last = entries[entries.length - 1];
16
- return (last === null || last === void 0 ? void 0 : last.current) === (last === null || last === void 0 ? void 0 : last.limit);
16
+ return last?.current === last?.limit;
17
17
  }
18
18
  function advance() {
19
19
  for (const e of entries) {
@@ -1 +1 @@
1
- {"version":3,"file":"alternatives.js","sourceRoot":"","sources":["../../src/generate/alternatives.ts"],"names":[],"mappings":";;AAMA,oDAyBC;AAzBD,QAAe,CAAC,CAAC,oBAAoB,CAAsB,SAAY;IACrE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAChE,GAAG;QACH,MAAM;QACN,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,MAAM,CAAC,MAAM;KACrB,CAAC,CAAC,CAAC;IAEJ,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC;QAC1B,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAoB,CAAC;IACxG,CAAC;IAED,SAAS,IAAI;QACX,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,OAAK,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAA,CAAC;IACvC,CAAC;IAED,SAAS,OAAO;QACd,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;gBACxB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"alternatives.js","sourceRoot":"","sources":["../../src/generate/alternatives.ts"],"names":[],"mappings":";;AAMA,oDAyBC;AAzBD,QAAe,CAAC,CAAC,oBAAoB,CAAsB,SAAY;IACrE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAChE,GAAG;QACH,MAAM;QACN,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,MAAM,CAAC,MAAM;KACrB,CAAC,CAAC,CAAC;IAEJ,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC;QAC1B,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAoB,CAAC;IACxG,CAAC;IAED,SAAS,IAAI;QACX,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,EAAE,OAAO,KAAK,IAAI,EAAE,KAAK,CAAC;IACvC,CAAC;IAED,SAAS,OAAO;QACd,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;gBACxB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fungible.d.ts","sourceRoot":"","sources":["../../src/generate/fungible.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAmBnD,wBAAiB,uBAAuB,IAAI,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAE/E"}
1
+ {"version":3,"file":"fungible.d.ts","sourceRoot":"","sources":["../../src/generate/fungible.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAoBnD,wBAAiB,uBAAuB,IAAI,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAE/E"}
@@ -15,6 +15,7 @@ const blueprint = {
15
15
  premint: ['1'],
16
16
  access: set_access_control_1.accessOptions,
17
17
  info: set_info_1.infoOptions,
18
+ explicitImplementations: booleans,
18
19
  };
19
20
  function* generateFungibleOptions() {
20
21
  yield* (0, alternatives_1.generateAlternatives)(blueprint);
@@ -1 +1 @@
1
- {"version":3,"file":"fungible.js","sourceRoot":"","sources":["../../src/generate/fungible.ts"],"names":[],"mappings":";;AAmBA,0DAEC;AApBD,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,QAAQ;IAClB,QAAQ,EAAE,QAAQ;IAClB,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,CAAC,GAAG,CAAC;IACd,MAAM,EAAE,kCAAa;IACrB,IAAI,EAAE,sBAAW;CAClB,CAAC;AAEF,QAAe,CAAC,CAAC,uBAAuB;IACtC,KAAK,CAAC,CAAC,IAAA,mCAAoB,EAAC,SAAS,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"fungible.js","sourceRoot":"","sources":["../../src/generate/fungible.ts"],"names":[],"mappings":";;AAoBA,0DAEC;AArBD,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,QAAQ;IAClB,QAAQ,EAAE,QAAQ;IAClB,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,CAAC,GAAG,CAAC;IACd,MAAM,EAAE,kCAAa;IACrB,IAAI,EAAE,sBAAW;IACjB,uBAAuB,EAAE,QAAQ;CAClC,CAAC;AAEF,QAAe,CAAC,CAAC,uBAAuB;IACtC,KAAK,CAAC,CAAC,IAAA,mCAAoB,EAAC,SAAS,CAAC,CAAC;AACzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"non-fungible.d.ts","sourceRoot":"","sources":["../../src/generate/non-fungible.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAqB1D,wBAAiB,0BAA0B,IAAI,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAErF"}
1
+ {"version":3,"file":"non-fungible.d.ts","sourceRoot":"","sources":["../../src/generate/non-fungible.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAuB1D,wBAAiB,0BAA0B,IAAI,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAErF"}
@@ -8,6 +8,7 @@ const booleans = [true, false];
8
8
  const blueprint = {
9
9
  name: ['MyToken'],
10
10
  symbol: ['MTK'],
11
+ tokenUri: ['https://www.mytoken.com'],
11
12
  burnable: booleans,
12
13
  pausable: booleans,
13
14
  upgradeable: booleans,
@@ -17,6 +18,7 @@ const blueprint = {
17
18
  mintable: booleans,
18
19
  access: set_access_control_1.accessOptions,
19
20
  info: set_info_1.infoOptions,
21
+ explicitImplementations: booleans,
20
22
  };
21
23
  function* generateNonFungibleOptions() {
22
24
  yield* (0, alternatives_1.generateAlternatives)(blueprint);
@@ -1 +1 @@
1
- {"version":3,"file":"non-fungible.js","sourceRoot":"","sources":["../../src/generate/non-fungible.ts"],"names":[],"mappings":";;AAqBA,gEAEC;AAtBD,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,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;CAClB,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":";;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 +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;AAoB3E,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;AAqB3E,wBAAiB,yBAAyB,IAAI,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAEnF"}