zkcloudworker 0.16.2 → 0.16.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,292 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { AccountUpdate, AccountUpdateForest, assert, Bool, Int64, method, Permissions, Provable, PublicKey, State, state, Struct, TokenContractV2, Types, UInt64, UInt8, VerificationKey, } from "o1js_v1";
3
- import { FungibleTokenAdmin, } from "./FungibleTokenAdmin.js";
4
- export const FungibleTokenErrors = {
5
- noAdminKey: "could not fetch admin contract key",
6
- noPermissionToChangeAdmin: "Not allowed to change admin contract",
7
- tokenPaused: "Token is currently paused",
8
- noPermissionToMint: "Not allowed to mint tokens",
9
- noPermissionToPause: "Not allowed to pause token",
10
- noPermissionToResume: "Not allowed to resume token",
11
- noTransferFromCirculation: "Can't transfer to/from the circulation account",
12
- noPermissionChangeAllowed: "Can't change permissions for access or receive on token accounts",
13
- flashMinting: "Flash-minting or unbalanced transaction detected. Please make sure that your transaction is balanced, and that your `AccountUpdate`s are ordered properly, so that tokens are not received before they are sent.",
14
- unbalancedTransaction: "Transaction is unbalanced",
15
- };
16
- export class FungibleToken extends TokenContractV2 {
17
- constructor() {
18
- super(...arguments);
19
- this.decimals = State();
20
- this.admin = State();
21
- this.paused = State();
22
- this.events = {
23
- SetAdmin: SetAdminEvent,
24
- Pause: PauseEvent,
25
- Mint: MintEvent,
26
- Burn: BurnEvent,
27
- BalanceChange: BalanceChangeEvent,
28
- };
29
- }
30
- async deploy(props) {
31
- await super.deploy(props);
32
- this.paused.set(Bool(true));
33
- this.account.zkappUri.set(props.src);
34
- this.account.tokenSymbol.set(props.symbol);
35
- this.account.permissions.set({
36
- ...Permissions.default(),
37
- setVerificationKey: Permissions.VerificationKey.impossibleDuringCurrentVersion(),
38
- setPermissions: Permissions.impossible(),
39
- access: Permissions.proof(),
40
- });
41
- }
42
- /** Update the verification key.
43
- * Note that because we have set the permissions for setting the verification key to `impossibleDuringCurrentVersion()`, this will only be possible in case of a protocol update that requires an update.
44
- */
45
- async updateVerificationKey(vk) {
46
- this.account.verificationKey.set(vk);
47
- }
48
- /** Initializes the account for tracking total circulation.
49
- * @argument {PublicKey} admin - public key where the admin contract is deployed
50
- * @argument {UInt8} decimals - number of decimals for the token
51
- * @argument {Bool} startPaused - if set to `Bool(true), the contract will start in a mode where token minting and transfers are paused. This should be used for non-atomic deployments
52
- */
53
- async initialize(admin, decimals, startPaused) {
54
- this.account.provedState.requireEquals(Bool(false));
55
- this.admin.set(admin);
56
- this.decimals.set(decimals);
57
- this.paused.set(Bool(false));
58
- this.paused.set(startPaused);
59
- const accountUpdate = AccountUpdate.createSigned(this.address, this.deriveTokenId());
60
- let permissions = Permissions.default();
61
- // This is necessary in order to allow token holders to burn.
62
- permissions.send = Permissions.none();
63
- permissions.setPermissions = Permissions.impossible();
64
- accountUpdate.account.permissions.set(permissions);
65
- }
66
- async getAdminContract() {
67
- const admin = await Provable.witnessAsync(PublicKey, async () => {
68
- let pk = await this.admin.fetch();
69
- assert(pk !== undefined, FungibleTokenErrors.noAdminKey);
70
- return pk;
71
- });
72
- this.admin.requireEquals(admin);
73
- return new FungibleToken.AdminContract(admin);
74
- }
75
- async setAdmin(admin) {
76
- const adminContract = await this.getAdminContract();
77
- const canChangeAdmin = await adminContract.canChangeAdmin(admin);
78
- canChangeAdmin.assertTrue(FungibleTokenErrors.noPermissionToChangeAdmin);
79
- this.admin.set(admin);
80
- this.emitEvent("SetAdmin", new SetAdminEvent({ adminKey: admin }));
81
- }
82
- async mint(recipient, amount) {
83
- this.paused
84
- .getAndRequireEquals()
85
- .assertFalse(FungibleTokenErrors.tokenPaused);
86
- const accountUpdate = this.internal.mint({ address: recipient, amount });
87
- const adminContract = await this.getAdminContract();
88
- const canMint = await adminContract.canMint(accountUpdate);
89
- canMint.assertTrue(FungibleTokenErrors.noPermissionToMint);
90
- recipient
91
- .equals(this.address)
92
- .assertFalse(FungibleTokenErrors.noTransferFromCirculation);
93
- this.approve(accountUpdate);
94
- this.emitEvent("Mint", new MintEvent({ recipient, amount }));
95
- const circulationUpdate = AccountUpdate.create(this.address, this.deriveTokenId());
96
- circulationUpdate.balanceChange = Int64.fromUnsigned(amount);
97
- return accountUpdate;
98
- }
99
- async burn(from, amount) {
100
- this.paused
101
- .getAndRequireEquals()
102
- .assertFalse(FungibleTokenErrors.tokenPaused);
103
- const accountUpdate = this.internal.burn({ address: from, amount });
104
- const circulationUpdate = AccountUpdate.create(this.address, this.deriveTokenId());
105
- from
106
- .equals(this.address)
107
- .assertFalse(FungibleTokenErrors.noTransferFromCirculation);
108
- circulationUpdate.balanceChange = Int64.fromUnsigned(amount).negV2();
109
- this.emitEvent("Burn", new BurnEvent({ from, amount }));
110
- return accountUpdate;
111
- }
112
- async pause() {
113
- const adminContract = await this.getAdminContract();
114
- const canPause = await adminContract.canPause();
115
- canPause.assertTrue(FungibleTokenErrors.noPermissionToPause);
116
- this.paused.set(Bool(true));
117
- this.emitEvent("Pause", new PauseEvent({ isPaused: Bool(true) }));
118
- }
119
- async resume() {
120
- const adminContract = await this.getAdminContract();
121
- const canResume = await adminContract.canResume();
122
- canResume.assertTrue(FungibleTokenErrors.noPermissionToResume);
123
- this.paused.set(Bool(false));
124
- this.emitEvent("Pause", new PauseEvent({ isPaused: Bool(false) }));
125
- }
126
- async transfer(from, to, amount) {
127
- this.paused
128
- .getAndRequireEquals()
129
- .assertFalse(FungibleTokenErrors.tokenPaused);
130
- from
131
- .equals(this.address)
132
- .assertFalse(FungibleTokenErrors.noTransferFromCirculation);
133
- to.equals(this.address).assertFalse(FungibleTokenErrors.noTransferFromCirculation);
134
- this.internal.send({ from, to, amount });
135
- }
136
- checkPermissionsUpdate(update) {
137
- let permissions = update.update.permissions;
138
- let { access, receive } = permissions.value;
139
- let accessIsNone = Provable.equal(Types.AuthRequired, access, Permissions.none());
140
- let receiveIsNone = Provable.equal(Types.AuthRequired, receive, Permissions.none());
141
- let updateAllowed = accessIsNone.and(receiveIsNone);
142
- assert(updateAllowed.or(permissions.isSome.not()), FungibleTokenErrors.noPermissionChangeAllowed);
143
- }
144
- /** Approve `AccountUpdate`s that have been created outside of the token contract.
145
- *
146
- * @argument {AccountUpdateForest} updates - The `AccountUpdate`s to approve. Note that the forest size is limited by the base token contract, @see TokenContractV2.MAX_ACCOUNT_UPDATES The current limit is 9.
147
- */
148
- async approveBase(updates) {
149
- this.paused
150
- .getAndRequireEquals()
151
- .assertFalse(FungibleTokenErrors.tokenPaused);
152
- let totalBalance = Int64.from(0);
153
- this.forEachUpdate(updates, (update, usesToken) => {
154
- // Make sure that the account permissions are not changed
155
- this.checkPermissionsUpdate(update);
156
- this.emitEventIf(usesToken, "BalanceChange", new BalanceChangeEvent({
157
- address: update.publicKey,
158
- amount: update.balanceChange,
159
- }));
160
- // Don't allow transfers to/from the account that's tracking circulation
161
- update.publicKey
162
- .equals(this.address)
163
- .and(usesToken)
164
- .assertFalse(FungibleTokenErrors.noTransferFromCirculation);
165
- totalBalance = Provable.if(usesToken, totalBalance.add(update.balanceChange), totalBalance);
166
- totalBalance.isPositiveV2().assertFalse(FungibleTokenErrors.flashMinting);
167
- });
168
- totalBalance.assertEquals(Int64.zero, FungibleTokenErrors.unbalancedTransaction);
169
- }
170
- async getBalanceOf(address) {
171
- const account = AccountUpdate.create(address, this.deriveTokenId()).account;
172
- const balance = account.balance.get();
173
- account.balance.requireEquals(balance);
174
- return balance;
175
- }
176
- /** Reports the current circulating supply
177
- * This does take into account currently unreduced actions.
178
- */
179
- async getCirculating() {
180
- let circulating = await this.getBalanceOf(this.address);
181
- return circulating;
182
- }
183
- async getDecimals() {
184
- return this.decimals.getAndRequireEquals();
185
- }
186
- }
187
- // This defines the type of the contract that is used to control access to administrative actions.
188
- // If you want to have a custom contract, overwrite this by setting FungibleToken.AdminContract to
189
- // your own implementation of FungibleTokenAdminBase.
190
- FungibleToken.AdminContract = FungibleTokenAdmin;
191
- __decorate([
192
- state(UInt8),
193
- __metadata("design:type", Object)
194
- ], FungibleToken.prototype, "decimals", void 0);
195
- __decorate([
196
- state(PublicKey),
197
- __metadata("design:type", Object)
198
- ], FungibleToken.prototype, "admin", void 0);
199
- __decorate([
200
- state(Bool),
201
- __metadata("design:type", Object)
202
- ], FungibleToken.prototype, "paused", void 0);
203
- __decorate([
204
- method,
205
- __metadata("design:type", Function),
206
- __metadata("design:paramtypes", [VerificationKey]),
207
- __metadata("design:returntype", Promise)
208
- ], FungibleToken.prototype, "updateVerificationKey", null);
209
- __decorate([
210
- method,
211
- __metadata("design:type", Function),
212
- __metadata("design:paramtypes", [PublicKey, UInt8, Bool]),
213
- __metadata("design:returntype", Promise)
214
- ], FungibleToken.prototype, "initialize", null);
215
- __decorate([
216
- method,
217
- __metadata("design:type", Function),
218
- __metadata("design:paramtypes", [PublicKey]),
219
- __metadata("design:returntype", Promise)
220
- ], FungibleToken.prototype, "setAdmin", null);
221
- __decorate([
222
- method.returns(AccountUpdate),
223
- __metadata("design:type", Function),
224
- __metadata("design:paramtypes", [PublicKey, UInt64]),
225
- __metadata("design:returntype", Promise)
226
- ], FungibleToken.prototype, "mint", null);
227
- __decorate([
228
- method.returns(AccountUpdate),
229
- __metadata("design:type", Function),
230
- __metadata("design:paramtypes", [PublicKey, UInt64]),
231
- __metadata("design:returntype", Promise)
232
- ], FungibleToken.prototype, "burn", null);
233
- __decorate([
234
- method,
235
- __metadata("design:type", Function),
236
- __metadata("design:paramtypes", []),
237
- __metadata("design:returntype", Promise)
238
- ], FungibleToken.prototype, "pause", null);
239
- __decorate([
240
- method,
241
- __metadata("design:type", Function),
242
- __metadata("design:paramtypes", []),
243
- __metadata("design:returntype", Promise)
244
- ], FungibleToken.prototype, "resume", null);
245
- __decorate([
246
- method,
247
- __metadata("design:type", Function),
248
- __metadata("design:paramtypes", [PublicKey, PublicKey, UInt64]),
249
- __metadata("design:returntype", Promise)
250
- ], FungibleToken.prototype, "transfer", null);
251
- __decorate([
252
- method,
253
- __metadata("design:type", Function),
254
- __metadata("design:paramtypes", [AccountUpdateForest]),
255
- __metadata("design:returntype", Promise)
256
- ], FungibleToken.prototype, "approveBase", null);
257
- __decorate([
258
- method.returns(UInt64),
259
- __metadata("design:type", Function),
260
- __metadata("design:paramtypes", [PublicKey]),
261
- __metadata("design:returntype", Promise)
262
- ], FungibleToken.prototype, "getBalanceOf", null);
263
- __decorate([
264
- method.returns(UInt8),
265
- __metadata("design:type", Function),
266
- __metadata("design:paramtypes", []),
267
- __metadata("design:returntype", Promise)
268
- ], FungibleToken.prototype, "getDecimals", null);
269
- export class SetAdminEvent extends Struct({
270
- adminKey: PublicKey,
271
- }) {
272
- }
273
- export class PauseEvent extends Struct({
274
- isPaused: Bool,
275
- }) {
276
- }
277
- export class MintEvent extends Struct({
278
- recipient: PublicKey,
279
- amount: UInt64,
280
- }) {
281
- }
282
- export class BurnEvent extends Struct({
283
- from: PublicKey,
284
- amount: UInt64,
285
- }) {
286
- }
287
- export class BalanceChangeEvent extends Struct({
288
- address: PublicKey,
289
- amount: Int64,
290
- }) {
291
- }
292
- //# sourceMappingURL=FungibleToken.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FungibleToken.js","sourceRoot":"","sources":["../../../../../../src/mina/V1/FungibleToken.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EACb,mBAAmB,EAEnB,MAAM,EACN,IAAI,EAEJ,KAAK,EACL,MAAM,EACN,WAAW,EACX,QAAQ,EACR,SAAS,EACT,KAAK,EACL,KAAK,EACL,MAAM,EACN,eAAe,EACf,KAAK,EACL,MAAM,EACN,KAAK,EACL,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,kBAAkB,GAEnB,MAAM,yBAAyB,CAAC;AAUjC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,UAAU,EAAE,oCAAoC;IAChD,yBAAyB,EAAE,sCAAsC;IACjE,WAAW,EAAE,2BAA2B;IACxC,kBAAkB,EAAE,4BAA4B;IAChD,mBAAmB,EAAE,4BAA4B;IACjD,oBAAoB,EAAE,6BAA6B;IACnD,yBAAyB,EAAE,gDAAgD;IAC3E,yBAAyB,EACvB,kEAAkE;IACpE,YAAY,EACV,kNAAkN;IACpN,qBAAqB,EAAE,2BAA2B;CACnD,CAAC;AAEF,MAAM,OAAO,aAAc,SAAQ,eAAe;IAAlD;;QAEE,aAAQ,GAAG,KAAK,EAAS,CAAC;QAE1B,UAAK,GAAG,KAAK,EAAa,CAAC;QAE3B,WAAM,GAAG,KAAK,EAAQ,CAAC;QAQd,WAAM,GAAG;YAChB,QAAQ,EAAE,aAAa;YACvB,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,aAAa,EAAE,kBAAkB;SAClC,CAAC;IA+NJ,CAAC;IA7NC,KAAK,CAAC,MAAM,CAAC,KAA+B;QAC1C,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE3C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC;YAC3B,GAAG,WAAW,CAAC,OAAO,EAAE;YACxB,kBAAkB,EAChB,WAAW,CAAC,eAAe,CAAC,8BAA8B,EAAE;YAC9D,cAAc,EAAE,WAAW,CAAC,UAAU,EAAE;YACxC,MAAM,EAAE,WAAW,CAAC,KAAK,EAAE;SAC5B,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IAEG,AAAN,KAAK,CAAC,qBAAqB,CAAC,EAAmB;QAC7C,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IAEG,AAAN,KAAK,CAAC,UAAU,CAAC,KAAgB,EAAE,QAAe,EAAE,WAAiB;QACnE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAEpD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAE7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAE7B,MAAM,aAAa,GAAG,aAAa,CAAC,YAAY,CAC9C,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;QACF,IAAI,WAAW,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;QACxC,6DAA6D;QAC7D,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;QACtC,WAAW,CAAC,cAAc,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC;QACtD,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,gBAAgB;QAC3B,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAC9D,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACzD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,IAAI,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAGK,AAAN,KAAK,CAAC,QAAQ,CAAC,KAAgB;QAC7B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpD,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACjE,cAAc,CAAC,UAAU,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,CAAC;QACzE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,aAAa,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;IAGK,AAAN,KAAK,CAAC,IAAI,CAAC,SAAoB,EAAE,MAAc;QAC7C,IAAI,CAAC,MAAM;aACR,mBAAmB,EAAE;aACrB,WAAW,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QACzE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC3D,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;QAC3D,SAAS;aACN,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;aACpB,WAAW,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7D,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAC5C,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;QACF,iBAAiB,CAAC,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC7D,OAAO,aAAa,CAAC;IACvB,CAAC;IAGK,AAAN,KAAK,CAAC,IAAI,CAAC,IAAe,EAAE,MAAc;QACxC,IAAI,CAAC,MAAM;aACR,mBAAmB,EAAE;aACrB,WAAW,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACpE,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAC5C,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;QACF,IAAI;aACD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;aACpB,WAAW,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,CAAC;QAC9D,iBAAiB,CAAC,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QACrE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACxD,OAAO,aAAa,CAAC;IACvB,CAAC;IAGK,AAAN,KAAK,CAAC,KAAK;QACT,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;QAChD,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM;QACV,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpD,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,CAAC;QAClD,SAAS,CAAC,UAAU,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;IAGK,AAAN,KAAK,CAAC,QAAQ,CAAC,IAAe,EAAE,EAAa,EAAE,MAAc;QAC3D,IAAI,CAAC,MAAM;aACR,mBAAmB,EAAE;aACrB,WAAW,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI;aACD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;aACpB,WAAW,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,CAAC;QAC9D,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,CACjC,mBAAmB,CAAC,yBAAyB,CAC9C,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAEO,sBAAsB,CAAC,MAAqB;QAClD,IAAI,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;QAE5C,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC;QAC5C,IAAI,YAAY,GAAG,QAAQ,CAAC,KAAK,CAC/B,KAAK,CAAC,YAAY,EAClB,MAAM,EACN,WAAW,CAAC,IAAI,EAAE,CACnB,CAAC;QACF,IAAI,aAAa,GAAG,QAAQ,CAAC,KAAK,CAChC,KAAK,CAAC,YAAY,EAClB,OAAO,EACP,WAAW,CAAC,IAAI,EAAE,CACnB,CAAC;QACF,IAAI,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAEpD,MAAM,CACJ,aAAa,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAC1C,mBAAmB,CAAC,yBAAyB,CAC9C,CAAC;IACJ,CAAC;IAED;;;OAGG;IAEG,AAAN,KAAK,CAAC,WAAW,CAAC,OAA4B;QAC5C,IAAI,CAAC,MAAM;aACR,mBAAmB,EAAE;aACrB,WAAW,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;YAChD,yDAAyD;YACzD,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,WAAW,CACd,SAAS,EACT,eAAe,EACf,IAAI,kBAAkB,CAAC;gBACrB,OAAO,EAAE,MAAM,CAAC,SAAS;gBACzB,MAAM,EAAE,MAAM,CAAC,aAAa;aAC7B,CAAC,CACH,CAAC;YACF,wEAAwE;YACxE,MAAM,CAAC,SAAS;iBACb,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;iBACpB,GAAG,CAAC,SAAS,CAAC;iBACd,WAAW,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,CAAC;YAC9D,YAAY,GAAG,QAAQ,CAAC,EAAE,CACxB,SAAS,EACT,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,EACtC,YAAY,CACb,CAAC;YACF,YAAY,CAAC,YAAY,EAAE,CAAC,WAAW,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,YAAY,CACvB,KAAK,CAAC,IAAI,EACV,mBAAmB,CAAC,qBAAqB,CAC1C,CAAC;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,YAAY,CAAC,OAAkB;QACnC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC;QAC5E,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACtC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAClB,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,OAAO,WAAW,CAAC;IACrB,CAAC;IAGK,AAAN,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;IAC7C,CAAC;;AA1OD,kGAAkG;AAClG,kGAAkG;AAClG,qDAAqD;AAC9C,2BAAa,GAClB,kBAAkB,AADA,CACC;AAVrB;IADC,KAAK,CAAC,KAAK,CAAC;;+CACa;AAE1B;IADC,KAAK,CAAC,SAAS,CAAC;;4CACU;AAE3B;IADC,KAAK,CAAC,IAAI,CAAC;;6CACW;AAmCjB;IADL,MAAM;;qCACyB,eAAe;;0DAE9C;AAQK;IADL,MAAM;;qCACiB,SAAS,EAAY,KAAK,EAAe,IAAI;;+CAkBpE;AAaK;IADL,MAAM;;qCACe,SAAS;;6CAM9B;AAGK;IADL,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;;qCACR,SAAS,EAAU,MAAM;;yCAmB9C;AAGK;IADL,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;;qCACb,SAAS,EAAU,MAAM;;yCAezC;AAGK;IADL,MAAM;;;;0CAON;AAGK;IADL,MAAM;;;;2CAON;AAGK;IADL,MAAM;;qCACc,SAAS,EAAM,SAAS,EAAU,MAAM;;6CAW5D;AA6BK;IADL,MAAM;;qCACoB,mBAAmB;;gDAgC7C;AAGK;IADL,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;;qCACK,SAAS;;iDAKpC;AAWK;IADL,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;;;;gDAGrB;AAGH,MAAM,OAAO,aAAc,SAAQ,MAAM,CAAC;IACxC,QAAQ,EAAE,SAAS;CACpB,CAAC;CAAG;AAEL,MAAM,OAAO,UAAW,SAAQ,MAAM,CAAC;IACrC,QAAQ,EAAE,IAAI;CACf,CAAC;CAAG;AAEL,MAAM,OAAO,SAAU,SAAQ,MAAM,CAAC;IACpC,SAAS,EAAE,SAAS;IACpB,MAAM,EAAE,MAAM;CACf,CAAC;CAAG;AAEL,MAAM,OAAO,SAAU,SAAQ,MAAM,CAAC;IACpC,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,MAAM;CACf,CAAC;CAAG;AAEL,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC;IAC7C,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,KAAK;CACd,CAAC;CAAG"}
@@ -1,31 +0,0 @@
1
- import { AccountUpdate, Bool, DeployArgs, PublicKey, SmartContract, VerificationKey } from "o1js_v1";
2
- export type FungibleTokenAdminBase = SmartContract & {
3
- canMint(accountUpdate: AccountUpdate): Promise<Bool>;
4
- canChangeAdmin(admin: PublicKey): Promise<Bool>;
5
- canPause(): Promise<Bool>;
6
- canResume(): Promise<Bool>;
7
- };
8
- export interface FungibleTokenAdminDeployProps extends Exclude<DeployArgs, undefined> {
9
- adminPublicKey: PublicKey;
10
- }
11
- /** A contract that grants permissions for administrative actions on a token.
12
- *
13
- * We separate this out into a dedicated contract. That way, when issuing a token, a user can
14
- * specify their own rules for administrative actions, without changing the token contract itself.
15
- *
16
- * The advantage is that third party applications that only use the token in a non-privileged way
17
- * can integrate against the unchanged token contract.
18
- */
19
- export declare class FungibleTokenAdmin extends SmartContract implements FungibleTokenAdminBase {
20
- private adminPublicKey;
21
- deploy(props: FungibleTokenAdminDeployProps): Promise<void>;
22
- /** Update the verification key.
23
- * Note that because we have set the permissions for setting the verification key to `impossibleDuringCurrentVersion()`, this will only be possible in case of a protocol update that requires an update.
24
- */
25
- updateVerificationKey(vk: VerificationKey): Promise<void>;
26
- private ensureAdminSignature;
27
- canMint(_accountUpdate: AccountUpdate): Promise<import("o1js_v1/dist/node/lib/provable/bool").Bool>;
28
- canChangeAdmin(_admin: PublicKey): Promise<import("o1js_v1/dist/node/lib/provable/bool").Bool>;
29
- canPause(): Promise<Bool>;
30
- canResume(): Promise<Bool>;
31
- }
@@ -1,91 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { AccountUpdate, assert, Bool, method, Permissions, Provable, PublicKey, SmartContract, State, state, VerificationKey, } from "o1js_v1";
3
- /** A contract that grants permissions for administrative actions on a token.
4
- *
5
- * We separate this out into a dedicated contract. That way, when issuing a token, a user can
6
- * specify their own rules for administrative actions, without changing the token contract itself.
7
- *
8
- * The advantage is that third party applications that only use the token in a non-privileged way
9
- * can integrate against the unchanged token contract.
10
- */
11
- export class FungibleTokenAdmin extends SmartContract {
12
- constructor() {
13
- super(...arguments);
14
- this.adminPublicKey = State();
15
- }
16
- async deploy(props) {
17
- await super.deploy(props);
18
- this.adminPublicKey.set(props.adminPublicKey);
19
- this.account.permissions.set({
20
- ...Permissions.default(),
21
- setVerificationKey: Permissions.VerificationKey.impossibleDuringCurrentVersion(),
22
- setPermissions: Permissions.impossible(),
23
- });
24
- }
25
- /** Update the verification key.
26
- * Note that because we have set the permissions for setting the verification key to `impossibleDuringCurrentVersion()`, this will only be possible in case of a protocol update that requires an update.
27
- */
28
- async updateVerificationKey(vk) {
29
- this.account.verificationKey.set(vk);
30
- }
31
- async ensureAdminSignature() {
32
- const admin = await Provable.witnessAsync(PublicKey, async () => {
33
- let pk = await this.adminPublicKey.fetch();
34
- assert(pk !== undefined, "could not fetch admin public key");
35
- return pk;
36
- });
37
- this.adminPublicKey.requireEquals(admin);
38
- return AccountUpdate.createSigned(admin);
39
- }
40
- async canMint(_accountUpdate) {
41
- await this.ensureAdminSignature();
42
- return Bool(true);
43
- }
44
- async canChangeAdmin(_admin) {
45
- await this.ensureAdminSignature();
46
- return Bool(true);
47
- }
48
- async canPause() {
49
- await this.ensureAdminSignature();
50
- return Bool(true);
51
- }
52
- async canResume() {
53
- await this.ensureAdminSignature();
54
- return Bool(true);
55
- }
56
- }
57
- __decorate([
58
- state(PublicKey),
59
- __metadata("design:type", Object)
60
- ], FungibleTokenAdmin.prototype, "adminPublicKey", void 0);
61
- __decorate([
62
- method,
63
- __metadata("design:type", Function),
64
- __metadata("design:paramtypes", [VerificationKey]),
65
- __metadata("design:returntype", Promise)
66
- ], FungibleTokenAdmin.prototype, "updateVerificationKey", null);
67
- __decorate([
68
- method.returns(Bool),
69
- __metadata("design:type", Function),
70
- __metadata("design:paramtypes", [AccountUpdate]),
71
- __metadata("design:returntype", Promise)
72
- ], FungibleTokenAdmin.prototype, "canMint", null);
73
- __decorate([
74
- method.returns(Bool),
75
- __metadata("design:type", Function),
76
- __metadata("design:paramtypes", [PublicKey]),
77
- __metadata("design:returntype", Promise)
78
- ], FungibleTokenAdmin.prototype, "canChangeAdmin", null);
79
- __decorate([
80
- method.returns(Bool),
81
- __metadata("design:type", Function),
82
- __metadata("design:paramtypes", []),
83
- __metadata("design:returntype", Promise)
84
- ], FungibleTokenAdmin.prototype, "canPause", null);
85
- __decorate([
86
- method.returns(Bool),
87
- __metadata("design:type", Function),
88
- __metadata("design:paramtypes", []),
89
- __metadata("design:returntype", Promise)
90
- ], FungibleTokenAdmin.prototype, "canResume", null);
91
- //# sourceMappingURL=FungibleTokenAdmin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FungibleTokenAdmin.js","sourceRoot":"","sources":["../../../../../../src/mina/V1/FungibleTokenAdmin.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EACb,MAAM,EACN,IAAI,EAEJ,MAAM,EACN,WAAW,EACX,QAAQ,EACR,SAAS,EACT,aAAa,EACb,KAAK,EACL,KAAK,EACL,eAAe,GAChB,MAAM,SAAS,CAAC;AAcjB;;;;;;;GAOG;AACH,MAAM,OAAO,kBACX,SAAQ,aAAa;IADvB;;QAKU,mBAAc,GAAG,KAAK,EAAa,CAAC;IAsD9C,CAAC;IApDC,KAAK,CAAC,MAAM,CAAC,KAAoC;QAC/C,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC;YAC3B,GAAG,WAAW,CAAC,OAAO,EAAE;YACxB,kBAAkB,EAChB,WAAW,CAAC,eAAe,CAAC,8BAA8B,EAAE;YAC9D,cAAc,EAAE,WAAW,CAAC,UAAU,EAAE;SACzC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IAEG,AAAN,KAAK,CAAC,qBAAqB,CAAC,EAAmB;QAC7C,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAChC,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAC9D,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC3C,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE,kCAAkC,CAAC,CAAC;YAC7D,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAGY,AAAN,KAAK,CAAC,OAAO,CAAC,cAA6B;QAChD,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAGY,AAAN,KAAK,CAAC,cAAc,CAAC,MAAiB;QAC3C,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAGY,AAAN,KAAK,CAAC,QAAQ;QACnB,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAGY,AAAN,KAAK,CAAC,SAAS;QACpB,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;CACF;AAtDS;IADP,KAAK,CAAC,SAAS,CAAC;;0DAC2B;AAiBtC;IADL,MAAM;;qCACyB,eAAe;;+DAE9C;AAaY;IADZ,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;qCACgB,aAAa;;iDAGjD;AAGY;IADZ,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;qCACe,SAAS;;wDAG5C;AAGY;IADZ,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;;;kDAIpB;AAGY;IADZ,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;;;mDAIpB"}
@@ -1,29 +0,0 @@
1
- import { FungibleToken } from "./FungibleToken.js";
2
- import { FungibleTokenAdmin } from "./FungibleTokenAdmin.js";
3
- declare const O1JS_V1_CODE: {
4
- FungibleToken: typeof FungibleToken;
5
- FungibleTokenAdmin: typeof FungibleTokenAdmin;
6
- fungibleTokenVerificationKeys: {
7
- testnet: {
8
- admin: {
9
- hash: string;
10
- data: string;
11
- };
12
- token: {
13
- hash: string;
14
- data: string;
15
- };
16
- };
17
- mainnet: {
18
- admin: {
19
- hash: string;
20
- data: string;
21
- };
22
- token: {
23
- hash: string;
24
- data: string;
25
- };
26
- };
27
- };
28
- };
29
- export default O1JS_V1_CODE;
@@ -1,10 +0,0 @@
1
- import { FungibleToken } from "./FungibleToken.js";
2
- import { FungibleTokenAdmin } from "./FungibleTokenAdmin.js";
3
- import { fungibleTokenVerificationKeys } from "./vk.js";
4
- const O1JS_V1_CODE = {
5
- FungibleToken,
6
- FungibleTokenAdmin,
7
- fungibleTokenVerificationKeys,
8
- };
9
- export default O1JS_V1_CODE;
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/mina/V1/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAC;AAExD,MAAM,YAAY,GAAG;IACnB,aAAa;IACb,kBAAkB;IAClB,6BAA6B;CAC9B,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1,22 +0,0 @@
1
- export declare const fungibleTokenVerificationKeys: {
2
- testnet: {
3
- admin: {
4
- hash: string;
5
- data: string;
6
- };
7
- token: {
8
- hash: string;
9
- data: string;
10
- };
11
- };
12
- mainnet: {
13
- admin: {
14
- hash: string;
15
- data: string;
16
- };
17
- token: {
18
- hash: string;
19
- data: string;
20
- };
21
- };
22
- };
@@ -1,23 +0,0 @@
1
- export const fungibleTokenVerificationKeys = {
2
- testnet: {
3
- admin: {
4
- hash: "1200635497217107248831982322269320244173535715339356861513501242012238077174",
5
- data: "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",
6
- },
7
- token: {
8
- hash: "25084457276132306637089336910977939820654927814172888515895248592725736067489",
9
- data: "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",
10
- },
11
- },
12
- mainnet: {
13
- admin: {
14
- hash: "16115269877914581564299853766147447229664556890591132763176560855029019233817",
15
- data: "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",
16
- },
17
- token: {
18
- hash: "12320223354843720065815824451082596238990220882343256724550451075683722289248",
19
- data: "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",
20
- },
21
- },
22
- };
23
- //# sourceMappingURL=vk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vk.js","sourceRoot":"","sources":["../../../../../../src/mina/V1/vk.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,OAAO,EAAE;QACP,KAAK,EAAE;YACL,IAAI,EAAE,8EAA8E;YACpF,IAAI,EAAE,81EAA81E;SACr2E;QACD,KAAK,EAAE;YACL,IAAI,EAAE,+EAA+E;YACrF,IAAI,EAAE,81EAA81E;SACr2E;KACF;IACD,OAAO,EAAE;QACP,KAAK,EAAE;YACL,IAAI,EAAE,+EAA+E;YACrF,IAAI,EAAE,81EAA81E;SACr2E;QACD,KAAK,EAAE;YACL,IAAI,EAAE,+EAA+E;YACrF,IAAI,EAAE,81EAA81E;SACr2E;KACF;CACF,CAAC"}