@openzeppelin/wizard-stellar 0.4.4 → 0.5.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.
- package/dist/add-pausable.d.ts +1 -1
- package/dist/add-pausable.d.ts.map +1 -1
- package/dist/add-pausable.js +8 -8
- package/dist/add-pausable.js.map +1 -1
- package/dist/add-upgradeable.d.ts +1 -1
- package/dist/add-upgradeable.d.ts.map +1 -1
- package/dist/add-upgradeable.js +2 -2
- package/dist/add-upgradeable.js.map +1 -1
- package/dist/common-options.d.ts +1 -0
- package/dist/common-options.d.ts.map +1 -1
- package/dist/common-options.js +2 -0
- package/dist/common-options.js.map +1 -1
- package/dist/contract.d.ts +2 -0
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +7 -0
- package/dist/contract.js.map +1 -1
- package/dist/fungible.d.ts.map +1 -1
- package/dist/fungible.js +38 -23
- package/dist/fungible.js.map +1 -1
- package/dist/generate/fungible.d.ts.map +1 -1
- package/dist/generate/fungible.js +1 -0
- package/dist/generate/fungible.js.map +1 -1
- package/dist/generate/non-fungible.d.ts.map +1 -1
- package/dist/generate/non-fungible.js +1 -0
- package/dist/generate/non-fungible.js.map +1 -1
- package/dist/generate/stablecoin.d.ts.map +1 -1
- package/dist/generate/stablecoin.js +1 -0
- package/dist/generate/stablecoin.js.map +1 -1
- package/dist/non-fungible.d.ts +1 -1
- package/dist/non-fungible.d.ts.map +1 -1
- package/dist/non-fungible.js +80 -41
- package/dist/non-fungible.js.map +1 -1
- package/dist/set-access-control.d.ts +2 -2
- package/dist/set-access-control.d.ts.map +1 -1
- package/dist/set-access-control.js +113 -10
- package/dist/set-access-control.js.map +1 -1
- package/dist/stablecoin.d.ts +2 -1
- package/dist/stablecoin.d.ts.map +1 -1
- package/dist/stablecoin.js +27 -6
- package/dist/stablecoin.js.map +1 -1
- package/dist/utils/compile-test.d.ts +1 -0
- package/dist/utils/compile-test.d.ts.map +1 -1
- package/dist/utils/compile-test.js +19 -5
- package/dist/utils/compile-test.js.map +1 -1
- package/dist/utils/version.d.ts +4 -4
- package/dist/utils/version.js +3 -3
- package/dist/zip-rust.d.ts.map +1 -1
- package/dist/zip-rust.js +4 -0
- package/dist/zip-rust.js.map +1 -1
- package/package.json +3 -3
- package/src/add-pausable.ts +29 -15
- package/src/add-upgradeable.ts +13 -6
- package/src/common-options.ts +3 -0
- package/src/contract.ts +9 -0
- package/src/fungible.ts +57 -29
- package/src/generate/fungible.ts +1 -0
- package/src/generate/non-fungible.ts +1 -0
- package/src/generate/stablecoin.ts +1 -0
- package/src/non-fungible.ts +121 -45
- package/src/set-access-control.ts +113 -9
- package/src/stablecoin.ts +39 -9
- package/src/utils/compile-test.ts +52 -25
- package/src/utils/version.ts +3 -3
- package/src/zip-rust.ts +5 -0
package/dist/non-fungible.js
CHANGED
|
@@ -4,17 +4,17 @@ exports.defaults = void 0;
|
|
|
4
4
|
exports.printNonFungible = printNonFungible;
|
|
5
5
|
exports.isAccessControlRequired = isAccessControlRequired;
|
|
6
6
|
exports.buildNonFungible = buildNonFungible;
|
|
7
|
-
const
|
|
8
|
-
const set_access_control_1 = require("./set-access-control");
|
|
7
|
+
const wizard_common_1 = require("@openzeppelin/wizard-common");
|
|
9
8
|
const add_pausable_1 = require("./add-pausable");
|
|
10
9
|
const add_upgradeable_1 = require("./add-upgradeable");
|
|
11
|
-
const define_functions_1 = require("./utils/define-functions");
|
|
12
10
|
const common_options_1 = require("./common-options");
|
|
13
|
-
const
|
|
11
|
+
const contract_1 = require("./contract");
|
|
14
12
|
const error_1 = require("./error");
|
|
15
|
-
const common_options_2 = require("./common-options");
|
|
16
13
|
const print_1 = require("./print");
|
|
14
|
+
const set_access_control_1 = require("./set-access-control");
|
|
15
|
+
const set_info_1 = require("./set-info");
|
|
17
16
|
const convert_strings_1 = require("./utils/convert-strings");
|
|
17
|
+
const define_functions_1 = require("./utils/define-functions");
|
|
18
18
|
exports.defaults = {
|
|
19
19
|
name: 'MyToken',
|
|
20
20
|
symbol: 'MTK',
|
|
@@ -26,8 +26,9 @@ exports.defaults = {
|
|
|
26
26
|
upgradeable: false,
|
|
27
27
|
mintable: false,
|
|
28
28
|
sequential: false,
|
|
29
|
-
access:
|
|
30
|
-
info:
|
|
29
|
+
access: common_options_1.contractDefaults.access, // TODO: Determine whether Access Control options should be visible in the UI before they are implemented as modules
|
|
30
|
+
info: common_options_1.contractDefaults.info,
|
|
31
|
+
explicitImplementations: common_options_1.contractDefaults.explicitImplementations,
|
|
31
32
|
};
|
|
32
33
|
function printNonFungible(opts = exports.defaults) {
|
|
33
34
|
return (0, print_1.printContract)(buildNonFungible(opts));
|
|
@@ -68,30 +69,30 @@ function buildNonFungible(opts) {
|
|
|
68
69
|
if (Object.keys(errors).length > 0) {
|
|
69
70
|
throw new error_1.OptionsError(errors);
|
|
70
71
|
}
|
|
71
|
-
addBase(c, (0, convert_strings_1.toByteArray)(allOpts.name), (0, convert_strings_1.toByteArray)(allOpts.symbol), (0, convert_strings_1.toByteArray)(allOpts.tokenUri), allOpts.pausable);
|
|
72
|
+
addBase(c, (0, convert_strings_1.toByteArray)(allOpts.name), (0, convert_strings_1.toByteArray)(allOpts.symbol), (0, convert_strings_1.toByteArray)(allOpts.tokenUri), allOpts.pausable, allOpts.explicitImplementations);
|
|
72
73
|
if (allOpts.pausable) {
|
|
73
|
-
(0, add_pausable_1.addPausable)(c, allOpts.access);
|
|
74
|
+
(0, add_pausable_1.addPausable)(c, allOpts.access, allOpts.explicitImplementations);
|
|
74
75
|
}
|
|
75
76
|
if (allOpts.upgradeable) {
|
|
76
|
-
(0, add_upgradeable_1.addUpgradeable)(c, allOpts.access);
|
|
77
|
+
(0, add_upgradeable_1.addUpgradeable)(c, allOpts.access, allOpts.explicitImplementations);
|
|
77
78
|
}
|
|
78
79
|
if (allOpts.burnable) {
|
|
79
|
-
addBurnable(c, allOpts.pausable);
|
|
80
|
+
addBurnable(c, allOpts.pausable, allOpts.explicitImplementations);
|
|
80
81
|
}
|
|
81
82
|
if (allOpts.enumerable) {
|
|
82
|
-
addEnumerable(c);
|
|
83
|
+
addEnumerable(c, allOpts.explicitImplementations);
|
|
83
84
|
}
|
|
84
85
|
if (allOpts.consecutive) {
|
|
85
|
-
addConsecutive(c, allOpts.pausable, allOpts.access);
|
|
86
|
+
addConsecutive(c, allOpts.pausable, allOpts.access, allOpts.explicitImplementations);
|
|
86
87
|
}
|
|
87
88
|
if (allOpts.mintable) {
|
|
88
|
-
addMintable(c, allOpts.enumerable, allOpts.pausable, allOpts.sequential, allOpts.access);
|
|
89
|
+
addMintable(c, allOpts.enumerable, allOpts.pausable, allOpts.sequential, allOpts.access, allOpts.explicitImplementations);
|
|
89
90
|
}
|
|
90
|
-
(0, set_access_control_1.setAccessControl)(c, allOpts.access);
|
|
91
|
+
(0, set_access_control_1.setAccessControl)(c, allOpts.access, allOpts.explicitImplementations);
|
|
91
92
|
(0, set_info_1.setInfo)(c, allOpts.info);
|
|
92
93
|
return c;
|
|
93
94
|
}
|
|
94
|
-
function addBase(c, name, symbol, tokenUri, pausable) {
|
|
95
|
+
function addBase(c, name, symbol, tokenUri, pausable, explicitImplementations) {
|
|
95
96
|
// Set metadata
|
|
96
97
|
c.addConstructorCode(`let uri = String::from_str(e, "${tokenUri}");`);
|
|
97
98
|
c.addConstructorCode(`let name = String::from_str(e, "${name}");`);
|
|
@@ -100,18 +101,22 @@ function addBase(c, name, symbol, tokenUri, pausable) {
|
|
|
100
101
|
// Set token functions
|
|
101
102
|
c.addUseClause('stellar_tokens::non_fungible', 'Base');
|
|
102
103
|
c.addUseClause('stellar_tokens::non_fungible', 'NonFungibleToken');
|
|
103
|
-
|
|
104
|
+
if (explicitImplementations)
|
|
105
|
+
c.addUseClause('stellar_tokens::non_fungible', 'ContractOverrides');
|
|
104
106
|
c.addUseClause('soroban_sdk', 'contract');
|
|
105
107
|
c.addUseClause('soroban_sdk', 'contractimpl');
|
|
106
108
|
c.addUseClause('soroban_sdk', 'String');
|
|
107
109
|
c.addUseClause('soroban_sdk', 'Env');
|
|
110
|
+
c.addUseClause('soroban_sdk', 'Address');
|
|
108
111
|
const nonFungibleTokenTrait = {
|
|
109
112
|
traitName: 'NonFungibleToken',
|
|
110
113
|
structName: c.name,
|
|
111
|
-
tags: ['
|
|
114
|
+
tags: explicitImplementations ? ['contractimpl'] : ['contractimpl(contracttrait)'],
|
|
112
115
|
assocType: 'type ContractType = Base;',
|
|
113
116
|
};
|
|
114
117
|
c.addTraitImplBlock(nonFungibleTokenTrait);
|
|
118
|
+
if (explicitImplementations)
|
|
119
|
+
c.addTraitForEachFunctions(nonFungibleTokenTrait, nonFungibleTokenTraitFunctions);
|
|
115
120
|
if (pausable) {
|
|
116
121
|
c.addUseClause('stellar_macros', 'when_not_paused');
|
|
117
122
|
c.addTraitFunction(nonFungibleTokenTrait, baseFunctions.transfer);
|
|
@@ -120,12 +125,12 @@ function addBase(c, name, symbol, tokenUri, pausable) {
|
|
|
120
125
|
c.addTraitFunction(nonFungibleTokenTrait, baseFunctions.transfer_from);
|
|
121
126
|
}
|
|
122
127
|
}
|
|
123
|
-
function addBurnable(c, pausable) {
|
|
128
|
+
function addBurnable(c, pausable, explicitImplementations) {
|
|
124
129
|
c.addUseClause('stellar_tokens::non_fungible', 'burnable::NonFungibleBurnable');
|
|
125
130
|
const nonFungibleBurnableTrait = {
|
|
126
131
|
traitName: 'NonFungibleBurnable',
|
|
127
132
|
structName: c.name,
|
|
128
|
-
tags: ['contractimpl'],
|
|
133
|
+
tags: explicitImplementations ? ['contractimpl'] : ['contractimpl(contracttrait)'],
|
|
129
134
|
section: 'Extensions',
|
|
130
135
|
};
|
|
131
136
|
if (pausable) {
|
|
@@ -135,27 +140,29 @@ function addBurnable(c, pausable) {
|
|
|
135
140
|
c.addTraitFunction(nonFungibleBurnableTrait, burnableFunctions.burn_from);
|
|
136
141
|
c.addFunctionTag(burnableFunctions.burn_from, 'when_not_paused', nonFungibleBurnableTrait);
|
|
137
142
|
}
|
|
143
|
+
else if (explicitImplementations)
|
|
144
|
+
c.addTraitForEachFunctions(nonFungibleBurnableTrait, nonFungibleBurnableFunctions);
|
|
138
145
|
else {
|
|
139
|
-
// prepend '#[default_impl]'
|
|
140
|
-
nonFungibleBurnableTrait.tags.unshift('default_impl');
|
|
141
146
|
c.addTraitImplBlock(nonFungibleBurnableTrait);
|
|
142
147
|
}
|
|
143
148
|
}
|
|
144
|
-
function addEnumerable(c) {
|
|
149
|
+
function addEnumerable(c, explicitImplementations) {
|
|
145
150
|
c.addUseClause('stellar_tokens::non_fungible', 'enumerable::{NonFungibleEnumerable, Enumerable}');
|
|
146
|
-
c.addUseClause('stellar_macros', 'default_impl');
|
|
147
151
|
const nonFungibleEnumerableTrait = {
|
|
148
152
|
traitName: 'NonFungibleEnumerable',
|
|
149
153
|
structName: c.name,
|
|
150
|
-
tags: ['
|
|
154
|
+
tags: explicitImplementations ? ['contractimpl'] : ['contractimpl(contracttrait)'],
|
|
151
155
|
section: 'Extensions',
|
|
152
156
|
};
|
|
153
|
-
|
|
157
|
+
if (explicitImplementations)
|
|
158
|
+
c.addTraitForEachFunctions(nonFungibleEnumerableTrait, nonFungibleEnumerableTraitFunctions);
|
|
159
|
+
else
|
|
160
|
+
c.addTraitImplBlock(nonFungibleEnumerableTrait);
|
|
154
161
|
c.overrideAssocType('NonFungibleToken', 'type ContractType = Enumerable;');
|
|
155
162
|
}
|
|
156
|
-
function addConsecutive(c, pausable, access) {
|
|
163
|
+
function addConsecutive(c, pausable, access, explicitImplementations) {
|
|
157
164
|
c.addUseClause('stellar_tokens::non_fungible', 'consecutive::{NonFungibleConsecutive, Consecutive}');
|
|
158
|
-
|
|
165
|
+
const effectiveAccess = access === false ? set_access_control_1.DEFAULT_ACCESS_CONTROL : access;
|
|
159
166
|
const nonFungibleConsecutiveTrait = {
|
|
160
167
|
traitName: 'NonFungibleConsecutive',
|
|
161
168
|
structName: c.name,
|
|
@@ -164,43 +171,46 @@ function addConsecutive(c, pausable, access) {
|
|
|
164
171
|
};
|
|
165
172
|
c.addTraitImplBlock(nonFungibleConsecutiveTrait);
|
|
166
173
|
c.overrideAssocType('NonFungibleToken', 'type ContractType = Consecutive;');
|
|
167
|
-
const mintFn =
|
|
174
|
+
const mintFn = effectiveAccess === 'ownable' ? consecutiveFunctions.batch_mint : consecutiveFunctions.batch_mint_with_caller;
|
|
168
175
|
c.addFreeFunction(mintFn);
|
|
169
176
|
if (pausable) {
|
|
170
177
|
c.addFunctionTag(mintFn, 'when_not_paused');
|
|
171
178
|
}
|
|
172
|
-
(0, set_access_control_1.requireAccessControl)(c, undefined, mintFn,
|
|
179
|
+
(0, set_access_control_1.requireAccessControl)(c, undefined, mintFn, effectiveAccess, {
|
|
173
180
|
useMacro: true,
|
|
174
181
|
role: 'minter',
|
|
175
182
|
caller: 'caller',
|
|
176
|
-
});
|
|
183
|
+
}, explicitImplementations);
|
|
177
184
|
}
|
|
178
|
-
function addMintable(c, enumerable, pausable, sequential, access) {
|
|
179
|
-
c.addUseClause('soroban_sdk', 'Address');
|
|
185
|
+
function addMintable(c, enumerable, pausable, sequential, access, explicitImplementations) {
|
|
180
186
|
const accessProps = { useMacro: true, role: 'minter', caller: 'caller' };
|
|
187
|
+
const effectiveAccess = access === false ? set_access_control_1.DEFAULT_ACCESS_CONTROL : access;
|
|
181
188
|
let mintFn;
|
|
182
189
|
if (enumerable) {
|
|
183
190
|
if (sequential) {
|
|
184
191
|
mintFn =
|
|
185
|
-
|
|
192
|
+
effectiveAccess === 'ownable'
|
|
193
|
+
? enumerableFunctions.sequential_mint
|
|
194
|
+
: enumerableFunctions.sequential_mint_with_caller;
|
|
186
195
|
}
|
|
187
196
|
else {
|
|
188
197
|
mintFn =
|
|
189
|
-
|
|
198
|
+
effectiveAccess === 'ownable'
|
|
190
199
|
? enumerableFunctions.non_sequential_mint
|
|
191
200
|
: enumerableFunctions.non_sequential_mint_with_caller;
|
|
192
201
|
}
|
|
193
202
|
}
|
|
194
203
|
else {
|
|
195
204
|
if (sequential) {
|
|
196
|
-
mintFn =
|
|
205
|
+
mintFn =
|
|
206
|
+
effectiveAccess === 'ownable' ? baseFunctions.sequential_mint : baseFunctions.sequential_mint_with_caller;
|
|
197
207
|
}
|
|
198
208
|
else {
|
|
199
|
-
mintFn =
|
|
209
|
+
mintFn = effectiveAccess === 'ownable' ? baseFunctions.mint : baseFunctions.mint_with_caller;
|
|
200
210
|
}
|
|
201
211
|
}
|
|
202
212
|
c.addFreeFunction(mintFn);
|
|
203
|
-
(0, set_access_control_1.requireAccessControl)(c, undefined, mintFn,
|
|
213
|
+
(0, set_access_control_1.requireAccessControl)(c, undefined, mintFn, effectiveAccess, accessProps, explicitImplementations);
|
|
204
214
|
if (pausable) {
|
|
205
215
|
c.addFunctionTag(mintFn, 'when_not_paused');
|
|
206
216
|
}
|
|
@@ -306,6 +316,19 @@ const baseFunctions = (0, define_functions_1.defineFunctions)({
|
|
|
306
316
|
code: ['Base::sequential_mint(e, &to);'],
|
|
307
317
|
},
|
|
308
318
|
});
|
|
319
|
+
const nonFungibleTokenTraitFunctions = (0, wizard_common_1.pickKeys)(baseFunctions, [
|
|
320
|
+
'balance',
|
|
321
|
+
'owner_of',
|
|
322
|
+
'transfer',
|
|
323
|
+
'transfer_from',
|
|
324
|
+
'approve',
|
|
325
|
+
'approve_for_all',
|
|
326
|
+
'get_approved',
|
|
327
|
+
'is_approved_for_all',
|
|
328
|
+
'name',
|
|
329
|
+
'symbol',
|
|
330
|
+
'token_uri',
|
|
331
|
+
]);
|
|
309
332
|
const burnableFunctions = (0, define_functions_1.defineFunctions)({
|
|
310
333
|
burn: {
|
|
311
334
|
args: [(0, common_options_1.getSelfArg)(), { name: 'from', type: 'Address' }, { name: 'token_id', type: 'u32' }],
|
|
@@ -321,11 +344,22 @@ const burnableFunctions = (0, define_functions_1.defineFunctions)({
|
|
|
321
344
|
code: ['Self::ContractType::burn_from(e, &spender, &from, token_id)'],
|
|
322
345
|
},
|
|
323
346
|
});
|
|
347
|
+
const nonFungibleBurnableFunctions = (0, wizard_common_1.pickKeys)(burnableFunctions, ['burn', 'burn_from']);
|
|
324
348
|
const enumerableFunctions = (0, define_functions_1.defineFunctions)({
|
|
325
349
|
total_supply: {
|
|
326
350
|
args: [(0, common_options_1.getSelfArg)()],
|
|
327
351
|
returns: 'u32',
|
|
328
|
-
code: ['
|
|
352
|
+
code: ['Enumerable::total_supply(e)'],
|
|
353
|
+
},
|
|
354
|
+
get_owner_token_id: {
|
|
355
|
+
args: [(0, common_options_1.getSelfArg)(), { name: 'owner', type: 'Address' }, { name: 'index', type: 'u32' }],
|
|
356
|
+
returns: 'u32',
|
|
357
|
+
code: ['Enumerable::get_owner_token_id(e, &owner, index)'],
|
|
358
|
+
},
|
|
359
|
+
get_token_id: {
|
|
360
|
+
args: [(0, common_options_1.getSelfArg)(), { name: 'index', type: 'u32' }],
|
|
361
|
+
returns: 'u32',
|
|
362
|
+
code: ['Enumerable::get_token_id(e, index)'],
|
|
329
363
|
},
|
|
330
364
|
non_sequential_mint: {
|
|
331
365
|
name: 'mint',
|
|
@@ -353,12 +387,17 @@ const enumerableFunctions = (0, define_functions_1.defineFunctions)({
|
|
|
353
387
|
code: ['Enumerable::sequential_mint(e, &to);'],
|
|
354
388
|
},
|
|
355
389
|
});
|
|
390
|
+
const nonFungibleEnumerableTraitFunctions = (0, wizard_common_1.pickKeys)(enumerableFunctions, [
|
|
391
|
+
'total_supply',
|
|
392
|
+
'get_owner_token_id',
|
|
393
|
+
'get_token_id',
|
|
394
|
+
]);
|
|
356
395
|
const consecutiveFunctions = (0, define_functions_1.defineFunctions)({
|
|
357
396
|
batch_mint: {
|
|
358
397
|
name: 'batch_mint',
|
|
359
398
|
args: [(0, common_options_1.getSelfArg)(), { name: 'to', type: 'Address' }, { name: 'amount', type: 'u32' }],
|
|
360
399
|
returns: 'u32',
|
|
361
|
-
code: ['Consecutive::batch_mint(e, &to, amount)
|
|
400
|
+
code: ['Consecutive::batch_mint(e, &to, amount)'],
|
|
362
401
|
},
|
|
363
402
|
batch_mint_with_caller: {
|
|
364
403
|
name: 'batch_mint',
|
|
@@ -369,7 +408,7 @@ const consecutiveFunctions = (0, define_functions_1.defineFunctions)({
|
|
|
369
408
|
{ name: 'caller', type: 'Address' },
|
|
370
409
|
],
|
|
371
410
|
returns: 'u32',
|
|
372
|
-
code: ['Consecutive::batch_mint(e, &to, amount)
|
|
411
|
+
code: ['Consecutive::batch_mint(e, &to, amount)'],
|
|
373
412
|
},
|
|
374
413
|
});
|
|
375
414
|
//# sourceMappingURL=non-fungible.js.map
|
package/dist/non-fungible.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-fungible.js","sourceRoot":"","sources":["../src/non-fungible.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"non-fungible.js","sourceRoot":"","sources":["../src/non-fungible.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,9 +10,9 @@ export type AccessProps = {
|
|
|
10
10
|
/**
|
|
11
11
|
* Sets access control for the contract via constructor args.
|
|
12
12
|
*/
|
|
13
|
-
export declare function setAccessControl(c: ContractBuilder, access: Access): void;
|
|
13
|
+
export declare function setAccessControl(c: ContractBuilder, access: Access, explicitImplementations?: boolean): void;
|
|
14
14
|
/**
|
|
15
15
|
* Enables access control for the contract and restricts the given function with access control.
|
|
16
16
|
*/
|
|
17
|
-
export declare function requireAccessControl(c: ContractBuilder, trait: BaseTraitImplBlock | undefined, fn: BaseFunction, access: Access, accessProps?: AccessProps): void;
|
|
17
|
+
export declare function requireAccessControl(c: ContractBuilder, trait: BaseTraitImplBlock | undefined, fn: BaseFunction, access: Access, accessProps?: AccessProps, explicitImplementations?: boolean): void;
|
|
18
18
|
//# sourceMappingURL=set-access-control.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-access-control.d.ts","sourceRoot":"","sources":["../src/set-access-control.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"set-access-control.d.ts","sourceRoot":"","sources":["../src/set-access-control.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGpF,eAAO,MAAM,aAAa,sCAAuC,CAAC;AAClE,eAAO,MAAM,sBAAsB,YAAY,CAAC;AAEhD,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AACpD,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,uBAAuB,UAAQ,GAAG,IAAI,CAuD1G;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,CAAC,EAAE,eAAe,EAClB,KAAK,EAAE,kBAAkB,GAAG,SAAS,EACrC,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,MAAM,EACd,WAAW,GAAE,WAAgC,EAC7C,uBAAuB,UAAQ,GAC9B,IAAI,CAqDN"}
|
|
@@ -3,12 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.DEFAULT_ACCESS_CONTROL = exports.accessOptions = void 0;
|
|
4
4
|
exports.setAccessControl = setAccessControl;
|
|
5
5
|
exports.requireAccessControl = requireAccessControl;
|
|
6
|
+
const common_options_1 = require("./common-options");
|
|
7
|
+
const define_functions_1 = require("./utils/define-functions");
|
|
6
8
|
exports.accessOptions = [false, 'ownable', 'roles'];
|
|
7
9
|
exports.DEFAULT_ACCESS_CONTROL = 'ownable';
|
|
8
10
|
/**
|
|
9
11
|
* Sets access control for the contract via constructor args.
|
|
10
12
|
*/
|
|
11
|
-
function setAccessControl(c, access) {
|
|
13
|
+
function setAccessControl(c, access, explicitImplementations = false) {
|
|
12
14
|
switch (access) {
|
|
13
15
|
case false:
|
|
14
16
|
break;
|
|
@@ -21,10 +23,15 @@ function setAccessControl(c, access) {
|
|
|
21
23
|
const ownableTrait = {
|
|
22
24
|
traitName: 'Ownable',
|
|
23
25
|
structName: c.name,
|
|
24
|
-
tags: ['
|
|
26
|
+
tags: explicitImplementations ? ['contractimpl'] : ['contractimpl(contracttrait)'],
|
|
25
27
|
section: 'Utils',
|
|
26
28
|
};
|
|
27
|
-
|
|
29
|
+
if (explicitImplementations) {
|
|
30
|
+
c.addTraitForEachFunctions(ownableTrait, ownableFunctions);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
c.addTraitImplBlock(ownableTrait);
|
|
34
|
+
}
|
|
28
35
|
c.addConstructorArgument({ name: 'owner', type: 'Address' });
|
|
29
36
|
c.addConstructorCode('ownable::set_owner(e, &owner);');
|
|
30
37
|
}
|
|
@@ -34,13 +41,19 @@ function setAccessControl(c, access) {
|
|
|
34
41
|
c.addUseClause('soroban_sdk', 'Address');
|
|
35
42
|
c.addUseClause('stellar_access::access_control', 'self', { alias: 'access_control' });
|
|
36
43
|
c.addUseClause('stellar_access::access_control', 'AccessControl');
|
|
37
|
-
const
|
|
44
|
+
const accessControlTrait = {
|
|
38
45
|
traitName: 'AccessControl',
|
|
39
46
|
structName: c.name,
|
|
40
|
-
tags: ['
|
|
47
|
+
tags: explicitImplementations ? ['contractimpl'] : ['contractimpl(contracttrait)'],
|
|
41
48
|
section: 'Utils',
|
|
42
49
|
};
|
|
43
|
-
|
|
50
|
+
if (explicitImplementations) {
|
|
51
|
+
c.addUseClause('soroban_sdk', 'Symbol');
|
|
52
|
+
c.addTraitForEachFunctions(accessControlTrait, accessControlFunctions);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
c.addTraitImplBlock(accessControlTrait);
|
|
56
|
+
}
|
|
44
57
|
c.addConstructorArgument({ name: 'admin', type: 'Address' });
|
|
45
58
|
c.addConstructorCode('access_control::set_admin(e, &admin);');
|
|
46
59
|
break;
|
|
@@ -54,11 +67,11 @@ function setAccessControl(c, access) {
|
|
|
54
67
|
/**
|
|
55
68
|
* Enables access control for the contract and restricts the given function with access control.
|
|
56
69
|
*/
|
|
57
|
-
function requireAccessControl(c, trait, fn, access, accessProps = { useMacro: true }) {
|
|
70
|
+
function requireAccessControl(c, trait, fn, access, accessProps = { useMacro: true }, explicitImplementations = false) {
|
|
58
71
|
if (access === false) {
|
|
59
72
|
access = exports.DEFAULT_ACCESS_CONTROL;
|
|
60
73
|
}
|
|
61
|
-
setAccessControl(c, access);
|
|
74
|
+
setAccessControl(c, access, explicitImplementations);
|
|
62
75
|
switch (access) {
|
|
63
76
|
case 'ownable': {
|
|
64
77
|
c.addUseClause('stellar_macros', 'only_owner');
|
|
@@ -74,14 +87,15 @@ function requireAccessControl(c, trait, fn, access, accessProps = { useMacro: tr
|
|
|
74
87
|
const { useMacro, caller, role } = accessProps;
|
|
75
88
|
if (caller && role) {
|
|
76
89
|
c.addUseClause('soroban_sdk', 'Symbol');
|
|
90
|
+
c.addUseClause('soroban_sdk', 'Vec');
|
|
77
91
|
c.addConstructorArgument({ name: role, type: 'Address' });
|
|
78
|
-
c.addConstructorCode(`access_control::grant_role_no_auth(e,
|
|
92
|
+
c.addConstructorCode(`access_control::grant_role_no_auth(e, &${role}, &Symbol::new(e, "${role}"), &admin);`);
|
|
79
93
|
if (useMacro) {
|
|
80
94
|
c.addUseClause('stellar_macros', 'only_role');
|
|
81
95
|
c.addFunctionTag(fn, `only_role(${caller}, "${role}")`, trait);
|
|
82
96
|
}
|
|
83
97
|
else {
|
|
84
|
-
c.addFunctionCodeBefore(fn, [`access_control::ensure_role(e,
|
|
98
|
+
c.addFunctionCodeBefore(fn, [`access_control::ensure_role(e, &Symbol::new(e, "${role}"), ${caller});`], trait);
|
|
85
99
|
}
|
|
86
100
|
}
|
|
87
101
|
else {
|
|
@@ -101,4 +115,93 @@ function requireAccessControl(c, trait, fn, access, accessProps = { useMacro: tr
|
|
|
101
115
|
}
|
|
102
116
|
}
|
|
103
117
|
}
|
|
118
|
+
const ownableFunctions = (0, define_functions_1.defineFunctions)({
|
|
119
|
+
get_owner: {
|
|
120
|
+
args: [(0, common_options_1.getSelfArg)()],
|
|
121
|
+
returns: 'Option<Address>',
|
|
122
|
+
code: ['ownable::get_owner(e)'],
|
|
123
|
+
},
|
|
124
|
+
transfer_ownership: {
|
|
125
|
+
args: [(0, common_options_1.getSelfArg)(), { name: 'new_owner', type: 'Address' }, { name: 'live_until_ledger', type: 'u32' }],
|
|
126
|
+
code: ['ownable::transfer_ownership(e, &new_owner, live_until_ledger);'],
|
|
127
|
+
},
|
|
128
|
+
accept_ownership: {
|
|
129
|
+
args: [(0, common_options_1.getSelfArg)()],
|
|
130
|
+
code: ['ownable::accept_ownership(e);'],
|
|
131
|
+
},
|
|
132
|
+
renounce_ownership: {
|
|
133
|
+
args: [(0, common_options_1.getSelfArg)()],
|
|
134
|
+
code: ['ownable::renounce_ownership(e);'],
|
|
135
|
+
},
|
|
136
|
+
});
|
|
137
|
+
const accessControlFunctions = (0, define_functions_1.defineFunctions)({
|
|
138
|
+
has_role: {
|
|
139
|
+
args: [(0, common_options_1.getSelfArg)(), { name: 'account', type: 'Address' }, { name: 'role', type: 'Symbol' }],
|
|
140
|
+
returns: 'Option<u32>',
|
|
141
|
+
code: ['access_control::has_role(e, &account, &role)'],
|
|
142
|
+
},
|
|
143
|
+
get_existing_roles: {
|
|
144
|
+
args: [(0, common_options_1.getSelfArg)()],
|
|
145
|
+
returns: 'Vec<Symbol>',
|
|
146
|
+
code: ['access_control::get_existing_roles(e)'],
|
|
147
|
+
},
|
|
148
|
+
get_role_member_count: {
|
|
149
|
+
args: [(0, common_options_1.getSelfArg)(), { name: 'role', type: 'Symbol' }],
|
|
150
|
+
returns: 'u32',
|
|
151
|
+
code: ['access_control::get_role_member_count(e, &role)'],
|
|
152
|
+
},
|
|
153
|
+
get_role_member: {
|
|
154
|
+
args: [(0, common_options_1.getSelfArg)(), { name: 'role', type: 'Symbol' }, { name: 'index', type: 'u32' }],
|
|
155
|
+
returns: 'Address',
|
|
156
|
+
code: ['access_control::get_role_member(e, &role, index)'],
|
|
157
|
+
},
|
|
158
|
+
get_role_admin: {
|
|
159
|
+
args: [(0, common_options_1.getSelfArg)(), { name: 'role', type: 'Symbol' }],
|
|
160
|
+
returns: 'Option<Symbol>',
|
|
161
|
+
code: ['access_control::get_role_admin(e, &role)'],
|
|
162
|
+
},
|
|
163
|
+
get_admin: {
|
|
164
|
+
args: [(0, common_options_1.getSelfArg)()],
|
|
165
|
+
returns: 'Option<Address>',
|
|
166
|
+
code: ['access_control::get_admin(e)'],
|
|
167
|
+
},
|
|
168
|
+
grant_role: {
|
|
169
|
+
args: [
|
|
170
|
+
(0, common_options_1.getSelfArg)(),
|
|
171
|
+
{ name: 'account', type: 'Address' },
|
|
172
|
+
{ name: 'role', type: 'Symbol' },
|
|
173
|
+
{ name: 'caller', type: 'Address' },
|
|
174
|
+
],
|
|
175
|
+
code: ['access_control::grant_role(e, &account, &role, &caller);'],
|
|
176
|
+
},
|
|
177
|
+
revoke_role: {
|
|
178
|
+
args: [
|
|
179
|
+
(0, common_options_1.getSelfArg)(),
|
|
180
|
+
{ name: 'account', type: 'Address' },
|
|
181
|
+
{ name: 'role', type: 'Symbol' },
|
|
182
|
+
{ name: 'caller', type: 'Address' },
|
|
183
|
+
],
|
|
184
|
+
code: ['access_control::revoke_role(e, &account, &role, &caller);'],
|
|
185
|
+
},
|
|
186
|
+
renounce_role: {
|
|
187
|
+
args: [(0, common_options_1.getSelfArg)(), { name: 'role', type: 'Symbol' }, { name: 'caller', type: 'Address' }],
|
|
188
|
+
code: ['access_control::renounce_role(e, &role, &caller);'],
|
|
189
|
+
},
|
|
190
|
+
transfer_admin_role: {
|
|
191
|
+
args: [(0, common_options_1.getSelfArg)(), { name: 'new_admin', type: 'Address' }, { name: 'live_until_ledger', type: 'u32' }],
|
|
192
|
+
code: ['access_control::transfer_admin_role(e, &new_admin, live_until_ledger);'],
|
|
193
|
+
},
|
|
194
|
+
accept_admin_transfer: {
|
|
195
|
+
args: [(0, common_options_1.getSelfArg)()],
|
|
196
|
+
code: ['access_control::accept_admin_transfer(e);'],
|
|
197
|
+
},
|
|
198
|
+
set_role_admin: {
|
|
199
|
+
args: [(0, common_options_1.getSelfArg)(), { name: 'role', type: 'Symbol' }, { name: 'admin_role', type: 'Symbol' }],
|
|
200
|
+
code: ['access_control::set_role_admin(e, &role, &admin_role);'],
|
|
201
|
+
},
|
|
202
|
+
renounce_admin: {
|
|
203
|
+
args: [(0, common_options_1.getSelfArg)()],
|
|
204
|
+
code: ['access_control::renounce_admin(e);'],
|
|
205
|
+
},
|
|
206
|
+
});
|
|
104
207
|
//# sourceMappingURL=set-access-control.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-access-control.js","sourceRoot":"","sources":["../src/set-access-control.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"set-access-control.js","sourceRoot":"","sources":["../src/set-access-control.ts"],"names":[],"mappings":"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"}
|
package/dist/stablecoin.d.ts
CHANGED
|
@@ -2,9 +2,10 @@ import type { Contract } from './contract';
|
|
|
2
2
|
import type { FungibleOptions } from './fungible';
|
|
3
3
|
export declare const defaults: Required<StablecoinOptions>;
|
|
4
4
|
export declare const limitationsOptions: readonly [false, "allowlist", "blocklist"];
|
|
5
|
+
export type Limitations = (typeof limitationsOptions)[number];
|
|
5
6
|
export declare function printStablecoin(opts?: StablecoinOptions): string;
|
|
6
7
|
export interface StablecoinOptions extends FungibleOptions {
|
|
7
|
-
limitations?:
|
|
8
|
+
limitations?: Limitations;
|
|
8
9
|
}
|
|
9
10
|
export declare function isAccessControlRequired(opts: Partial<StablecoinOptions>): boolean;
|
|
10
11
|
export declare function buildStablecoin(opts: StablecoinOptions): Contract;
|
package/dist/stablecoin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stablecoin.d.ts","sourceRoot":"","sources":["../src/stablecoin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stablecoin.d.ts","sourceRoot":"","sources":["../src/stablecoin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAmB,MAAM,YAAY,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAYlD,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAKvC,CAAC;AAEX,eAAO,MAAM,kBAAkB,4CAA6C,CAAC;AAC7E,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,wBAAgB,eAAe,CAAC,IAAI,GAAE,iBAA4B,GAAG,MAAM,CAE1E;AAED,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAWD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAEjF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,QAAQ,CAUjE"}
|