@decaf-ts/for-fabric 0.1.2 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/dist/for-fabric.cjs +1 -1
  2. package/dist/for-fabric.cjs.map +1 -1
  3. package/dist/for-fabric.js +1 -1
  4. package/dist/for-fabric.js.map +1 -1
  5. package/lib/client/FabricClientAdapter.cjs +94 -81
  6. package/lib/client/FabricClientAdapter.d.ts +24 -33
  7. package/lib/client/FabricClientAdapter.js.map +1 -1
  8. package/lib/client/FabricClientDispatch.cjs +14 -5
  9. package/lib/client/FabricClientDispatch.d.ts +7 -5
  10. package/lib/client/FabricClientDispatch.js.map +1 -1
  11. package/lib/client/FabricClientRepository.cjs +4 -137
  12. package/lib/client/FabricClientRepository.d.ts +6 -78
  13. package/lib/client/FabricClientRepository.js.map +1 -1
  14. package/lib/client/erc20/FabricERC20ClientRepository.cjs +17 -17
  15. package/lib/client/erc20/FabricERC20ClientRepository.d.ts +5 -5
  16. package/lib/client/erc20/FabricERC20ClientRepository.js.map +1 -1
  17. package/lib/client/logging.cjs +1 -3
  18. package/lib/client/logging.js.map +1 -1
  19. package/lib/client/services/FabricEnrollmentService.cjs +3 -3
  20. package/lib/client/services/FabricEnrollmentService.d.ts +2 -2
  21. package/lib/client/services/FabricEnrollmentService.js.map +1 -1
  22. package/lib/contracts/ContractAdapter.cjs +204 -115
  23. package/lib/contracts/ContractAdapter.d.ts +26 -34
  24. package/lib/contracts/ContractAdapter.js.map +1 -1
  25. package/lib/contracts/ContractContext.cjs +1 -9
  26. package/lib/contracts/ContractContext.d.ts +0 -6
  27. package/lib/contracts/ContractContext.js.map +1 -1
  28. package/lib/contracts/ContractPrivateDataAdapter.cjs +429 -288
  29. package/lib/contracts/ContractPrivateDataAdapter.d.ts +0 -76
  30. package/lib/contracts/ContractPrivateDataAdapter.js.map +1 -1
  31. package/lib/contracts/FabricConstruction.cjs +3 -3
  32. package/lib/contracts/FabricConstruction.d.ts +9 -8
  33. package/lib/contracts/FabricConstruction.js.map +1 -1
  34. package/lib/contracts/FabricContractRepository.cjs +7 -202
  35. package/lib/contracts/FabricContractRepository.d.ts +5 -68
  36. package/lib/contracts/FabricContractRepository.js.map +1 -1
  37. package/lib/contracts/FabricContractRepositoryObservableHandler.cjs +4 -1
  38. package/lib/contracts/FabricContractRepositoryObservableHandler.d.ts +4 -4
  39. package/lib/contracts/FabricContractRepositoryObservableHandler.js.map +1 -1
  40. package/lib/contracts/FabricContractSequence.cjs +39 -60
  41. package/lib/contracts/FabricContractSequence.d.ts +29 -41
  42. package/lib/contracts/FabricContractSequence.js.map +1 -1
  43. package/lib/contracts/FabricContractStatement.cjs +6 -6
  44. package/lib/contracts/FabricContractStatement.d.ts +4 -6
  45. package/lib/contracts/FabricContractStatement.js.map +1 -1
  46. package/lib/contracts/crud/crud-contract.cjs +74 -44
  47. package/lib/contracts/crud/crud-contract.d.ts +7 -11
  48. package/lib/contracts/crud/crud-contract.js.map +1 -1
  49. package/lib/contracts/crud/serialized-crud-contract.cjs +12 -21
  50. package/lib/contracts/crud/serialized-crud-contract.d.ts +3 -11
  51. package/lib/contracts/crud/serialized-crud-contract.js.map +1 -1
  52. package/lib/contracts/erc20/erc20contract.cjs +73 -67
  53. package/lib/contracts/erc20/erc20contract.d.ts +13 -12
  54. package/lib/contracts/erc20/erc20contract.js.map +1 -1
  55. package/lib/contracts/logging.cjs +3 -9
  56. package/lib/contracts/logging.d.ts +1 -2
  57. package/lib/contracts/logging.js.map +1 -1
  58. package/lib/contracts/private-data.cjs +202 -118
  59. package/lib/contracts/private-data.d.ts +0 -16
  60. package/lib/contracts/private-data.js.map +1 -1
  61. package/lib/contracts/types.d.ts +1 -1
  62. package/lib/esm/client/FabricClientAdapter.d.ts +24 -33
  63. package/lib/esm/client/FabricClientAdapter.js +90 -78
  64. package/lib/esm/client/FabricClientAdapter.js.map +1 -1
  65. package/lib/esm/client/FabricClientDispatch.d.ts +7 -5
  66. package/lib/esm/client/FabricClientDispatch.js +17 -8
  67. package/lib/esm/client/FabricClientDispatch.js.map +1 -1
  68. package/lib/esm/client/FabricClientRepository.d.ts +6 -78
  69. package/lib/esm/client/FabricClientRepository.js +4 -137
  70. package/lib/esm/client/FabricClientRepository.js.map +1 -1
  71. package/lib/esm/client/erc20/FabricERC20ClientRepository.d.ts +5 -5
  72. package/lib/esm/client/erc20/FabricERC20ClientRepository.js +17 -17
  73. package/lib/esm/client/erc20/FabricERC20ClientRepository.js.map +1 -1
  74. package/lib/esm/client/logging.js +1 -3
  75. package/lib/esm/client/logging.js.map +1 -1
  76. package/lib/esm/client/services/FabricEnrollmentService.d.ts +2 -2
  77. package/lib/esm/client/services/FabricEnrollmentService.js +3 -3
  78. package/lib/esm/client/services/FabricEnrollmentService.js.map +1 -1
  79. package/lib/esm/contracts/ContractAdapter.d.ts +26 -34
  80. package/lib/esm/contracts/ContractAdapter.js +205 -116
  81. package/lib/esm/contracts/ContractAdapter.js.map +1 -1
  82. package/lib/esm/contracts/ContractContext.d.ts +0 -6
  83. package/lib/esm/contracts/ContractContext.js +1 -9
  84. package/lib/esm/contracts/ContractContext.js.map +1 -1
  85. package/lib/esm/contracts/ContractPrivateDataAdapter.d.ts +0 -76
  86. package/lib/esm/contracts/ContractPrivateDataAdapter.js +430 -285
  87. package/lib/esm/contracts/ContractPrivateDataAdapter.js.map +1 -1
  88. package/lib/esm/contracts/FabricConstruction.d.ts +9 -8
  89. package/lib/esm/contracts/FabricConstruction.js +3 -3
  90. package/lib/esm/contracts/FabricConstruction.js.map +1 -1
  91. package/lib/esm/contracts/FabricContractRepository.d.ts +5 -68
  92. package/lib/esm/contracts/FabricContractRepository.js +7 -202
  93. package/lib/esm/contracts/FabricContractRepository.js.map +1 -1
  94. package/lib/esm/contracts/FabricContractRepositoryObservableHandler.d.ts +4 -4
  95. package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js +5 -2
  96. package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js.map +1 -1
  97. package/lib/esm/contracts/FabricContractSequence.d.ts +29 -41
  98. package/lib/esm/contracts/FabricContractSequence.js +40 -61
  99. package/lib/esm/contracts/FabricContractSequence.js.map +1 -1
  100. package/lib/esm/contracts/FabricContractStatement.d.ts +4 -6
  101. package/lib/esm/contracts/FabricContractStatement.js +7 -7
  102. package/lib/esm/contracts/FabricContractStatement.js.map +1 -1
  103. package/lib/esm/contracts/crud/crud-contract.d.ts +7 -11
  104. package/lib/esm/contracts/crud/crud-contract.js +75 -45
  105. package/lib/esm/contracts/crud/crud-contract.js.map +1 -1
  106. package/lib/esm/contracts/crud/serialized-crud-contract.d.ts +3 -11
  107. package/lib/esm/contracts/crud/serialized-crud-contract.js +12 -21
  108. package/lib/esm/contracts/crud/serialized-crud-contract.js.map +1 -1
  109. package/lib/esm/contracts/erc20/erc20contract.d.ts +13 -12
  110. package/lib/esm/contracts/erc20/erc20contract.js +73 -67
  111. package/lib/esm/contracts/erc20/erc20contract.js.map +1 -1
  112. package/lib/esm/contracts/logging.d.ts +1 -2
  113. package/lib/esm/contracts/logging.js +3 -9
  114. package/lib/esm/contracts/logging.js.map +1 -1
  115. package/lib/esm/contracts/private-data.d.ts +0 -16
  116. package/lib/esm/contracts/private-data.js +203 -111
  117. package/lib/esm/contracts/private-data.js.map +1 -1
  118. package/lib/esm/contracts/types.d.ts +1 -1
  119. package/lib/esm/shared/decorators.d.ts +14 -4
  120. package/lib/esm/shared/decorators.js +142 -42
  121. package/lib/esm/shared/decorators.js.map +1 -1
  122. package/lib/esm/shared/errors.js +2 -2
  123. package/lib/esm/shared/errors.js.map +1 -1
  124. package/lib/esm/shared/events.d.ts +1 -5
  125. package/lib/esm/shared/events.js.map +1 -1
  126. package/lib/esm/shared/model/Sequence.d.ts +14 -0
  127. package/lib/esm/shared/model/Sequence.js +33 -0
  128. package/lib/esm/shared/model/Sequence.js.map +1 -0
  129. package/lib/esm/shared/model/index.d.ts +2 -0
  130. package/lib/esm/shared/model/index.js +2 -0
  131. package/lib/esm/shared/model/index.js.map +1 -1
  132. package/lib/esm/version.d.ts +1 -1
  133. package/lib/esm/version.js +1 -1
  134. package/lib/shared/decorators.cjs +148 -41
  135. package/lib/shared/decorators.d.ts +14 -4
  136. package/lib/shared/decorators.js.map +1 -1
  137. package/lib/shared/errors.cjs +2 -2
  138. package/lib/shared/errors.js.map +1 -1
  139. package/lib/shared/events.d.ts +1 -5
  140. package/lib/shared/events.js.map +1 -1
  141. package/lib/shared/model/Sequence.cjs +36 -0
  142. package/lib/shared/model/Sequence.d.ts +14 -0
  143. package/lib/shared/model/Sequence.js.map +1 -0
  144. package/lib/shared/model/index.cjs +2 -0
  145. package/lib/shared/model/index.d.ts +2 -0
  146. package/lib/shared/model/index.js.map +1 -1
  147. package/lib/version.cjs +1 -1
  148. package/lib/version.d.ts +1 -1
  149. package/package.json +2 -3
  150. package/lib/client/services/LoggedService.cjs +0 -47
  151. package/lib/client/services/LoggedService.d.ts +0 -42
  152. package/lib/client/services/LoggedService.js.map +0 -1
  153. package/lib/esm/client/services/LoggedService.d.ts +0 -42
  154. package/lib/esm/client/services/LoggedService.js +0 -43
  155. package/lib/esm/client/services/LoggedService.js.map +0 -1
@@ -58,8 +58,8 @@ class FabricERC20Contract extends crud_contract_1.FabricCrudContract {
58
58
  async TokenName(ctx) {
59
59
  // Check contract options are already set first to execute the function
60
60
  await this.CheckInitialized(ctx);
61
- const select = await this.tokenRepository.selectWithContext(undefined, ctx);
62
- const token = (await select.execute())[0];
61
+ const select = await this.tokenRepository.select();
62
+ const token = (await select.execute(ctx))[0];
63
63
  return token.name;
64
64
  }
65
65
  /**
@@ -71,8 +71,8 @@ class FabricERC20Contract extends crud_contract_1.FabricCrudContract {
71
71
  async Symbol(ctx) {
72
72
  // Check contract options are already set first to execute the function
73
73
  await this.CheckInitialized(ctx);
74
- const select = await this.tokenRepository.selectWithContext(undefined, ctx);
75
- const token = (await select.execute())[0];
74
+ const select = await this.tokenRepository.select();
75
+ const token = (await select.execute(ctx))[0];
76
76
  return token.symbol;
77
77
  }
78
78
  /**
@@ -85,8 +85,8 @@ class FabricERC20Contract extends crud_contract_1.FabricCrudContract {
85
85
  async Decimals(ctx) {
86
86
  // Check contract options are already set first to execute the function
87
87
  await this.CheckInitialized(ctx);
88
- const select = await this.tokenRepository.selectWithContext(undefined, ctx);
89
- const token = (await select.execute())[0];
88
+ const select = await this.tokenRepository.select();
89
+ const token = (await select.execute(ctx))[0];
90
90
  return token.decimals;
91
91
  }
92
92
  /**
@@ -98,8 +98,8 @@ class FabricERC20Contract extends crud_contract_1.FabricCrudContract {
98
98
  async TotalSupply(ctx) {
99
99
  // Check contract options are already set first to execute the function
100
100
  await this.CheckInitialized(ctx);
101
- const select = await this.walletRepository.selectWithContext(undefined, ctx);
102
- const wallets = await select.execute();
101
+ const select = await this.walletRepository.select();
102
+ const wallets = await select.execute(ctx);
103
103
  if (wallets.length == 0) {
104
104
  throw new db_decorators_1.NotFoundError(`The token ${this.getName()} does not exist`);
105
105
  }
@@ -132,11 +132,12 @@ class FabricERC20Contract extends crud_contract_1.FabricCrudContract {
132
132
  *
133
133
  * @returns {Boolean} Return whether the transfer was successful or not
134
134
  */
135
- async Transfer(ctx, to, value) {
135
+ async Transfer(context, to, value) {
136
136
  // Check contract options are already set first to execute the function
137
- await this.CheckInitialized(ctx);
138
- const from = ctx.clientIdentity.getID();
139
- const transferResp = await this._transfer(ctx, from, to, value);
137
+ await this.CheckInitialized(context);
138
+ const { ctx } = await this.logCtx([context], this.Transfer);
139
+ const from = ctx.identity.getID();
140
+ const transferResp = await this._transfer(from, to, value, ctx);
140
141
  if (!transferResp) {
141
142
  throw new db_decorators_1.InternalError("Failed to transfer");
142
143
  }
@@ -151,12 +152,13 @@ class FabricERC20Contract extends crud_contract_1.FabricCrudContract {
151
152
  * @param {number} value The amount of token to be transferred
152
153
  * @returns {Boolean} Return whether the transfer was successful or not
153
154
  */
154
- async TransferFrom(ctx, from, to, value) {
155
+ async TransferFrom(context, from, to, value) {
155
156
  // Check contract options are already set first to execute the function
156
- await this.CheckInitialized(ctx);
157
+ await this.CheckInitialized(context);
158
+ const { ctx } = await this.logCtx([context], this.BurnFrom);
157
159
  // Retrieve the allowance of the spender
158
- const spender = ctx.clientIdentity.getID();
159
- const allowance = await this._getAllowance(ctx, from, spender);
160
+ const spender = ctx.identity.getID();
161
+ const allowance = await this._getAllowance(from, spender, ctx);
160
162
  if (!allowance || allowance.value < 0) {
161
163
  throw new errors_1.AllowanceError(`spender ${spender} has no allowance from ${from}`);
162
164
  }
@@ -172,14 +174,14 @@ class FabricERC20Contract extends crud_contract_1.FabricCrudContract {
172
174
  });
173
175
  await this.allowanceRepository.update(newAllowance, ctx);
174
176
  //Realize the transfer
175
- const transferResp = await this._transfer(ctx, from, to, value);
177
+ const transferResp = await this._transfer(from, to, value, ctx);
176
178
  if (!transferResp) {
177
179
  throw new db_decorators_1.InternalError("Failed to transfer");
178
180
  }
179
181
  return true;
180
182
  }
181
- async _transfer(ctx, from, to, value) {
182
- const logger = this.logFor(ctx).for(this._transfer);
183
+ async _transfer(from, to, value, ctx) {
184
+ const log = ctx.logger;
183
185
  if (from === to) {
184
186
  throw new core_1.AuthorizationError("cannot transfer to and from same client account");
185
187
  }
@@ -238,8 +240,9 @@ class FabricERC20Contract extends crud_contract_1.FabricCrudContract {
238
240
  }
239
241
  // Emit the Transfer event
240
242
  const transferEvent = { from, to, value: value };
241
- const eventHandler = this.repo.ObserverHandler();
242
- eventHandler.updateObservers(logger, "", erc20_constants_1.ERC20Events.TRANSFER, "", ctx, "", transferEvent);
243
+ this.repo
244
+ .refresh(models_1.ERC20Token, erc20_constants_1.ERC20Events.TRANSFER, "", transferEvent, ctx)
245
+ .catch((e) => log.error(`Failed to notify transfer: ${e}`));
243
246
  return true;
244
247
  }
245
248
  /**
@@ -251,20 +254,20 @@ class FabricERC20Contract extends crud_contract_1.FabricCrudContract {
251
254
  * @param {number} value The amount of tokens to be approved for transfer
252
255
  * @returns {Boolean} Return whether the approval was successful or not
253
256
  */
254
- async Approve(ctx, spender, value) {
257
+ async Approve(context, spender, value) {
255
258
  // Check contract options are already set first to execute the function
256
- await this.CheckInitialized(ctx);
257
- const logger = this.logFor(ctx).for(this.Approve);
258
- const owner = ctx.clientIdentity.getID();
259
- let allowance = await this._getAllowance(ctx, owner, spender);
260
- const ownerWallet = await this.walletRepository.read(owner, ctx);
259
+ await this.CheckInitialized(context);
260
+ const { ctx, ctxArgs } = await this.logCtx([context], this.Approve);
261
+ const owner = ctx.identity.getID();
262
+ let allowance = await this._getAllowance(owner, spender, ctx);
263
+ const ownerWallet = await this.walletRepository.read(owner, ...ctxArgs);
261
264
  if (ownerWallet.balance < value) {
262
265
  throw new errors_1.BalanceError(`client account ${owner} has insufficient funds.`);
263
266
  }
264
267
  if (allowance) {
265
268
  // Overwrite the allowance
266
269
  allowance.value = value;
267
- await this.allowanceRepository.update(allowance, ctx);
270
+ await this.allowanceRepository.update(allowance, ...ctxArgs);
268
271
  }
269
272
  else {
270
273
  allowance = new models_1.Allowance({
@@ -272,12 +275,11 @@ class FabricERC20Contract extends crud_contract_1.FabricCrudContract {
272
275
  spender: spender,
273
276
  value: value,
274
277
  });
275
- await this.allowanceRepository.create(allowance, ctx);
278
+ await this.allowanceRepository.create(allowance, ...ctxArgs);
276
279
  }
277
280
  // Emit the Approval event
278
281
  const approvalEvent = { owner, spender, value: value };
279
- const eventHandler = this.repo.ObserverHandler();
280
- eventHandler.updateObservers(logger, "", erc20_constants_1.ERC20Events.APPROVAL, "", ctx, "", approvalEvent);
282
+ this.repo.refresh(models_1.ERC20Token, erc20_constants_1.ERC20Events.APPROVAL, "", approvalEvent, ctx);
281
283
  return true;
282
284
  }
283
285
  /**
@@ -288,19 +290,22 @@ class FabricERC20Contract extends crud_contract_1.FabricCrudContract {
288
290
  * @param {String} spender The spender who are able to transfer the tokens
289
291
  * @returns {number} Return the amount of remaining tokens allowed to spent
290
292
  */
291
- async Allowance(ctx, owner, spender) {
293
+ async Allowance(context, owner, spender) {
292
294
  // Check contract options are already set first to execute the function
293
- await this.CheckInitialized(ctx);
294
- const allowance = await this._getAllowance(ctx, owner, spender);
295
+ await this.CheckInitialized(context);
296
+ const { ctx } = await this.logCtx([context], this.Allowance);
297
+ const allowance = await this._getAllowance(owner, spender, ctx);
295
298
  if (!allowance) {
296
299
  throw new errors_1.AllowanceError(`spender ${spender} has no allowance from ${owner}`);
297
300
  }
298
301
  return allowance.value;
299
302
  }
300
- async _getAllowance(ctx, owner, spender) {
303
+ async _getAllowance(owner, spender, ctx) {
301
304
  const allowanceCondition = core_1.Condition.and(core_1.Condition.attribute("owner").eq(owner), core_1.Condition.attribute("spender").eq(spender));
302
- const select = await this.allowanceRepository.selectWithContext(undefined, ctx);
303
- const allowance = await select.where(allowanceCondition).execute();
305
+ const allowance = await this.allowanceRepository
306
+ .select()
307
+ .where(allowanceCondition)
308
+ .execute(ctx);
304
309
  return allowance?.[0];
305
310
  }
306
311
  // ================== Extended Functions ==========================
@@ -313,21 +318,21 @@ class FabricERC20Contract extends crud_contract_1.FabricCrudContract {
313
318
  * @param {String} decimals The decimals of the token
314
319
  * @param {String} totalSupply The totalSupply of the token
315
320
  */
316
- async Initialize(ctx, token) {
321
+ async Initialize(context, token) {
322
+ const { ctx } = await this.logCtx([context], this.Initialize);
317
323
  // Check contract options are not already set, client is not authorized to change them once intitialized
318
- const select = await this.tokenRepository.selectWithContext(undefined, ctx);
319
- const tokens = await select.execute();
324
+ const tokens = await this.tokenRepository.select().execute(ctx);
320
325
  if (tokens.length > 0) {
321
326
  throw new core_1.AuthorizationError("contract options are already set, client is not authorized to change them");
322
327
  }
323
- token.owner = ctx.clientIdentity.getID();
328
+ token.owner = ctx.identity.getID();
324
329
  await this.tokenRepository.create(token, ctx);
325
330
  return true;
326
331
  }
327
332
  // Checks that contract options have been already initialized
328
- async CheckInitialized(ctx) {
329
- const select = await this.tokenRepository.selectWithContext(undefined, ctx);
330
- const tokens = await select.execute();
333
+ async CheckInitialized(context) {
334
+ const { ctx } = await this.logCtx([context], this.CheckInitialized);
335
+ const tokens = await this.tokenRepository.select().execute(ctx);
331
336
  if (tokens.length == 0) {
332
337
  throw new errors_1.NotInitializedError("contract options need to be set before calling any function, call Initialize() to initialize contract");
333
338
  }
@@ -339,12 +344,12 @@ class FabricERC20Contract extends crud_contract_1.FabricCrudContract {
339
344
  * @param {number} amount amount of tokens to be minted
340
345
  * @returns {Object} The balance
341
346
  */
342
- async Mint(ctx, amount) {
347
+ async Mint(context, amount) {
343
348
  // Check contract options are already set first to execute the function
344
- await this.CheckInitialized(ctx);
345
- const logger = this.logFor(ctx).for(this.Mint);
349
+ await this.CheckInitialized(context);
350
+ const { ctx } = await this.logCtx([context], this.Mint);
346
351
  // Get ID of submitting client identity
347
- const minter = ctx.clientIdentity.getID();
352
+ const minter = ctx.identity.getID();
348
353
  if (amount <= 0) {
349
354
  throw new db_decorators_1.ValidationError("mint amount must be a positive integer");
350
355
  }
@@ -365,7 +370,7 @@ class FabricERC20Contract extends crud_contract_1.FabricCrudContract {
365
370
  const newWallet = new models_1.ERC20Wallet({
366
371
  id: minter,
367
372
  balance: amount,
368
- token: await this.TokenName(ctx),
373
+ token: await this.TokenName(context),
369
374
  });
370
375
  await this.walletRepository.create(newWallet, ctx);
371
376
  }
@@ -380,7 +385,7 @@ class FabricERC20Contract extends crud_contract_1.FabricCrudContract {
380
385
  // Emit the Transfer event
381
386
  const transferEvent = { from: "0x0", to: minter, value: amount };
382
387
  const eventHandler = this.repo.ObserverHandler();
383
- eventHandler.updateObservers(logger, "", erc20_constants_1.ERC20Events.TRANSFER, "", ctx, "", transferEvent);
388
+ eventHandler.updateObservers(models_1.ERC20Token, erc20_constants_1.ERC20Events.TRANSFER, "", transferEvent, ctx);
384
389
  }
385
390
  /**
386
391
  * Burn redeem tokens from minter's account balance
@@ -389,11 +394,11 @@ class FabricERC20Contract extends crud_contract_1.FabricCrudContract {
389
394
  * @param {number} amount amount of tokens to be burned
390
395
  * @returns {Object} The balance
391
396
  */
392
- async Burn(ctx, amount) {
397
+ async Burn(context, amount) {
393
398
  // Check contract options are already set first to execute the function
394
- await this.CheckInitialized(ctx);
395
- const logger = this.logFor(ctx).for(this.Burn);
396
- const minter = ctx.clientIdentity.getID();
399
+ await this.CheckInitialized(context);
400
+ const { log, ctx } = await this.logCtx([context], this.Burn);
401
+ const minter = ctx.identity.getID();
397
402
  const minterWallet = await this.walletRepository.read(minter, ctx);
398
403
  const currentBalance = minterWallet.balance;
399
404
  if (currentBalance < amount) {
@@ -404,11 +409,11 @@ class FabricERC20Contract extends crud_contract_1.FabricCrudContract {
404
409
  balance: updatedBalance,
405
410
  });
406
411
  await this.walletRepository.update(updatedminter, ctx);
407
- logger.info(`${amount} tokens were burned`);
412
+ log.info(`${amount} tokens were burned`);
408
413
  // Emit the Transfer event
409
414
  const transferEvent = { from: minter, to: "0x0", value: amount };
410
415
  const eventHandler = this.repo.ObserverHandler();
411
- eventHandler.updateObservers(logger, "", erc20_constants_1.ERC20Events.TRANSFER, "", ctx, "", transferEvent);
416
+ eventHandler.updateObservers(models_1.ERC20Token, erc20_constants_1.ERC20Events.TRANSFER, "", transferEvent, ctx);
412
417
  }
413
418
  /**
414
419
  * BurnFrom redeem tokens from account allowence and balance
@@ -418,10 +423,10 @@ class FabricERC20Contract extends crud_contract_1.FabricCrudContract {
418
423
  * @param {number} amount amount of tokens to be burned
419
424
  * @returns {Object} The balance
420
425
  */
421
- async BurnFrom(ctx, account, amount) {
426
+ async BurnFrom(context, account, amount) {
422
427
  // Check contract options are already set first to execute the function
423
- await this.CheckInitialized(ctx);
424
- const logger = this.logFor(ctx).for(this.BurnFrom);
428
+ await this.CheckInitialized(context);
429
+ const { log, ctx } = await this.logCtx([context], this.BurnFrom);
425
430
  const accountWallet = await this.walletRepository.read(account, ctx);
426
431
  const currentBalance = accountWallet.balance;
427
432
  if (currentBalance < amount) {
@@ -432,11 +437,11 @@ class FabricERC20Contract extends crud_contract_1.FabricCrudContract {
432
437
  balance: updatedBalance,
433
438
  });
434
439
  await this.walletRepository.update(updatedaccount, ctx);
435
- logger.info(`${amount} tokens were berned from ${account}`);
440
+ log.info(`${amount} tokens were burned from ${account}`);
436
441
  // Emit the Transfer event
437
442
  const transferEvent = { from: account, to: "0x0", value: amount };
438
443
  const eventHandler = this.repo.ObserverHandler();
439
- eventHandler.updateObservers(logger, "", erc20_constants_1.ERC20Events.TRANSFER, "", ctx, "", transferEvent);
444
+ eventHandler.updateObservers(models_1.ERC20Token, erc20_constants_1.ERC20Events.TRANSFER, "", transferEvent, ctx);
440
445
  }
441
446
  /**
442
447
  * ClientAccountBalance returns the balance of the requesting client's account.
@@ -458,11 +463,12 @@ class FabricERC20Contract extends crud_contract_1.FabricCrudContract {
458
463
  // ClientAccountID returns the id of the requesting client's account.
459
464
  // In this implementation, the client account ID is the clientId itself.
460
465
  // Users can use this function to get their own account id, which they can then give to others as the payment address
461
- async ClientAccountID(ctx) {
466
+ async ClientAccountID(context) {
462
467
  // Check contract options are already set first to execute the function
463
- await this.CheckInitialized(ctx);
468
+ await this.CheckInitialized(context);
469
+ const { ctx } = await this.logCtx([context], this.ClientAccountID);
464
470
  // Get ID of submitting client identity
465
- const clientAccountID = ctx.clientIdentity.getID();
471
+ const clientAccountID = ctx.identity.getID();
466
472
  return clientAccountID;
467
473
  }
468
474
  }
@@ -516,7 +522,7 @@ __decorate([
516
522
  __metadata("design:returntype", Promise)
517
523
  ], FabricERC20Contract.prototype, "Approve", null);
518
524
  __decorate([
519
- (0, fabric_contract_api_1.Transaction)(),
525
+ (0, fabric_contract_api_1.Transaction)(false),
520
526
  __metadata("design:type", Function),
521
527
  __metadata("design:paramtypes", [fabric_contract_api_1.Context, String, String]),
522
528
  __metadata("design:returntype", Promise)
@@ -555,13 +561,13 @@ __decorate([
555
561
  __metadata("design:returntype", Promise)
556
562
  ], FabricERC20Contract.prototype, "BurnFrom", null);
557
563
  __decorate([
558
- (0, fabric_contract_api_1.Transaction)(),
564
+ (0, fabric_contract_api_1.Transaction)(false),
559
565
  __metadata("design:type", Function),
560
566
  __metadata("design:paramtypes", [fabric_contract_api_1.Context]),
561
567
  __metadata("design:returntype", Promise)
562
568
  ], FabricERC20Contract.prototype, "ClientAccountBalance", null);
563
569
  __decorate([
564
- (0, fabric_contract_api_1.Transaction)(),
570
+ (0, fabric_contract_api_1.Transaction)(false),
565
571
  __metadata("design:type", Function),
566
572
  __metadata("design:paramtypes", [fabric_contract_api_1.Context]),
567
573
  __metadata("design:returntype", Promise)
@@ -1,5 +1,6 @@
1
1
  import { Context } from "fabric-contract-api";
2
2
  import { Allowance, ERC20Token, ERC20Wallet } from "./models";
3
+ import type { FabricContractContext } from "../ContractContext";
3
4
  import { FabricCrudContract } from "../crud/crud-contract";
4
5
  /**
5
6
  * @description ERC20 token contract base for Hyperledger Fabric
@@ -72,7 +73,7 @@ export declare abstract class FabricERC20Contract extends FabricCrudContract<ERC
72
73
  *
73
74
  * @returns {Boolean} Return whether the transfer was successful or not
74
75
  */
75
- Transfer(ctx: Context, to: string, value: number): Promise<boolean>;
76
+ Transfer(context: Context, to: string, value: number): Promise<boolean>;
76
77
  /**
77
78
  * Transfer `value` amount of tokens from `from` to `to`.
78
79
  *
@@ -82,8 +83,8 @@ export declare abstract class FabricERC20Contract extends FabricCrudContract<ERC
82
83
  * @param {number} value The amount of token to be transferred
83
84
  * @returns {Boolean} Return whether the transfer was successful or not
84
85
  */
85
- TransferFrom(ctx: Context, from: string, to: string, value: number): Promise<boolean>;
86
- _transfer(ctx: Context, from: string, to: string, value: number): Promise<boolean>;
86
+ TransferFrom(context: Context, from: string, to: string, value: number): Promise<boolean>;
87
+ _transfer(from: string, to: string, value: number, ctx: FabricContractContext): Promise<boolean>;
87
88
  /**
88
89
  * Allows `spender` to spend `value` amount of tokens from the owner. New Approve calls override the previous allowance.
89
90
  * @note https://eips.ethereum.org/EIPS/eip-20
@@ -93,7 +94,7 @@ export declare abstract class FabricERC20Contract extends FabricCrudContract<ERC
93
94
  * @param {number} value The amount of tokens to be approved for transfer
94
95
  * @returns {Boolean} Return whether the approval was successful or not
95
96
  */
96
- Approve(ctx: Context, spender: string, value: number): Promise<boolean>;
97
+ Approve(context: Context, spender: string, value: number): Promise<boolean>;
97
98
  /**
98
99
  * Returns the amount of tokens which ` ` is allowed to withdraw from `owner`.
99
100
  *
@@ -102,8 +103,8 @@ export declare abstract class FabricERC20Contract extends FabricCrudContract<ERC
102
103
  * @param {String} spender The spender who are able to transfer the tokens
103
104
  * @returns {number} Return the amount of remaining tokens allowed to spent
104
105
  */
105
- Allowance(ctx: Context, owner: string, spender: string): Promise<number>;
106
- _getAllowance(ctx: Context, owner: string, spender: string): Promise<Allowance>;
106
+ Allowance(context: Context, owner: string, spender: string): Promise<number>;
107
+ _getAllowance(owner: string, spender: string, ctx: FabricContractContext): Promise<Allowance>;
107
108
  /**
108
109
  * Set optional infomation for a token.
109
110
  *
@@ -113,8 +114,8 @@ export declare abstract class FabricERC20Contract extends FabricCrudContract<ERC
113
114
  * @param {String} decimals The decimals of the token
114
115
  * @param {String} totalSupply The totalSupply of the token
115
116
  */
116
- Initialize(ctx: Context, token: ERC20Token): Promise<boolean>;
117
- CheckInitialized(ctx: Context): Promise<void>;
117
+ Initialize(context: Context, token: ERC20Token): Promise<boolean>;
118
+ CheckInitialized(context: Context): Promise<void>;
118
119
  /**
119
120
  * Mint creates new tokens and adds them to minter's account balance
120
121
  *
@@ -122,7 +123,7 @@ export declare abstract class FabricERC20Contract extends FabricCrudContract<ERC
122
123
  * @param {number} amount amount of tokens to be minted
123
124
  * @returns {Object} The balance
124
125
  */
125
- Mint(ctx: Context, amount: number): Promise<void>;
126
+ Mint(context: Context, amount: number): Promise<void>;
126
127
  /**
127
128
  * Burn redeem tokens from minter's account balance
128
129
  *
@@ -130,7 +131,7 @@ export declare abstract class FabricERC20Contract extends FabricCrudContract<ERC
130
131
  * @param {number} amount amount of tokens to be burned
131
132
  * @returns {Object} The balance
132
133
  */
133
- Burn(ctx: Context, amount: number): Promise<void>;
134
+ Burn(context: Context, amount: number): Promise<void>;
134
135
  /**
135
136
  * BurnFrom redeem tokens from account allowence and balance
136
137
  *
@@ -139,7 +140,7 @@ export declare abstract class FabricERC20Contract extends FabricCrudContract<ERC
139
140
  * @param {number} amount amount of tokens to be burned
140
141
  * @returns {Object} The balance
141
142
  */
142
- BurnFrom(ctx: Context, account: string, amount: number): Promise<void>;
143
+ BurnFrom(context: Context, account: string, amount: number): Promise<void>;
143
144
  /**
144
145
  * ClientAccountBalance returns the balance of the requesting client's account.
145
146
  *
@@ -147,5 +148,5 @@ export declare abstract class FabricERC20Contract extends FabricCrudContract<ERC
147
148
  * @returns {Number} Returns the account balance
148
149
  */
149
150
  ClientAccountBalance(ctx: Context): Promise<number>;
150
- ClientAccountID(ctx: Context): Promise<string>;
151
+ ClientAccountID(context: Context): Promise<string>;
151
152
  }
@@ -1 +1 @@
1
- {"version":3,"file":"erc20contract.js","sourceRoot":"","sources":["../../../src/contracts/erc20/erc20contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"erc20contract.js","sourceRoot":"","sources":["../../../src/contracts/erc20/erc20contract.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ContractLogger = void 0;
4
4
  const logging_1 = require("@decaf-ts/logging");
5
- const ContractContext_1 = require("./ContractContext.cjs");
6
- const errors_1 = require("./../shared/errors.cjs");
5
+ const db_decorators_1 = require("@decaf-ts/db-decorators");
7
6
  /**
8
7
  * @description Logger implementation for Fabric chaincode contracts
9
8
  * @summary Adapts the standard logging interface to work with Fabric's chaincode context
@@ -40,9 +39,6 @@ class ContractLogger extends logging_1.MiniLogger {
40
39
  if (!ctx) {
41
40
  this.logger = new logging_1.MiniLogger(context, conf);
42
41
  }
43
- else if (ctx instanceof ContractContext_1.FabricContractContext) {
44
- throw new errors_1.MissingContextError("Receiving incorrect context... It should be the contract context!!!");
45
- }
46
42
  else {
47
43
  this.logger = ctx.logging.getLogger(context);
48
44
  }
@@ -77,7 +73,7 @@ class ContractLogger extends logging_1.MiniLogger {
77
73
  method = this.logger.silly;
78
74
  break;
79
75
  default:
80
- throw new Error("Invalid log level");
76
+ throw new db_decorators_1.InternalError("Invalid log level");
81
77
  }
82
78
  method.call(this.logger, this.createLog(level, msg, stack));
83
79
  }
@@ -94,9 +90,7 @@ exports.ContractLogger = ContractLogger;
94
90
  * @memberOf module:fabric.contracts
95
91
  */
96
92
  const factory = (object, config, ctx) => {
97
- if (!object)
98
- throw new Error("Missing Object String");
99
- return new ContractLogger(object, config || {}, ctx);
93
+ return new ContractLogger(object || ContractLogger.name, config || {}, ctx);
100
94
  };
101
95
  // Set the factory as the default logger factory
102
96
  logging_1.Logging.setFactory(factory);
@@ -1,7 +1,6 @@
1
1
  import { Logger, LogLevel, MiniLogger, StringLike } from "@decaf-ts/logging";
2
2
  import { LoggingConfig } from "@decaf-ts/logging";
3
3
  import { Context as Ctx } from "fabric-contract-api";
4
- import { FabricContractContext } from "./ContractContext";
5
4
  /**
6
5
  * @description Logger implementation for Fabric chaincode contracts
7
6
  * @summary Adapts the standard logging interface to work with Fabric's chaincode context
@@ -37,7 +36,7 @@ export declare class ContractLogger extends MiniLogger {
37
36
  * @description The underlying Fabric logger instance
38
37
  */
39
38
  protected logger: Logger;
40
- constructor(context: string, conf: Partial<LoggingConfig> | undefined, ctx?: Ctx | FabricContractContext);
39
+ constructor(context: string, conf: Partial<LoggingConfig> | undefined, ctx?: Ctx);
41
40
  /**
42
41
  * @description Logs a message at the specified level
43
42
  * @summary Overrides the base log method to use the Fabric context's logger
@@ -1 +1 @@
1
- {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/contracts/logging.ts"],"names":[],"mappings":";;;AAAA,+CAQ2B;AAG3B,2DAA0D;AAC1D,mDAAuD;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAa,cAAe,SAAQ,oBAAU;IAM5C,YACE,OAAe,EACf,IAAwC,EACxC,GAAiC;QAEjC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAErB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,GAAG,IAAI,oBAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,GAAG,YAAY,uCAAqB,EAAE,CAAC;YAChD,MAAM,IAAI,4BAAmB,CAC3B,qEAAqE,CACtE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAsB,CAAC;QACpE,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACgB,GAAG,CACpB,KAAe,EACf,GAAuB,EACvB,KAAa;QAEb,IACE,0BAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC;YAClD,0BAAgB,CAAC,KAAK,CAAC;YAEvB,OAAO;QAET,IAAI,MAAM,CAAC;QACX,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,kBAAQ,CAAC,IAAI;gBAChB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC1B,MAAM;YACR,KAAK,kBAAQ,CAAC,OAAO;gBACnB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC7B,MAAM;YACR,KAAK,kBAAQ,CAAC,KAAK;gBACjB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC3B,MAAM;YACR,KAAK,kBAAQ,CAAC,KAAK;gBACjB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC3B,MAAM;YACR,KAAK,kBAAQ,CAAC,KAAK;gBACjB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC3B,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC;CACF;AAjED,wCAiEC;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,GAAkB,CAC7B,MAAe,EACf,MAA2C,EAC3C,GAAS,EACT,EAAE;IACF,IAAG,CAAC,MAAM;QACR,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,GAAU,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,gDAAgD;AAChD,iBAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/contracts/logging.ts"],"names":[],"mappings":";;;AAAA,+CAQ2B;AAG3B,2DAAwD;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAa,cAAe,SAAQ,oBAAU;IAM5C,YACE,OAAe,EACf,IAAwC,EACxC,GAAS;QAET,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAErB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,GAAG,IAAI,oBAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAsB,CAAC;QACpE,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACgB,GAAG,CACpB,KAAe,EACf,GAAuB,EACvB,KAAa;QAEb,IACE,0BAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC;YAClD,0BAAgB,CAAC,KAAK,CAAC;YAEvB,OAAO;QAET,IAAI,MAAM,CAAC;QACX,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,kBAAQ,CAAC,IAAI;gBAChB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC1B,MAAM;YACR,KAAK,kBAAQ,CAAC,OAAO;gBACnB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC7B,MAAM;YACR,KAAK,kBAAQ,CAAC,KAAK;gBACjB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC3B,MAAM;YACR,KAAK,kBAAQ,CAAC,KAAK;gBACjB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC3B,MAAM;YACR,KAAK,kBAAQ,CAAC,KAAK;gBACjB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC3B,MAAM;YACR;gBACE,MAAM,IAAI,6BAAa,CAAC,mBAAmB,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC;CACF;AA7DD,wCA6DC;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,GAAkB,CAC7B,MAAe,EACf,MAA+B,EAC/B,GAAS,EACT,EAAE;IACF,OAAO,IAAI,cAAc,CACvB,MAAM,IAAI,cAAc,CAAC,IAAI,EAC7B,MAAM,IAAI,EAAE,EACZ,GAAU,CACX,CAAC;AACJ,CAAC,CAAC;AAEF,gDAAgD;AAChD,iBAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC"}