@openzeppelin/wizard-stellar 0.6.4 → 0.7.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/dist/account.d.ts.map +1 -1
  2. package/dist/account.js +18 -4
  3. package/dist/account.js.map +1 -1
  4. package/dist/add-votes.d.ts +3 -0
  5. package/dist/add-votes.d.ts.map +1 -0
  6. package/dist/add-votes.js +53 -0
  7. package/dist/add-votes.js.map +1 -0
  8. package/dist/fungible.d.ts +13 -2
  9. package/dist/fungible.d.ts.map +1 -1
  10. package/dist/fungible.js +147 -77
  11. package/dist/fungible.js.map +1 -1
  12. package/dist/generate/fungible.d.ts.map +1 -1
  13. package/dist/generate/fungible.js +2 -0
  14. package/dist/generate/fungible.js.map +1 -1
  15. package/dist/generate/non-fungible.d.ts.map +1 -1
  16. package/dist/generate/non-fungible.js +2 -0
  17. package/dist/generate/non-fungible.js.map +1 -1
  18. package/dist/generate/stablecoin.d.ts.map +1 -1
  19. package/dist/generate/stablecoin.js +2 -0
  20. package/dist/generate/stablecoin.js.map +1 -1
  21. package/dist/governor.d.ts.map +1 -1
  22. package/dist/governor.js +9 -1
  23. package/dist/governor.js.map +1 -1
  24. package/dist/non-fungible.d.ts +2 -0
  25. package/dist/non-fungible.d.ts.map +1 -1
  26. package/dist/non-fungible.js +152 -126
  27. package/dist/non-fungible.js.map +1 -1
  28. package/dist/print.js +16 -1
  29. package/dist/print.js.map +1 -1
  30. package/dist/stablecoin.d.ts.map +1 -1
  31. package/dist/stablecoin.js +6 -31
  32. package/dist/stablecoin.js.map +1 -1
  33. package/dist/utils/compose.d.ts +6 -0
  34. package/dist/utils/compose.d.ts.map +1 -0
  35. package/dist/utils/compose.js +12 -0
  36. package/dist/utils/compose.js.map +1 -0
  37. package/dist/utils/version.d.ts +4 -4
  38. package/dist/utils/version.js +3 -3
  39. package/dist/vault.d.ts +1 -1
  40. package/dist/vault.d.ts.map +1 -1
  41. package/dist/vault.js +27 -7
  42. package/dist/vault.js.map +1 -1
  43. package/dist/zip-shared.d.ts.map +1 -1
  44. package/dist/zip-shared.js +4 -3
  45. package/dist/zip-shared.js.map +1 -1
  46. package/package.json +1 -1
  47. package/src/account.ts +18 -4
  48. package/src/add-votes.ts +53 -0
  49. package/src/fungible.ts +171 -86
  50. package/src/generate/fungible.ts +2 -0
  51. package/src/generate/non-fungible.ts +2 -0
  52. package/src/generate/stablecoin.ts +2 -0
  53. package/src/governor.ts +10 -1
  54. package/src/non-fungible.ts +182 -143
  55. package/src/print.ts +14 -1
  56. package/src/stablecoin.ts +9 -37
  57. package/src/utils/compose.ts +8 -0
  58. package/src/utils/version.ts +3 -3
  59. package/src/vault.ts +32 -7
  60. package/src/zip-shared.ts +4 -3
@@ -9,7 +9,6 @@ const fungible_1 = require("./fungible");
9
9
  const print_1 = require("./print");
10
10
  const set_access_control_1 = require("./set-access-control");
11
11
  const define_functions_1 = require("./utils/define-functions");
12
- const error_1 = require("./error");
13
12
  exports.defaults = {
14
13
  ...fungible_1.defaults,
15
14
  name: 'MyStablecoin',
@@ -17,6 +16,10 @@ exports.defaults = {
17
16
  limitations: false,
18
17
  };
19
18
  exports.limitationsOptions = [false, 'allowlist', 'blocklist'];
19
+ const transferPolicies = {
20
+ allowlist: 'AllowList',
21
+ blocklist: 'BlockList',
22
+ };
20
23
  function printStablecoin(opts = exports.defaults) {
21
24
  return (0, print_1.printContract)(buildStablecoin(opts));
22
25
  }
@@ -33,13 +36,8 @@ function isAccessControlRequired(opts) {
33
36
  }
34
37
  function buildStablecoin(opts) {
35
38
  const allOpts = withDefaults(opts);
36
- if (allOpts.votes && allOpts.limitations) {
37
- throw new error_1.OptionsError({
38
- votes: 'Votes extension cannot be used with stablecoin limitations',
39
- limitations: 'Stablecoin limitations cannot be used with Votes extension',
40
- });
41
- }
42
- const c = (0, fungible_1.buildFungible)(allOpts);
39
+ const transferPolicy = allOpts.limitations ? transferPolicies[allOpts.limitations] : undefined;
40
+ const c = (0, fungible_1.buildFungibleWithTransferPolicy)(allOpts, transferPolicy);
43
41
  if (allOpts.limitations) {
44
42
  addLimitations(c, allOpts.access, allOpts.limitations, allOpts.explicitImplementations);
45
43
  }
@@ -55,14 +53,10 @@ function addLimitations(c, access, mode, explicitImplementations) {
55
53
  };
56
54
  if (type) {
57
55
  c.addUseClause('stellar_tokens::fungible', 'allowlist::{AllowList, FungibleAllowList}');
58
- c.overrideAssocType('FungibleToken', 'type ContractType = AllowList;');
59
56
  }
60
57
  else {
61
58
  c.addUseClause('stellar_tokens::fungible', 'blocklist::{BlockList, FungibleBlockList}');
62
- c.overrideAssocType('FungibleToken', 'type ContractType = BlockList;');
63
59
  }
64
- if (explicitImplementations)
65
- overrideFungibleReadonlyFunctionsWithBase(c);
66
60
  const [getterFn, addFn, removeFn] = type
67
61
  ? [functions.allowed, functions.allow_user, functions.disallow_user]
68
62
  : [functions.blocked, functions.block_user, functions.unblock_user];
@@ -77,25 +71,6 @@ function addLimitations(c, access, mode, explicitImplementations) {
77
71
  c.addTraitFunction(limitationsTrait, removeFn);
78
72
  (0, set_access_control_1.requireAccessControl)(c, limitationsTrait, removeFn, access, accessProps, explicitImplementations);
79
73
  }
80
- function overrideFungibleReadonlyFunctionsWithBase(c) {
81
- c.addUseClause('stellar_tokens::fungible', 'ContractOverrides');
82
- const fungibleTokenTrait = {
83
- traitName: 'FungibleToken',
84
- structName: c.name,
85
- tags: [],
86
- };
87
- const overrides = [
88
- [fungible_1.functions.total_supply, ['Self::ContractType::total_supply(e)']],
89
- [fungible_1.functions.balance, ['Self::ContractType::balance(e, &account)']],
90
- [fungible_1.functions.allowance, ['Self::ContractType::allowance(e, &owner, &spender)']],
91
- [fungible_1.functions.decimals, ['Self::ContractType::decimals(e)']],
92
- [fungible_1.functions.name, ['Self::ContractType::name(e)']],
93
- [fungible_1.functions.symbol, ['Self::ContractType::symbol(e)']],
94
- ];
95
- for (const [fn, code] of overrides) {
96
- c.setFunctionCode(fn, code, fungibleTokenTrait);
97
- }
98
- }
99
74
  const functions = {
100
75
  ...fungible_1.functions,
101
76
  ...(0, define_functions_1.defineFunctions)({
@@ -1 +1 @@
1
- {"version":3,"file":"stablecoin.js","sourceRoot":"","sources":["../src/stablecoin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stablecoin.js","sourceRoot":"","sources":["../src/stablecoin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Prints the `ContractType` associated type of a token trait, composed from the
3
+ * listed contract types with the library's `Compose` (e.g. `Compose<(AllowList, TotalSupply)>`).
4
+ */
5
+ export declare function printComposedContractType(contractTypes: string[]): string;
6
+ //# sourceMappingURL=compose.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/utils/compose.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,CAGzE"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.printComposedContractType = printComposedContractType;
4
+ /**
5
+ * Prints the `ContractType` associated type of a token trait, composed from the
6
+ * listed contract types with the library's `Compose` (e.g. `Compose<(AllowList, TotalSupply)>`).
7
+ */
8
+ function printComposedContractType(contractTypes) {
9
+ const list = contractTypes.length === 1 ? `${contractTypes[0]},` : contractTypes.join(', ');
10
+ return `type ContractType = Compose<(${list})>;`;
11
+ }
12
+ //# sourceMappingURL=compose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/utils/compose.ts"],"names":[],"mappings":";;AAIA,8DAGC;AAPD;;;GAGG;AACH,SAAgB,yBAAyB,CAAC,aAAuB;IAC/D,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5F,OAAO,gCAAgC,IAAI,KAAK,CAAC;AACnD,CAAC"}
@@ -1,14 +1,14 @@
1
1
  /**
2
2
  * The actual latest version to use in links.
3
3
  */
4
- export declare const contractsVersion = "0.7.2";
5
- export declare const contractsVersionTag = "v0.7.2";
4
+ export declare const contractsVersion = "0.8.0";
5
+ export declare const contractsVersionTag = "v0.8.0";
6
6
  /**
7
7
  * Semantic version string representing of the minimum compatible version of Contracts to display in output.
8
8
  */
9
- export declare const compatibleContractsSemver = "^0.7.2";
9
+ export declare const compatibleContractsSemver = "^0.8.0";
10
10
  /**
11
11
  * The Soroban version for which compilation and testing have passing tests
12
12
  */
13
- export declare const compatibleSorobanVersion = "26.1.0";
13
+ export declare const compatibleSorobanVersion = "28.0.0";
14
14
  //# sourceMappingURL=version.d.ts.map
@@ -4,14 +4,14 @@ exports.compatibleSorobanVersion = exports.compatibleContractsSemver = exports.c
4
4
  /**
5
5
  * The actual latest version to use in links.
6
6
  */
7
- exports.contractsVersion = '0.7.2';
7
+ exports.contractsVersion = '0.8.0';
8
8
  exports.contractsVersionTag = `v${exports.contractsVersion}`;
9
9
  /**
10
10
  * Semantic version string representing of the minimum compatible version of Contracts to display in output.
11
11
  */
12
- exports.compatibleContractsSemver = '^0.7.2';
12
+ exports.compatibleContractsSemver = '^0.8.0';
13
13
  /**
14
14
  * The Soroban version for which compilation and testing have passing tests
15
15
  */
16
- exports.compatibleSorobanVersion = '26.1.0';
16
+ exports.compatibleSorobanVersion = '28.0.0';
17
17
  //# sourceMappingURL=version.js.map
package/dist/vault.d.ts CHANGED
@@ -12,5 +12,5 @@ export interface VaultOptions extends CommonContractOptions {
12
12
  export declare function withDefaults(opts: VaultOptions): Required<VaultOptions>;
13
13
  export declare function isAccessControlRequired(opts: Partial<VaultOptions>): boolean;
14
14
  export declare function buildVault(opts: VaultOptions): ContractBuilder;
15
- export declare const functions: Record<"symbol" | "name" | "decimals" | "total_supply" | "balance" | "allowance" | "transfer" | "transfer_from" | "approve" | "mint" | "query_asset" | "total_assets" | "convert_to_shares" | "convert_to_assets" | "max_deposit" | "preview_deposit" | "deposit" | "max_mint" | "preview_mint" | "max_withdraw" | "preview_withdraw" | "withdraw" | "max_redeem" | "preview_redeem" | "redeem", import("./contract").BaseFunction>;
15
+ export declare const functions: Record<"symbol" | "name" | "decimals" | "balance" | "allowance" | "transfer" | "transfer_from" | "approve" | "total_supply" | "mint" | "query_asset" | "total_assets" | "convert_to_shares" | "convert_to_assets" | "max_deposit" | "preview_deposit" | "deposit" | "max_mint" | "preview_mint" | "max_withdraw" | "preview_withdraw" | "withdraw" | "max_redeem" | "preview_redeem" | "redeem", import("./contract").BaseFunction>;
16
16
  //# sourceMappingURL=vault.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../src/vault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAM7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAa9D,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,YAAY,CASlC,CAAC;AAEX,wBAAgB,UAAU,CAAC,IAAI,GAAE,YAAuB,GAAG,MAAM,CAEhE;AAED,MAAM,WAAW,YAAa,SAAQ,qBAAqB;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,CAQvE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAE5E;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,eAAe,CA0C9D;AA+ED,eAAO,MAAM,SAAS,qaAyKpB,CAAC"}
1
+ {"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../src/vault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAM7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAc9D,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,YAAY,CASlC,CAAC;AAEX,wBAAgB,UAAU,CAAC,IAAI,GAAE,YAAuB,GAAG,MAAM,CAEhE;AAED,MAAM,WAAW,YAAa,SAAQ,qBAAqB;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,CAQvE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAE5E;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,eAAe,CA0C9D;AAsGD,eAAO,MAAM,SAAS,qaA2KpB,CAAC"}
package/dist/vault.js CHANGED
@@ -15,6 +15,7 @@ const set_info_1 = require("./set-info");
15
15
  const common_options_2 = require("./common-options");
16
16
  const print_1 = require("./print");
17
17
  const convert_strings_1 = require("./utils/convert-strings");
18
+ const compose_1 = require("./utils/compose");
18
19
  const error_1 = require("./error");
19
20
  const wizard_common_1 = require("@openzeppelin/wizard-common");
20
21
  // Upper bound enforced by the library's `Vault::set_decimals_offset`
@@ -83,7 +84,13 @@ function addBase(c, name, symbol, decimalsOffset, pausable, explicitImplementati
83
84
  c.addConstructorCode(`Base::set_metadata(e, Self::decimals(e), String::from_str(e, "${name}"), String::from_str(e, "${symbol}"));`);
84
85
  // Set token functions
85
86
  c.addUseClause('stellar_tokens::fungible', 'Base');
87
+ c.addUseClause('stellar_tokens::fungible', 'Compose');
86
88
  c.addUseClause('stellar_tokens::fungible', 'FungibleToken');
89
+ // `Vault` provides the total supply only through the `TotalSupplyOverrides` trait, which the
90
+ // explicitly implemented `total_supply` needs in scope.
91
+ c.addUseClause('stellar_tokens::fungible', explicitImplementations
92
+ ? 'total_supply::{FungibleTotalSupply, TotalSupply, TotalSupplyOverrides}'
93
+ : 'total_supply::{FungibleTotalSupply, TotalSupply}');
87
94
  c.addUseClause('stellar_tokens::vault', 'FungibleVault');
88
95
  c.addUseClause('stellar_tokens::vault', 'Vault');
89
96
  // The base token functions we emit delegate to `Self::ContractType::...`,
@@ -102,7 +109,8 @@ function addBase(c, name, symbol, decimalsOffset, pausable, explicitImplementati
102
109
  traitName: 'FungibleToken',
103
110
  structName: c.name,
104
111
  tags: explicitImplementations ? ['contractimpl'] : ['contractimpl(contracttrait)'],
105
- assocType: 'type ContractType = Vault;',
112
+ // The vault tracks the share supply, which the library requires to be stated with `TotalSupply`.
113
+ assocType: (0, compose_1.printComposedContractType)(['Vault', 'TotalSupply']),
106
114
  };
107
115
  c.addTraitImplBlock(fungibleTokenTrait);
108
116
  if (explicitImplementations) {
@@ -120,6 +128,18 @@ function addBase(c, name, symbol, decimalsOffset, pausable, explicitImplementati
120
128
  c.addTraitFunction(fungibleTokenTrait, exports.functions.transfer_from);
121
129
  c.addFunctionTag(exports.functions.transfer_from, 'when_not_paused', fungibleTokenTrait);
122
130
  }
131
+ const fungibleTotalSupplyTrait = {
132
+ traitName: 'FungibleTotalSupply',
133
+ structName: c.name,
134
+ tags: explicitImplementations ? ['contractimpl'] : ['contractimpl(contracttrait)'],
135
+ section: 'Extensions',
136
+ };
137
+ if (explicitImplementations) {
138
+ c.addTraitFunction(fungibleTotalSupplyTrait, exports.functions.total_supply);
139
+ }
140
+ else {
141
+ c.addTraitImplBlock(fungibleTotalSupplyTrait);
142
+ }
123
143
  const fungibleVaultTrait = {
124
144
  traitName: 'FungibleVault',
125
145
  structName: c.name,
@@ -135,11 +155,6 @@ function addBase(c, name, symbol, decimalsOffset, pausable, explicitImplementati
135
155
  }
136
156
  exports.functions = (0, define_functions_1.defineFunctions)({
137
157
  // FungibleToken Trait
138
- total_supply: {
139
- args: [(0, common_options_1.getSelfArg)()],
140
- returns: 'i128',
141
- code: ['Self::ContractType::total_supply(e)'],
142
- },
143
158
  balance: {
144
159
  args: [(0, common_options_1.getSelfArg)(), { name: 'account', type: 'Address' }],
145
160
  returns: 'i128',
@@ -196,6 +211,12 @@ exports.functions = (0, define_functions_1.defineFunctions)({
196
211
  returns: 'String',
197
212
  code: ['Self::ContractType::symbol(e)'],
198
213
  },
214
+ // FungibleTotalSupply Trait
215
+ total_supply: {
216
+ args: [(0, common_options_1.getSelfArg)()],
217
+ returns: 'i128',
218
+ code: ['Self::ContractType::total_supply(e)'],
219
+ },
199
220
  // FungibleVault Trait
200
221
  query_asset: {
201
222
  args: [(0, common_options_1.getSelfArg)()],
@@ -303,7 +324,6 @@ exports.functions = (0, define_functions_1.defineFunctions)({
303
324
  },
304
325
  });
305
326
  const fungibleTokenTraitFunctions = (0, wizard_common_1.pickKeys)(exports.functions, [
306
- 'total_supply',
307
327
  'balance',
308
328
  'allowance',
309
329
  'transfer',
package/dist/vault.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vault.js","sourceRoot":"","sources":["../src/vault.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vault.js","sourceRoot":"","sources":["../src/vault.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"zip-shared.d.ts","sourceRoot":"","sources":["../src/zip-shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,iBAAS,iBAAiB,CAAC,MAAM,EAAE,MAAM,UAKxC;AAED,eAAO,MAAM,6BAA6B,0BAAoB,CAAC;AAE/D,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,GAAG,MAAM,EAAE,CAI7E;AAED,eAAO,MAAM,iBAAiB,GAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAAC,WAqB9E,CAAC;AAOF,eAAO,MAAM,kBAAkB,GAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAAC,WAuD/E,CAAC;AAOF,QAAA,MAAM,eAAe;;;;;;;;;;;CAWX,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,eAAe,GAAG,KAAK,CAAC;AA2HjE,eAAO,MAAM,oBAAoB,GAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAAC,EAAE,QAAQ,aAAa,WAuFxG,CAAC;AAkBF,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,MAAM,EAAE,CAGpF;AAED,eAAO,MAAM,mBAAmB,GAAI,iBAAiB,MAAM,EAAE,mBAAmB,MAAM,EAAE,WACG,CAAC;AAE5F,eAAO,MAAM,kBAAkB,GAAI,sBAAsB,MAAM,EAAE,iBAAiB,SAAS,MAAM,EAAE,WAiBT,CAAC;AAE3F,eAAO,MAAM,iBAAiB,mEAK7B,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,iBAAiB,SAAS,MAAM,EAAE,WA0BhE,CAAC"}
1
+ {"version":3,"file":"zip-shared.d.ts","sourceRoot":"","sources":["../src/zip-shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,iBAAS,iBAAiB,CAAC,MAAM,EAAE,MAAM,UAKxC;AAED,eAAO,MAAM,6BAA6B,0BAAoB,CAAC;AAE/D,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,GAAG,MAAM,EAAE,CAI7E;AAED,eAAO,MAAM,iBAAiB,GAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAAC,WAqB9E,CAAC;AAOF,eAAO,MAAM,kBAAkB,GAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAAC,WAwD/E,CAAC;AAOF,QAAA,MAAM,eAAe;;;;;;;;;;;CAWX,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,eAAe,GAAG,KAAK,CAAC;AA2HjE,eAAO,MAAM,oBAAoB,GAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAAC,EAAE,QAAQ,aAAa,WAuFxG,CAAC;AAkBF,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,MAAM,EAAE,CAGpF;AAED,eAAO,MAAM,mBAAmB,GAAI,iBAAiB,MAAM,EAAE,mBAAmB,MAAM,EAAE,WACG,CAAC;AAE5F,eAAO,MAAM,kBAAkB,GAAI,sBAAsB,MAAM,EAAE,iBAAiB,SAAS,MAAM,EAAE,WAiBT,CAAC;AAE3F,eAAO,MAAM,iBAAiB,mEAK7B,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,iBAAiB,SAAS,MAAM,EAAE,WA0BhE,CAAC"}
@@ -54,7 +54,7 @@ extern crate std;
54
54
  use soroban_sdk::{
55
55
  contract, contractimpl, testutils::Address as _, Address, Env, MuxedAddress, String,
56
56
  };
57
- use stellar_tokens::fungible::{Base, FungibleToken};
57
+ use stellar_tokens::fungible::{Base, Compose, FungibleToken};
58
58
 
59
59
  use crate::contract::{ ${c.name}, ${c.name}Client };
60
60
 
@@ -71,13 +71,13 @@ impl MockAssetContract {
71
71
  String::from_str(e, "Mock Asset Token"),
72
72
  String::from_str(e, "MAT"),
73
73
  );
74
- Base::mint(e, &admin, initial_supply);
74
+ <Self as FungibleToken>::ContractType::mint(e, &admin, initial_supply);
75
75
  }
76
76
  }
77
77
 
78
78
  #[contractimpl(contracttrait)]
79
79
  impl FungibleToken for MockAssetContract {
80
- type ContractType = Base;
80
+ type ContractType = Compose<(Base,)>;
81
81
  }
82
82
 
83
83
  #[test]
@@ -92,6 +92,7 @@ fn initial_state() {
92
92
 
93
93
  assert_eq!(client.query_asset(), asset_address);
94
94
  assert_eq!(client.name(), String::from_str(&env, "${c.name}"));
95
+ assert_eq!(client.total_supply(), 0);
95
96
  }
96
97
 
97
98
  // Add more tests bellow
@@ -1 +1 @@
1
- {"version":3,"file":"zip-shared.js","sourceRoot":"","sources":["../src/zip-shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zip-shared.js","sourceRoot":"","sources":["../src/zip-shared.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openzeppelin/wizard-stellar",
3
- "version": "0.6.4",
3
+ "version": "0.7.0",
4
4
  "description": "A boilerplate generator to get started with OpenZeppelin Stellar Soroban Contracts",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": "https://github.com/OpenZeppelin/contracts-wizard",
package/src/account.ts CHANGED
@@ -117,6 +117,7 @@ function addBase(c: ContractBuilder, opts: Required<AccountOptions>) {
117
117
  c.addUseClause('soroban_sdk', 'contract');
118
118
  c.addUseClause('soroban_sdk', 'contractimpl');
119
119
  c.addUseClause('soroban_sdk', 'Address');
120
+ c.addUseClause('soroban_sdk', 'BytesN');
120
121
  c.addUseClause('soroban_sdk', 'Env');
121
122
  c.addUseClause('soroban_sdk', 'Map');
122
123
  c.addUseClause('soroban_sdk', 'String');
@@ -126,10 +127,11 @@ function addBase(c: ContractBuilder, opts: Required<AccountOptions>) {
126
127
  c.addUseClause('soroban_sdk::auth', 'CustomAccountInterface');
127
128
  c.addUseClause('soroban_sdk::crypto', 'Hash');
128
129
  c.addUseClause('stellar_accounts::smart_account', 'self', { alias: 'smart_account' });
130
+ // `ContextRule` and `AuthDigestPreimage`/`BytesN` appear in the signatures of
131
+ // `SmartAccount` methods (e.g. `auth_digest`), which the contracttrait macro
132
+ // needs in scope even though the generated code never names them.
133
+ c.addUseClause('stellar_accounts::smart_account', 'AuthDigestPreimage');
129
134
  c.addUseClause('stellar_accounts::smart_account', 'AuthPayload');
130
- // `ContextRule` is the return type of several `SmartAccount` methods, which the
131
- // contracttrait macro needs in scope even though the generated code never
132
- // names it.
133
135
  c.addUseClause('stellar_accounts::smart_account', 'ContextRule');
134
136
  c.addUseClause('stellar_accounts::smart_account', 'ContextRuleType');
135
137
  c.addUseClause('stellar_accounts::smart_account', 'Signer');
@@ -143,7 +145,19 @@ function addBase(c: ContractBuilder, opts: Required<AccountOptions>) {
143
145
 
144
146
  if (opts.delegatedSigners) {
145
147
  signerArgs.push('delegated_signers');
146
- c.addConstructorArgument({ name: 'delegated_signers', type: 'Vec<Address>' });
148
+ // The library rejects a delegated signer that is the account itself or the
149
+ // contract of an authorized context, but cannot detect this case.
150
+ c.addConstructorArgument({
151
+ name: 'delegated_signers',
152
+ type: 'Vec<Address>',
153
+ comment: [
154
+ 'A delegated signer must not delegate its own authentication back to this',
155
+ 'account, through `delegate_auth` (CAP-71) or by calling `require_auth` on',
156
+ 'this account from its `__check_auth`, unless it is another smart account',
157
+ 'built on OpenZeppelin Stellar Contracts. Otherwise, one of the two',
158
+ 'accounts can be authorized without any key.',
159
+ ],
160
+ });
147
161
  signerLines.push(
148
162
  'for account in delegated_signers.iter() {',
149
163
  ' signers.push_back(Signer::Delegated(account));',
@@ -0,0 +1,53 @@
1
+ import { getSelfArg } from './common-options';
2
+ import type { ContractBuilder } from './contract';
3
+ import { defineFunctions } from './utils/define-functions';
4
+
5
+ export function addVotes(c: ContractBuilder, explicitImplementations: boolean) {
6
+ c.addUseClause('stellar_governance::votes', 'Votes');
7
+
8
+ const votesTrait = {
9
+ traitName: 'Votes',
10
+ structName: c.name,
11
+ tags: explicitImplementations ? ['contractimpl'] : ['contractimpl(contracttrait)'],
12
+ section: 'Extensions',
13
+ };
14
+
15
+ if (explicitImplementations) {
16
+ c.addUseClause('stellar_governance::votes', 'self', { alias: 'votes' });
17
+ c.addTraitForEachFunctions(votesTrait, functions);
18
+ } else {
19
+ c.addTraitImplBlock(votesTrait);
20
+ }
21
+ }
22
+
23
+ const functions = defineFunctions({
24
+ get_votes: {
25
+ args: [getSelfArg(), { name: 'account', type: 'Address' }],
26
+ returns: 'u128',
27
+ code: ['votes::get_votes(e, &account)'],
28
+ },
29
+ get_votes_at_checkpoint: {
30
+ args: [getSelfArg(), { name: 'account', type: 'Address' }, { name: 'ledger', type: 'u32' }],
31
+ returns: 'u128',
32
+ code: ['votes::get_votes_at_checkpoint(e, &account, ledger)'],
33
+ },
34
+ get_total_supply: {
35
+ args: [getSelfArg()],
36
+ returns: 'u128',
37
+ code: ['votes::get_total_supply(e)'],
38
+ },
39
+ get_total_supply_at_checkpoint: {
40
+ args: [getSelfArg(), { name: 'ledger', type: 'u32' }],
41
+ returns: 'u128',
42
+ code: ['votes::get_total_supply_at_checkpoint(e, ledger)'],
43
+ },
44
+ get_delegate: {
45
+ args: [getSelfArg(), { name: 'account', type: 'Address' }],
46
+ returns: 'Option<Address>',
47
+ code: ['votes::get_delegate(e, &account)'],
48
+ },
49
+ delegate: {
50
+ args: [getSelfArg(), { name: 'account', type: 'Address' }, { name: 'delegatee', type: 'Address' }],
51
+ code: ['votes::delegate(e, &account, &delegatee);'],
52
+ },
53
+ });