@openzeppelin/wizard-stellar 0.6.2 → 0.6.4

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 (70) hide show
  1. package/README.md +4 -0
  2. package/dist/account.d.ts +19 -0
  3. package/dist/account.d.ts.map +1 -0
  4. package/dist/account.js +251 -0
  5. package/dist/account.js.map +1 -0
  6. package/dist/add-upgradeable.d.ts +9 -0
  7. package/dist/add-upgradeable.d.ts.map +1 -1
  8. package/dist/add-upgradeable.js +25 -0
  9. package/dist/add-upgradeable.js.map +1 -1
  10. package/dist/api.d.ts +10 -0
  11. package/dist/api.d.ts.map +1 -1
  12. package/dist/api.js +12 -1
  13. package/dist/api.js.map +1 -1
  14. package/dist/build-generic.d.ts +8 -0
  15. package/dist/build-generic.d.ts.map +1 -1
  16. package/dist/build-generic.js +6 -0
  17. package/dist/build-generic.js.map +1 -1
  18. package/dist/contract.d.ts +21 -2
  19. package/dist/contract.d.ts.map +1 -1
  20. package/dist/contract.js +11 -0
  21. package/dist/contract.js.map +1 -1
  22. package/dist/generate/account.d.ts +3 -0
  23. package/dist/generate/account.d.ts.map +1 -0
  24. package/dist/generate/account.js +21 -0
  25. package/dist/generate/account.js.map +1 -0
  26. package/dist/generate/sources.d.ts.map +1 -1
  27. package/dist/generate/sources.js +12 -0
  28. package/dist/generate/sources.js.map +1 -1
  29. package/dist/generate/vault.d.ts +3 -0
  30. package/dist/generate/vault.d.ts.map +1 -0
  31. package/dist/generate/vault.js +21 -0
  32. package/dist/generate/vault.js.map +1 -0
  33. package/dist/index.d.ts +4 -0
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +9 -5
  36. package/dist/index.js.map +1 -1
  37. package/dist/kind.js +2 -0
  38. package/dist/kind.js.map +1 -1
  39. package/dist/print.js +39 -9
  40. package/dist/print.js.map +1 -1
  41. package/dist/utils/compile-test.d.ts.map +1 -1
  42. package/dist/utils/compile-test.js +5 -1
  43. package/dist/utils/compile-test.js.map +1 -1
  44. package/dist/vault.d.ts +16 -0
  45. package/dist/vault.d.ts.map +1 -0
  46. package/dist/vault.js +334 -0
  47. package/dist/vault.js.map +1 -0
  48. package/dist/zip-rust.d.ts.map +1 -1
  49. package/dist/zip-rust.js +14 -1
  50. package/dist/zip-rust.js.map +1 -1
  51. package/dist/zip-shared.d.ts +15 -0
  52. package/dist/zip-shared.d.ts.map +1 -1
  53. package/dist/zip-shared.js +271 -1
  54. package/dist/zip-shared.js.map +1 -1
  55. package/package.json +1 -1
  56. package/src/account.ts +319 -0
  57. package/src/add-upgradeable.ts +29 -0
  58. package/src/api.ts +25 -0
  59. package/src/build-generic.ts +12 -0
  60. package/src/contract.ts +24 -2
  61. package/src/generate/account.ts +21 -0
  62. package/src/generate/sources.ts +14 -0
  63. package/src/generate/vault.ts +21 -0
  64. package/src/index.ts +4 -0
  65. package/src/kind.ts +2 -0
  66. package/src/print.ts +47 -18
  67. package/src/utils/compile-test.ts +6 -1
  68. package/src/vault.ts +378 -0
  69. package/src/zip-rust.ts +17 -1
  70. package/src/zip-shared.ts +293 -0
package/dist/vault.js ADDED
@@ -0,0 +1,334 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.functions = exports.defaults = void 0;
4
+ exports.printVault = printVault;
5
+ exports.withDefaults = withDefaults;
6
+ exports.isAccessControlRequired = isAccessControlRequired;
7
+ exports.buildVault = buildVault;
8
+ const contract_1 = require("./contract");
9
+ const set_access_control_1 = require("./set-access-control");
10
+ const add_pausable_1 = require("./add-pausable");
11
+ const add_upgradeable_1 = require("./add-upgradeable");
12
+ const define_functions_1 = require("./utils/define-functions");
13
+ const common_options_1 = require("./common-options");
14
+ const set_info_1 = require("./set-info");
15
+ const common_options_2 = require("./common-options");
16
+ const print_1 = require("./print");
17
+ const convert_strings_1 = require("./utils/convert-strings");
18
+ const error_1 = require("./error");
19
+ const wizard_common_1 = require("@openzeppelin/wizard-common");
20
+ // Upper bound enforced by the library's `Vault::set_decimals_offset`
21
+ // (`stellar_tokens::vault::MAX_DECIMALS_OFFSET`); a larger value panics on deploy.
22
+ const MAX_DECIMALS_OFFSET = 10;
23
+ exports.defaults = {
24
+ name: 'MyVault',
25
+ symbol: 'MTK',
26
+ decimalsOffset: '0',
27
+ pausable: false,
28
+ upgradeable: false,
29
+ access: common_options_2.contractDefaults.access,
30
+ info: common_options_2.contractDefaults.info,
31
+ explicitImplementations: common_options_2.contractDefaults.explicitImplementations,
32
+ };
33
+ function printVault(opts = exports.defaults) {
34
+ return (0, print_1.printContract)(buildVault(opts));
35
+ }
36
+ function withDefaults(opts) {
37
+ return {
38
+ ...opts,
39
+ ...(0, common_options_1.withCommonContractDefaults)(opts),
40
+ decimalsOffset: opts.decimalsOffset ?? exports.defaults.decimalsOffset,
41
+ pausable: opts.pausable ?? exports.defaults.pausable,
42
+ upgradeable: opts.upgradeable ?? exports.defaults.upgradeable,
43
+ };
44
+ }
45
+ function isAccessControlRequired(opts) {
46
+ return opts.pausable === true || opts.upgradeable === true;
47
+ }
48
+ function buildVault(opts) {
49
+ const c = new contract_1.ContractBuilder(opts.name);
50
+ const allOpts = withDefaults(opts);
51
+ const decimalsOffset = (0, convert_strings_1.toUint)(allOpts.decimalsOffset, 'decimalsOffset', 'u32');
52
+ if (decimalsOffset > MAX_DECIMALS_OFFSET) {
53
+ throw new error_1.OptionsError({
54
+ decimalsOffset: `Maximum decimals offset is ${MAX_DECIMALS_OFFSET}`,
55
+ });
56
+ }
57
+ addBase(c, (0, convert_strings_1.toByteArray)(allOpts.name), (0, convert_strings_1.toByteArray)(allOpts.symbol), decimalsOffset, allOpts.pausable, allOpts.explicitImplementations);
58
+ if (allOpts.pausable) {
59
+ (0, add_pausable_1.addPausable)(c, allOpts.access, allOpts.explicitImplementations);
60
+ }
61
+ if (allOpts.upgradeable) {
62
+ (0, add_upgradeable_1.addUpgradeable)(c, allOpts.access, allOpts.explicitImplementations);
63
+ }
64
+ (0, set_access_control_1.setAccessControl)(c, allOpts.access, allOpts.explicitImplementations);
65
+ // The AccessControl trait surface (e.g. `get_existing_roles`, role lookups)
66
+ // references `Symbol` and `Vec`, which the contracttrait macro and explicit
67
+ // implementations need in scope even when no function is role-gated.
68
+ if (allOpts.access === 'roles') {
69
+ c.addUseClause('soroban_sdk', 'Symbol');
70
+ c.addUseClause('soroban_sdk', 'Vec');
71
+ }
72
+ (0, set_info_1.setInfo)(c, allOpts.info);
73
+ return c;
74
+ }
75
+ function addBase(c, name, symbol, decimalsOffset, pausable, explicitImplementations) {
76
+ // The underlying asset is supplied at deployment, while the virtual decimals
77
+ // offset is a baked-in configuration value. The offset must be set before the
78
+ // metadata because the vault derives its decimals from the underlying asset's
79
+ // decimals plus the offset.
80
+ c.addConstructorArgument({ name: 'asset', type: 'Address' });
81
+ c.addConstructorCode('Vault::set_asset(e, asset);');
82
+ c.addConstructorCode(`Vault::set_decimals_offset(e, ${decimalsOffset});`);
83
+ c.addConstructorCode(`Base::set_metadata(e, Self::decimals(e), String::from_str(e, "${name}"), String::from_str(e, "${symbol}"));`);
84
+ // Set token functions
85
+ c.addUseClause('stellar_tokens::fungible', 'Base');
86
+ c.addUseClause('stellar_tokens::fungible', 'FungibleToken');
87
+ c.addUseClause('stellar_tokens::vault', 'FungibleVault');
88
+ c.addUseClause('stellar_tokens::vault', 'Vault');
89
+ // The base token functions we emit delegate to `Self::ContractType::...`,
90
+ // which resolve through the `ContractOverrides` trait that `Vault` implements,
91
+ // so it must be in scope. This happens with explicit implementations (all
92
+ // functions are spelled out) and when pausable adds transfer overrides.
93
+ if (explicitImplementations || pausable)
94
+ c.addUseClause('stellar_tokens::fungible', 'ContractOverrides');
95
+ c.addUseClause('soroban_sdk', 'contract');
96
+ c.addUseClause('soroban_sdk', 'contractimpl');
97
+ c.addUseClause('soroban_sdk', 'String');
98
+ c.addUseClause('soroban_sdk', 'Env');
99
+ c.addUseClause('soroban_sdk', 'Address');
100
+ c.addUseClause('soroban_sdk', 'MuxedAddress');
101
+ const fungibleTokenTrait = {
102
+ traitName: 'FungibleToken',
103
+ structName: c.name,
104
+ tags: explicitImplementations ? ['contractimpl'] : ['contractimpl(contracttrait)'],
105
+ assocType: 'type ContractType = Vault;',
106
+ };
107
+ c.addTraitImplBlock(fungibleTokenTrait);
108
+ if (explicitImplementations) {
109
+ c.addTraitForEachFunctions(fungibleTokenTrait, fungibleTokenTraitFunctions);
110
+ }
111
+ else {
112
+ // The vault overrides decimals to derive them from the underlying asset and
113
+ // the virtual decimals offset.
114
+ c.addTraitFunction(fungibleTokenTrait, exports.functions.decimals);
115
+ }
116
+ if (pausable) {
117
+ c.addUseClause('stellar_macros', 'when_not_paused');
118
+ c.addTraitFunction(fungibleTokenTrait, exports.functions.transfer);
119
+ c.addFunctionTag(exports.functions.transfer, 'when_not_paused', fungibleTokenTrait);
120
+ c.addTraitFunction(fungibleTokenTrait, exports.functions.transfer_from);
121
+ c.addFunctionTag(exports.functions.transfer_from, 'when_not_paused', fungibleTokenTrait);
122
+ }
123
+ const fungibleVaultTrait = {
124
+ traitName: 'FungibleVault',
125
+ structName: c.name,
126
+ tags: explicitImplementations ? ['contractimpl'] : ['contractimpl(contracttrait)'],
127
+ section: 'Extensions',
128
+ };
129
+ if (explicitImplementations) {
130
+ c.addTraitForEachFunctions(fungibleVaultTrait, fungibleVaultTraitFunctions);
131
+ }
132
+ else {
133
+ c.addTraitImplBlock(fungibleVaultTrait);
134
+ }
135
+ }
136
+ exports.functions = (0, define_functions_1.defineFunctions)({
137
+ // FungibleToken Trait
138
+ total_supply: {
139
+ args: [(0, common_options_1.getSelfArg)()],
140
+ returns: 'i128',
141
+ code: ['Self::ContractType::total_supply(e)'],
142
+ },
143
+ balance: {
144
+ args: [(0, common_options_1.getSelfArg)(), { name: 'account', type: 'Address' }],
145
+ returns: 'i128',
146
+ code: ['Self::ContractType::balance(e, &account)'],
147
+ },
148
+ allowance: {
149
+ args: [(0, common_options_1.getSelfArg)(), { name: 'owner', type: 'Address' }, { name: 'spender', type: 'Address' }],
150
+ returns: 'i128',
151
+ code: ['Self::ContractType::allowance(e, &owner, &spender)'],
152
+ },
153
+ transfer: {
154
+ args: [
155
+ (0, common_options_1.getSelfArg)(),
156
+ { name: 'from', type: 'Address' },
157
+ { name: 'to', type: 'MuxedAddress' },
158
+ { name: 'amount', type: 'i128' },
159
+ ],
160
+ code: ['Self::ContractType::transfer(e, &from, &to, amount)'],
161
+ },
162
+ transfer_from: {
163
+ args: [
164
+ (0, common_options_1.getSelfArg)(),
165
+ { name: 'spender', type: 'Address' },
166
+ { name: 'from', type: 'Address' },
167
+ { name: 'to', type: 'Address' },
168
+ { name: 'amount', type: 'i128' },
169
+ ],
170
+ code: ['Self::ContractType::transfer_from(e, &spender, &from, &to, amount)'],
171
+ },
172
+ approve: {
173
+ args: [
174
+ (0, common_options_1.getSelfArg)(),
175
+ { name: 'owner', type: 'Address' },
176
+ { name: 'spender', type: 'Address' },
177
+ { name: 'amount', type: 'i128' },
178
+ { name: 'live_until_ledger', type: 'u32' },
179
+ ],
180
+ code: ['Self::ContractType::approve(e, &owner, &spender, amount, live_until_ledger)'],
181
+ },
182
+ // The vault derives decimals from the underlying asset's decimals plus the
183
+ // virtual offset, so it overrides the default metadata-based implementation.
184
+ decimals: {
185
+ args: [(0, common_options_1.getSelfArg)()],
186
+ returns: 'u32',
187
+ code: ['Vault::decimals(e)'],
188
+ },
189
+ name: {
190
+ args: [(0, common_options_1.getSelfArg)()],
191
+ returns: 'String',
192
+ code: ['Self::ContractType::name(e)'],
193
+ },
194
+ symbol: {
195
+ args: [(0, common_options_1.getSelfArg)()],
196
+ returns: 'String',
197
+ code: ['Self::ContractType::symbol(e)'],
198
+ },
199
+ // FungibleVault Trait
200
+ query_asset: {
201
+ args: [(0, common_options_1.getSelfArg)()],
202
+ returns: 'Address',
203
+ code: ['Self::ContractType::query_asset(e)'],
204
+ },
205
+ total_assets: {
206
+ args: [(0, common_options_1.getSelfArg)()],
207
+ returns: 'i128',
208
+ code: ['Self::ContractType::total_assets(e)'],
209
+ },
210
+ convert_to_shares: {
211
+ args: [(0, common_options_1.getSelfArg)(), { name: 'assets', type: 'i128' }],
212
+ returns: 'i128',
213
+ code: ['Self::ContractType::convert_to_shares(e, assets)'],
214
+ },
215
+ convert_to_assets: {
216
+ args: [(0, common_options_1.getSelfArg)(), { name: 'shares', type: 'i128' }],
217
+ returns: 'i128',
218
+ code: ['Self::ContractType::convert_to_assets(e, shares)'],
219
+ },
220
+ max_deposit: {
221
+ args: [(0, common_options_1.getSelfArg)(), { name: 'receiver', type: 'Address' }],
222
+ returns: 'i128',
223
+ code: ['Self::ContractType::max_deposit(e, receiver)'],
224
+ },
225
+ preview_deposit: {
226
+ args: [(0, common_options_1.getSelfArg)(), { name: 'assets', type: 'i128' }],
227
+ returns: 'i128',
228
+ code: ['Self::ContractType::preview_deposit(e, assets)'],
229
+ },
230
+ deposit: {
231
+ args: [
232
+ (0, common_options_1.getSelfArg)(),
233
+ { name: 'assets', type: 'i128' },
234
+ { name: 'receiver', type: 'Address' },
235
+ { name: 'from', type: 'Address' },
236
+ { name: 'operator', type: 'Address' },
237
+ ],
238
+ returns: 'i128',
239
+ code: ['Self::ContractType::deposit(e, assets, receiver, from, operator)'],
240
+ },
241
+ max_mint: {
242
+ args: [(0, common_options_1.getSelfArg)(), { name: 'receiver', type: 'Address' }],
243
+ returns: 'i128',
244
+ code: ['Self::ContractType::max_mint(e, receiver)'],
245
+ },
246
+ preview_mint: {
247
+ args: [(0, common_options_1.getSelfArg)(), { name: 'shares', type: 'i128' }],
248
+ returns: 'i128',
249
+ code: ['Self::ContractType::preview_mint(e, shares)'],
250
+ },
251
+ mint: {
252
+ args: [
253
+ (0, common_options_1.getSelfArg)(),
254
+ { name: 'shares', type: 'i128' },
255
+ { name: 'receiver', type: 'Address' },
256
+ { name: 'from', type: 'Address' },
257
+ { name: 'operator', type: 'Address' },
258
+ ],
259
+ returns: 'i128',
260
+ code: ['Self::ContractType::mint(e, shares, receiver, from, operator)'],
261
+ },
262
+ max_withdraw: {
263
+ args: [(0, common_options_1.getSelfArg)(), { name: 'owner', type: 'Address' }],
264
+ returns: 'i128',
265
+ code: ['Self::ContractType::max_withdraw(e, owner)'],
266
+ },
267
+ preview_withdraw: {
268
+ args: [(0, common_options_1.getSelfArg)(), { name: 'assets', type: 'i128' }],
269
+ returns: 'i128',
270
+ code: ['Self::ContractType::preview_withdraw(e, assets)'],
271
+ },
272
+ withdraw: {
273
+ args: [
274
+ (0, common_options_1.getSelfArg)(),
275
+ { name: 'assets', type: 'i128' },
276
+ { name: 'receiver', type: 'Address' },
277
+ { name: 'owner', type: 'Address' },
278
+ { name: 'operator', type: 'Address' },
279
+ ],
280
+ returns: 'i128',
281
+ code: ['Self::ContractType::withdraw(e, assets, receiver, owner, operator)'],
282
+ },
283
+ max_redeem: {
284
+ args: [(0, common_options_1.getSelfArg)(), { name: 'owner', type: 'Address' }],
285
+ returns: 'i128',
286
+ code: ['Self::ContractType::max_redeem(e, owner)'],
287
+ },
288
+ preview_redeem: {
289
+ args: [(0, common_options_1.getSelfArg)(), { name: 'shares', type: 'i128' }],
290
+ returns: 'i128',
291
+ code: ['Self::ContractType::preview_redeem(e, shares)'],
292
+ },
293
+ redeem: {
294
+ args: [
295
+ (0, common_options_1.getSelfArg)(),
296
+ { name: 'shares', type: 'i128' },
297
+ { name: 'receiver', type: 'Address' },
298
+ { name: 'owner', type: 'Address' },
299
+ { name: 'operator', type: 'Address' },
300
+ ],
301
+ returns: 'i128',
302
+ code: ['Self::ContractType::redeem(e, shares, receiver, owner, operator)'],
303
+ },
304
+ });
305
+ const fungibleTokenTraitFunctions = (0, wizard_common_1.pickKeys)(exports.functions, [
306
+ 'total_supply',
307
+ 'balance',
308
+ 'allowance',
309
+ 'transfer',
310
+ 'transfer_from',
311
+ 'approve',
312
+ 'decimals',
313
+ 'name',
314
+ 'symbol',
315
+ ]);
316
+ const fungibleVaultTraitFunctions = (0, wizard_common_1.pickKeys)(exports.functions, [
317
+ 'query_asset',
318
+ 'total_assets',
319
+ 'convert_to_shares',
320
+ 'convert_to_assets',
321
+ 'max_deposit',
322
+ 'preview_deposit',
323
+ 'deposit',
324
+ 'max_mint',
325
+ 'preview_mint',
326
+ 'mint',
327
+ 'max_withdraw',
328
+ 'preview_withdraw',
329
+ 'withdraw',
330
+ 'max_redeem',
331
+ 'preview_redeem',
332
+ 'redeem',
333
+ ]);
334
+ //# sourceMappingURL=vault.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vault.js","sourceRoot":"","sources":["../src/vault.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"zip-rust.d.ts","sourceRoot":"","sources":["../src/zip-rust.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA8B3C,eAAO,MAAM,wBAAwB,GAAI,GAAG,QAAQ,EAAE,MAAM,cAAc,UAczE,CAAC;AAIF,eAAO,MAAM,cAAc,GAAU,GAAG,QAAQ,EAAE,MAAM,cAAc,mBACb,CAAC"}
1
+ {"version":3,"file":"zip-rust.d.ts","sourceRoot":"","sources":["../src/zip-rust.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA6C3C,eAAO,MAAM,wBAAwB,GAAI,GAAG,QAAQ,EAAE,MAAM,cAAc,UAczE,CAAC;AAIF,eAAO,MAAM,cAAc,GAAU,GAAG,QAAQ,EAAE,MAAM,cAAc,mBACb,CAAC"}
package/dist/zip-rust.js CHANGED
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.zipRustProject = exports.createRustZipEnvironment = void 0;
7
7
  const jszip_1 = __importDefault(require("jszip"));
8
+ const account_1 = require("./account");
8
9
  const print_1 = require("./print");
9
10
  const zip_shared_1 = require("./zip-shared");
10
11
  const readme = `\
@@ -24,12 +25,24 @@ Continue your development journey with [Stellar CLI](https://github.com/stellar/
24
25
  const gitIgnore = `\
25
26
  target/
26
27
  `;
28
+ // Most contracts get the generic name assertion; kinds whose constructor takes
29
+ // more than plain addresses need a template that can satisfy it.
30
+ const printTest = (c, opts) => {
31
+ switch (opts?.kind) {
32
+ case 'Account':
33
+ return (0, zip_shared_1.printAccountRustTest)(c, opts.policy ?? account_1.defaults.policy);
34
+ case 'Vault':
35
+ return (0, zip_shared_1.printVaultRustTest)(c);
36
+ default:
37
+ return (0, zip_shared_1.printRustNameTest)(c);
38
+ }
39
+ };
27
40
  const createRustZipEnvironment = (c, opts) => {
28
41
  const zip = new jszip_1.default();
29
42
  const contractName = (0, zip_shared_1.contractOptionsToContractName)(opts?.kind || 'contract');
30
43
  const requiredLibDeps = (0, zip_shared_1.getRequiredLibDependencies)(c);
31
44
  zip.file(`contracts/${contractName}/src/contract.rs`, (0, print_1.removeCreateLevelAttributes)((0, print_1.printContract)(c)));
32
- zip.file(`contracts/${contractName}/src/test.rs`, (0, zip_shared_1.printRustNameTest)(c));
45
+ zip.file(`contracts/${contractName}/src/test.rs`, printTest(c, opts));
33
46
  zip.file(`contracts/${contractName}/src/lib.rs`, zip_shared_1.createRustLibFile);
34
47
  zip.file(`contracts/${contractName}/Cargo.toml`, (0, zip_shared_1.printContractCargo)(contractName, requiredLibDeps));
35
48
  zip.file('Cargo.toml', (0, zip_shared_1.workspaceCargo)(requiredLibDeps));
@@ -1 +1 @@
1
- {"version":3,"file":"zip-rust.js","sourceRoot":"","sources":["../src/zip-rust.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAG1B,mCAAqE;AACrE,6CAOsB;AAEtB,MAAM,MAAM,GAAG;;;;;;;;;;;;;CAad,CAAC;AAEF,MAAM,SAAS,GAAG;;CAEjB,CAAC;AAEK,MAAM,wBAAwB,GAAG,CAAC,CAAW,EAAE,IAAoB,EAAE,EAAE;IAC5E,MAAM,GAAG,GAAG,IAAI,eAAK,EAAE,CAAC;IAExB,MAAM,YAAY,GAAG,IAAA,0CAA6B,EAAC,IAAI,EAAE,IAAI,IAAI,UAAU,CAAC,CAAC;IAC7E,MAAM,eAAe,GAAG,IAAA,uCAA0B,EAAC,CAAC,CAAC,CAAC;IAEtD,GAAG,CAAC,IAAI,CAAC,aAAa,YAAY,kBAAkB,EAAE,IAAA,mCAA2B,EAAC,IAAA,qBAAa,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrG,GAAG,CAAC,IAAI,CAAC,aAAa,YAAY,cAAc,EAAE,IAAA,8BAAiB,EAAC,CAAC,CAAC,CAAC,CAAC;IACxE,GAAG,CAAC,IAAI,CAAC,aAAa,YAAY,aAAa,EAAE,8BAAiB,CAAC,CAAC;IACpE,GAAG,CAAC,IAAI,CAAC,aAAa,YAAY,aAAa,EAAE,IAAA,+BAAkB,EAAC,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;IACpG,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAA,2BAAc,EAAC,eAAe,CAAC,CAAC,CAAC;IACxD,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAElC,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAdW,QAAA,wBAAwB,4BAcnC;AAEF,MAAM,oBAAoB,GAAG,CAAC,GAAU,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAEpE,MAAM,cAAc,GAAG,KAAK,EAAE,CAAW,EAAE,IAAoB,EAAE,EAAE,CACxE,oBAAoB,CAAC,IAAA,gCAAwB,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAD7C,QAAA,cAAc,kBAC+B"}
1
+ {"version":3,"file":"zip-rust.js","sourceRoot":"","sources":["../src/zip-rust.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,uCAAwD;AAGxD,mCAAqE;AACrE,6CASsB;AAEtB,MAAM,MAAM,GAAG;;;;;;;;;;;;;CAad,CAAC;AAEF,MAAM,SAAS,GAAG;;CAEjB,CAAC;AAEF,+EAA+E;AAC/E,iEAAiE;AACjE,MAAM,SAAS,GAAG,CAAC,CAAW,EAAE,IAAoB,EAAE,EAAE;IACtD,QAAQ,IAAI,EAAE,IAAI,EAAE,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,IAAA,iCAAoB,EAAC,CAAC,EAAE,IAAI,CAAC,MAAM,IAAI,kBAAe,CAAC,MAAM,CAAC,CAAC;QACxE,KAAK,OAAO;YACV,OAAO,IAAA,+BAAkB,EAAC,CAAC,CAAC,CAAC;QAC/B;YACE,OAAO,IAAA,8BAAiB,EAAC,CAAC,CAAC,CAAC;IAChC,CAAC;AACH,CAAC,CAAC;AAEK,MAAM,wBAAwB,GAAG,CAAC,CAAW,EAAE,IAAoB,EAAE,EAAE;IAC5E,MAAM,GAAG,GAAG,IAAI,eAAK,EAAE,CAAC;IAExB,MAAM,YAAY,GAAG,IAAA,0CAA6B,EAAC,IAAI,EAAE,IAAI,IAAI,UAAU,CAAC,CAAC;IAC7E,MAAM,eAAe,GAAG,IAAA,uCAA0B,EAAC,CAAC,CAAC,CAAC;IAEtD,GAAG,CAAC,IAAI,CAAC,aAAa,YAAY,kBAAkB,EAAE,IAAA,mCAA2B,EAAC,IAAA,qBAAa,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrG,GAAG,CAAC,IAAI,CAAC,aAAa,YAAY,cAAc,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACtE,GAAG,CAAC,IAAI,CAAC,aAAa,YAAY,aAAa,EAAE,8BAAiB,CAAC,CAAC;IACpE,GAAG,CAAC,IAAI,CAAC,aAAa,YAAY,aAAa,EAAE,IAAA,+BAAkB,EAAC,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;IACpG,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAA,2BAAc,EAAC,eAAe,CAAC,CAAC,CAAC;IACxD,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAElC,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAdW,QAAA,wBAAwB,4BAcnC;AAEF,MAAM,oBAAoB,GAAG,CAAC,GAAU,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAEpE,MAAM,cAAc,GAAG,KAAK,EAAE,CAAW,EAAE,IAAoB,EAAE,EAAE,CACxE,oBAAoB,CAAC,IAAA,gCAAwB,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAD7C,QAAA,cAAc,kBAC+B"}
@@ -3,6 +3,21 @@ declare function pascalToSnakeCase(string: string): string;
3
3
  export declare const contractOptionsToContractName: typeof pascalToSnakeCase;
4
4
  export declare function getAddressArgs(c: Pick<Contract, 'constructorArgs'>): string[];
5
5
  export declare const printRustNameTest: (c: Pick<Contract, "constructorArgs" | "name">) => string;
6
+ export declare const printVaultRustTest: (c: Pick<Contract, "constructorArgs" | "name">) => string;
7
+ declare const accountPolicies: {
8
+ readonly 'simple-threshold': {
9
+ readonly struct: "MockSimpleThresholdPolicy";
10
+ readonly module: "simple_threshold";
11
+ readonly params: "SimpleThresholdAccountParams";
12
+ };
13
+ readonly 'weighted-threshold': {
14
+ readonly struct: "MockWeightedThresholdPolicy";
15
+ readonly module: "weighted_threshold";
16
+ readonly params: "WeightedThresholdAccountParams";
17
+ };
18
+ };
19
+ export type AccountPolicy = keyof typeof accountPolicies | false;
20
+ export declare const printAccountRustTest: (c: Pick<Contract, "constructorArgs" | "name">, policy: AccountPolicy) => string;
6
21
  export declare function getRequiredLibDependencies(c: Pick<Contract, 'useClauses'>): string[];
7
22
  export declare const addDependenciesWith: (dependencyValue: string, dependenciesToAdd: string[]) => string;
8
23
  export declare const printContractCargo: (scaffoldContractName: string, requiredLibDeps: readonly string[]) => string;
@@ -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;AAiBF,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,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"}