@mainsail/transactions 0.0.1-alpha.9 → 0.0.1-evm.10

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 (31) hide show
  1. package/distribution/handlers/handler-provider.d.ts +0 -2
  2. package/distribution/handlers/handler-provider.d.ts.map +1 -1
  3. package/distribution/handlers/handler-provider.js +10 -59
  4. package/distribution/handlers/handler-provider.js.map +1 -1
  5. package/distribution/handlers/handler-registry.d.ts +3 -3
  6. package/distribution/handlers/handler-registry.d.ts.map +1 -1
  7. package/distribution/handlers/handler-registry.js +18 -30
  8. package/distribution/handlers/handler-registry.js.map +1 -1
  9. package/distribution/handlers/index.d.ts +4 -3
  10. package/distribution/handlers/index.d.ts.map +1 -1
  11. package/distribution/handlers/index.js +3 -9
  12. package/distribution/handlers/index.js.map +1 -1
  13. package/distribution/handlers/transaction.d.ts +7 -14
  14. package/distribution/handlers/transaction.d.ts.map +1 -1
  15. package/distribution/handlers/transaction.js +31 -100
  16. package/distribution/handlers/transaction.js.map +1 -1
  17. package/distribution/index.d.ts +3 -3
  18. package/distribution/index.d.ts.map +1 -1
  19. package/distribution/index.js +4 -33
  20. package/distribution/index.js.map +1 -1
  21. package/distribution/service-provider.d.ts +1 -1
  22. package/distribution/service-provider.d.ts.map +1 -1
  23. package/distribution/service-provider.js +14 -13
  24. package/distribution/service-provider.js.map +1 -1
  25. package/distribution/transaction-validator.d.ts +9 -0
  26. package/distribution/transaction-validator.d.ts.map +1 -0
  27. package/distribution/transaction-validator.js +55 -0
  28. package/distribution/transaction-validator.js.map +1 -0
  29. package/distribution/utils.js +1 -5
  30. package/distribution/utils.js.map +1 -1
  31. package/package.json +9 -9
@@ -1,9 +1,7 @@
1
1
  import { Contracts } from "@mainsail/contracts";
2
2
  export declare class TransactionHandlerProvider implements Contracts.Transactions.TransactionHandlerProvider {
3
3
  #private;
4
- private readonly attributeRepository;
5
4
  private readonly handlerConstructors;
6
- private readonly transactionRegistry;
7
5
  isRegistrationRequired(): boolean;
8
6
  registerHandlers(): void;
9
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handler-provider.d.ts","sourceRoot":"","sources":["../../source/handlers/handler-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAA2B,MAAM,qBAAqB,CAAC;AAMzE,qBACa,0BAA2B,YAAW,SAAS,CAAC,YAAY,CAAC,0BAA0B;;IAEnG,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAuC;IAG3E,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAmC;IAGvE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAwC;IAIrE,sBAAsB,IAAI,OAAO;IAIjC,gBAAgB,IAAI,IAAI;CA6E/B"}
1
+ {"version":3,"file":"handler-provider.d.ts","sourceRoot":"","sources":["../../source/handlers/handler-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAe,MAAM,qBAAqB,CAAC;AAK7D,qBACa,0BAA2B,YAAW,SAAS,CAAC,YAAY,CAAC,0BAA0B;;IAEnG,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAmC;IAKhE,sBAAsB,IAAI,OAAO;IAIjC,gBAAgB,IAAI,IAAI;CAc/B"}
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -19,17 +18,14 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
19
18
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
20
19
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
21
20
  };
22
- var _TransactionHandlerProvider_instances, _TransactionHandlerProvider_registered, _TransactionHandlerProvider_registerHandler, _TransactionHandlerProvider_hasOtherHandlerHandling, _TransactionHandlerProvider_hasOtherHandler;
23
- Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.TransactionHandlerProvider = void 0;
25
- const container_1 = require("@mainsail/container");
26
- const contracts_1 = require("@mainsail/contracts");
27
- const crypto_transaction_1 = require("@mainsail/crypto-transaction");
28
- const kernel_1 = require("@mainsail/kernel");
21
+ var _TransactionHandlerProvider_instances, _TransactionHandlerProvider_registered, _TransactionHandlerProvider_handlerDependencyLookup, _TransactionHandlerProvider_registerHandler;
22
+ import { inject, injectable } from "@mainsail/container";
23
+ import { Identifiers } from "@mainsail/contracts";
29
24
  let TransactionHandlerProvider = class TransactionHandlerProvider {
30
25
  constructor() {
31
26
  _TransactionHandlerProvider_instances.add(this);
32
27
  _TransactionHandlerProvider_registered.set(this, false);
28
+ _TransactionHandlerProvider_handlerDependencyLookup.set(this, new Set());
33
29
  }
34
30
  isRegistrationRequired() {
35
31
  return __classPrivateFieldGet(this, _TransactionHandlerProvider_registered, "f") === false;
@@ -41,65 +37,20 @@ let TransactionHandlerProvider = class TransactionHandlerProvider {
41
37
  __classPrivateFieldSet(this, _TransactionHandlerProvider_registered, true, "f");
42
38
  }
43
39
  };
44
- exports.TransactionHandlerProvider = TransactionHandlerProvider;
45
40
  _TransactionHandlerProvider_registered = new WeakMap();
41
+ _TransactionHandlerProvider_handlerDependencyLookup = new WeakMap();
46
42
  _TransactionHandlerProvider_instances = new WeakSet();
47
43
  _TransactionHandlerProvider_registerHandler = function _TransactionHandlerProvider_registerHandler(handlerConstructor) {
48
44
  const handler = new handlerConstructor();
49
45
  const transactionConstructor = handler.getConstructor();
50
- kernel_1.Utils.assert.defined(transactionConstructor.type);
51
- kernel_1.Utils.assert.defined(transactionConstructor.typeGroup);
52
- const internalType = crypto_transaction_1.InternalTransactionType.from(transactionConstructor.type, transactionConstructor.typeGroup);
53
- if (__classPrivateFieldGet(this, _TransactionHandlerProvider_instances, "m", _TransactionHandlerProvider_hasOtherHandlerHandling).call(this, handlerConstructor, internalType, transactionConstructor.version)) {
54
- throw new contracts_1.Exceptions.AlreadyRegisteredError(internalType);
55
- }
56
- for (const dependency of handler.dependencies()) {
57
- if (__classPrivateFieldGet(this, _TransactionHandlerProvider_instances, "m", _TransactionHandlerProvider_hasOtherHandler).call(this, handlerConstructor, dependency) === false) {
58
- throw new contracts_1.Exceptions.UnsatisfiedDependencyError(internalType);
59
- }
60
- }
61
- for (const attribute of handler.walletAttributes()) {
62
- if (!this.attributeRepository.has(attribute.name)) {
63
- this.attributeRepository.set(attribute.name, attribute.type);
64
- }
65
- }
66
- if (transactionConstructor.typeGroup !== contracts_1.Contracts.Crypto.TransactionTypeGroup.Core) {
67
- this.transactionRegistry.registerTransactionType(transactionConstructor);
68
- }
46
+ __classPrivateFieldGet(this, _TransactionHandlerProvider_handlerDependencyLookup, "f").add(transactionConstructor);
69
47
  };
70
- _TransactionHandlerProvider_hasOtherHandlerHandling = function _TransactionHandlerProvider_hasOtherHandlerHandling(handlerConstructor, internalType, version) {
71
- for (const otherHandlerConstructor of this.handlerConstructors) {
72
- if (otherHandlerConstructor === handlerConstructor) {
73
- continue;
74
- }
75
- const otherHandler = new otherHandlerConstructor();
76
- const otherTransactionConstructor = otherHandler.getConstructor();
77
- kernel_1.Utils.assert.defined(otherTransactionConstructor.type);
78
- kernel_1.Utils.assert.defined(otherTransactionConstructor.typeGroup);
79
- const otherInternalType = crypto_transaction_1.InternalTransactionType.from(otherTransactionConstructor.type, otherTransactionConstructor.typeGroup);
80
- if (otherInternalType === internalType && otherTransactionConstructor.version === version) {
81
- return true;
82
- }
83
- }
84
- return false;
85
- };
86
- _TransactionHandlerProvider_hasOtherHandler = function _TransactionHandlerProvider_hasOtherHandler(handlerConstructor, dependency) {
87
- return this.handlerConstructors.some((otherHandlerConstructor) => otherHandlerConstructor.name !== handlerConstructor.name &&
88
- otherHandlerConstructor.name === dependency.name);
89
- };
90
- __decorate([
91
- (0, container_1.inject)(contracts_1.Identifiers.State.Wallet.Attributes),
92
- __metadata("design:type", Object)
93
- ], TransactionHandlerProvider.prototype, "attributeRepository", void 0);
94
48
  __decorate([
95
- (0, container_1.inject)(contracts_1.Identifiers.Transaction.Handler.Constructors),
49
+ inject(Identifiers.Transaction.Handler.Constructors),
96
50
  __metadata("design:type", Array)
97
51
  ], TransactionHandlerProvider.prototype, "handlerConstructors", void 0);
98
- __decorate([
99
- (0, container_1.inject)(contracts_1.Identifiers.Cryptography.Transaction.Registry),
100
- __metadata("design:type", Object)
101
- ], TransactionHandlerProvider.prototype, "transactionRegistry", void 0);
102
- exports.TransactionHandlerProvider = TransactionHandlerProvider = __decorate([
103
- (0, container_1.injectable)()
52
+ TransactionHandlerProvider = __decorate([
53
+ injectable()
104
54
  ], TransactionHandlerProvider);
55
+ export { TransactionHandlerProvider };
105
56
  //# sourceMappingURL=handler-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler-provider.js","sourceRoot":"","sources":["../../source/handlers/handler-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler-provider.js","sourceRoot":"","sources":["../../source/handlers/handler-provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAa,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMtD,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAAhC;;QAIN,iDAAc,KAAK,EAAC;QACpB,8DAA2B,IAAI,GAAG,EAA0B,EAAC;IAoB9D,CAAC;IAlBO,sBAAsB;QAC5B,OAAO,uBAAA,IAAI,8CAAY,KAAK,KAAK,CAAC;IACnC,CAAC;IAEM,gBAAgB;QACtB,KAAK,MAAM,kBAAkB,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3D,uBAAA,IAAI,0FAAiB,MAArB,IAAI,EAAkB,kBAAkB,CAAC,CAAC;QAC3C,CAAC;QAED,uBAAA,IAAI,0CAAe,IAAI,MAAA,CAAC;IACzB,CAAC;CAQD,CAAA;;;;mGANiB,kBAAiD;IACjE,MAAM,OAAO,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACzC,MAAM,sBAAsB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAExD,uBAAA,IAAI,2DAAyB,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAC3D,CAAC;AAtBgB;IADhB,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC;;uEACkB;AAF3D,0BAA0B;IADtC,UAAU,EAAE;GACA,0BAA0B,CAyBtC"}
@@ -1,13 +1,13 @@
1
1
  import { Contracts } from "@mainsail/contracts";
2
- import { TransactionHandler } from "./transaction";
2
+ import { TransactionHandler } from "./transaction.js";
3
3
  export declare class TransactionHandlerRegistry implements Contracts.Transactions.TransactionHandlerRegistry {
4
4
  private readonly provider;
5
5
  private readonly handlers;
6
6
  initialize(): void;
7
7
  getRegisteredHandlers(): TransactionHandler[];
8
- getRegisteredHandlerByType(internalType: Contracts.Transactions.InternalTransactionType, version?: number): TransactionHandler;
8
+ getRegisteredHandlerByType(internalType: number, version?: number): TransactionHandler;
9
9
  getActivatedHandlers(): Promise<TransactionHandler[]>;
10
- getActivatedHandlerByType(internalType: Contracts.Transactions.InternalTransactionType, version?: number): Promise<TransactionHandler>;
10
+ getActivatedHandlerByType(internalType: number, version?: number): Promise<TransactionHandler>;
11
11
  getActivatedHandlerForData(transactionData: Contracts.Crypto.TransactionData): Promise<TransactionHandler>;
12
12
  }
13
13
  //# sourceMappingURL=handler-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler-registry.d.ts","sourceRoot":"","sources":["../../source/handlers/handler-registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAA2B,MAAM,qBAAqB,CAAC;AAKzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,qBACa,0BAA2B,YAAW,SAAS,CAAC,YAAY,CAAC,0BAA0B;IAEnG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IAGvD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IAG1C,UAAU,IAAI,IAAI;IAMlB,qBAAqB,IAAI,kBAAkB,EAAE;IAI7C,0BAA0B,CAChC,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,uBAAuB,EAC5D,OAAO,SAAI,GACT,kBAAkB;IAiBR,oBAAoB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IASrD,yBAAyB,CACrC,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,uBAAuB,EAC5D,OAAO,SAAI,GACT,OAAO,CAAC,kBAAkB,CAAC;IAQjB,0BAA0B,CACtC,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe,GAC/C,OAAO,CAAC,kBAAkB,CAAC;CAI9B"}
1
+ {"version":3,"file":"handler-registry.d.ts","sourceRoot":"","sources":["../../source/handlers/handler-registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAA2B,MAAM,qBAAqB,CAAC;AAIzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,qBACa,0BAA2B,YAAW,SAAS,CAAC,YAAY,CAAC,0BAA0B;IAEnG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IAGvD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IAG1C,UAAU,IAAI,IAAI;IAMlB,qBAAqB,IAAI,kBAAkB,EAAE;IAI7C,0BAA0B,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,kBAAkB;IAM3E,oBAAoB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IASrD,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAQzF,0BAA0B,CACtC,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe,GAC/C,OAAO,CAAC,kBAAkB,CAAC;CAG9B"}
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -8,13 +7,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
7
  var __metadata = (this && this.__metadata) || function (k, v) {
9
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
9
  };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.TransactionHandlerRegistry = void 0;
13
- const container_1 = require("@mainsail/container");
14
- const contracts_1 = require("@mainsail/contracts");
15
- const crypto_transaction_1 = require("@mainsail/crypto-transaction");
16
- const kernel_1 = require("@mainsail/kernel");
17
- const handler_provider_1 = require("./handler-provider");
10
+ import { inject, injectable, multiInject, postConstruct } from "@mainsail/container";
11
+ import { Exceptions, Identifiers } from "@mainsail/contracts";
12
+ import { Utils } from "@mainsail/kernel";
13
+ import { TransactionHandlerProvider } from "./handler-provider.js";
18
14
  let TransactionHandlerRegistry = class TransactionHandlerRegistry {
19
15
  initialize() {
20
16
  if (this.provider.isRegistrationRequired()) {
@@ -24,17 +20,10 @@ let TransactionHandlerRegistry = class TransactionHandlerRegistry {
24
20
  getRegisteredHandlers() {
25
21
  return this.handlers;
26
22
  }
27
- getRegisteredHandlerByType(internalType, version = 1) {
28
- for (const handler of this.handlers) {
29
- const transactionConstructor = handler.getConstructor();
30
- kernel_1.Utils.assert.defined(transactionConstructor.type);
31
- kernel_1.Utils.assert.defined(transactionConstructor.typeGroup);
32
- const handlerInternalType = crypto_transaction_1.InternalTransactionType.from(transactionConstructor.type, transactionConstructor.typeGroup);
33
- if (handlerInternalType === internalType && transactionConstructor.version === version) {
34
- return handler;
35
- }
36
- }
37
- throw new contracts_1.Exceptions.InvalidTransactionTypeError(internalType);
23
+ getRegisteredHandlerByType(internalType, version = 0) {
24
+ const [handler] = this.handlers;
25
+ Utils.assert.defined(handler);
26
+ return handler;
38
27
  }
39
28
  async getActivatedHandlers() {
40
29
  const promises = this.handlers.map(async (handler) => [handler, await handler.isActivated()]);
@@ -42,34 +31,33 @@ let TransactionHandlerRegistry = class TransactionHandlerRegistry {
42
31
  const activated = results.filter(([_, activated]) => activated);
43
32
  return activated.map(([handler, _]) => handler);
44
33
  }
45
- async getActivatedHandlerByType(internalType, version = 1) {
34
+ async getActivatedHandlerByType(internalType, version = 0) {
46
35
  const handler = this.getRegisteredHandlerByType(internalType, version);
47
36
  if (await handler.isActivated()) {
48
37
  return handler;
49
38
  }
50
- throw new contracts_1.Exceptions.DeactivatedTransactionHandlerError(internalType);
39
+ throw new Exceptions.DeactivatedTransactionHandlerError(internalType);
51
40
  }
52
41
  async getActivatedHandlerForData(transactionData) {
53
- const internalType = crypto_transaction_1.InternalTransactionType.from(transactionData.type, transactionData.typeGroup);
54
- return this.getActivatedHandlerByType(internalType, transactionData.version);
42
+ return this.getActivatedHandlerByType(0, 0);
55
43
  }
56
44
  };
57
- exports.TransactionHandlerRegistry = TransactionHandlerRegistry;
58
45
  __decorate([
59
- (0, container_1.inject)(contracts_1.Identifiers.Transaction.Handler.Provider),
60
- __metadata("design:type", handler_provider_1.TransactionHandlerProvider)
46
+ inject(Identifiers.Transaction.Handler.Provider),
47
+ __metadata("design:type", TransactionHandlerProvider)
61
48
  ], TransactionHandlerRegistry.prototype, "provider", void 0);
62
49
  __decorate([
63
- (0, container_1.multiInject)(contracts_1.Identifiers.Transaction.Handler.Instances),
50
+ multiInject(Identifiers.Transaction.Handler.Instances),
64
51
  __metadata("design:type", Array)
65
52
  ], TransactionHandlerRegistry.prototype, "handlers", void 0);
66
53
  __decorate([
67
- (0, container_1.postConstruct)(),
54
+ postConstruct(),
68
55
  __metadata("design:type", Function),
69
56
  __metadata("design:paramtypes", []),
70
57
  __metadata("design:returntype", void 0)
71
58
  ], TransactionHandlerRegistry.prototype, "initialize", null);
72
- exports.TransactionHandlerRegistry = TransactionHandlerRegistry = __decorate([
73
- (0, container_1.injectable)()
59
+ TransactionHandlerRegistry = __decorate([
60
+ injectable()
74
61
  ], TransactionHandlerRegistry);
62
+ export { TransactionHandlerRegistry };
75
63
  //# sourceMappingURL=handler-registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler-registry.js","sourceRoot":"","sources":["../../source/handlers/handler-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler-registry.js","sourceRoot":"","sources":["../../source/handlers/handler-registry.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAa,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAI5D,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAQ/B,UAAU;QAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAClC,CAAC;IACF,CAAC;IAEM,qBAAqB;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAEM,0BAA0B,CAAC,YAAoB,EAAE,OAAO,GAAG,CAAC;QAClE,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAqB,OAAO,CAAC,CAAC;QAClD,OAAO,OAAO,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,oBAAoB;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CACjC,KAAK,EAAE,OAAO,EAA0C,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,CACjG,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;QAChE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAEM,KAAK,CAAC,yBAAyB,CAAC,YAAoB,EAAE,OAAO,GAAG,CAAC;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACvE,IAAI,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YACjC,OAAO,OAAO,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,UAAU,CAAC,kCAAkC,CAAC,YAAY,CAAC,CAAC;IACvE,CAAC;IAEM,KAAK,CAAC,0BAA0B,CACtC,eAAiD;QAEjD,OAAO,IAAI,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC;CACD,CAAA;AA5CiB;IADhB,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;8BACrB,0BAA0B;4DAAC;AAGtC;IADhB,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;;4DACN;AAG1C;IADN,aAAa,EAAE;;;;4DAKf;AAZW,0BAA0B;IADtC,UAAU,EAAE;GACA,0BAA0B,CA8CtC"}
@@ -1,4 +1,5 @@
1
- export { TransactionHandlerProvider } from "./handler-provider";
2
- export { TransactionHandlerRegistry as Registry } from "./handler-registry";
3
- export { TransactionHandler, TransactionHandlerConstructor } from "./transaction";
1
+ export { TransactionHandlerProvider } from "./handler-provider.js";
2
+ export { TransactionHandlerRegistry as Registry } from "./handler-registry.js";
3
+ export type { TransactionHandlerConstructor } from "./transaction.js";
4
+ export { TransactionHandler } from "./transaction.js";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/handlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,0BAA0B,IAAI,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/handlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,0BAA0B,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC/E,YAAY,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,10 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TransactionHandler = exports.Registry = exports.TransactionHandlerProvider = void 0;
4
- var handler_provider_1 = require("./handler-provider");
5
- Object.defineProperty(exports, "TransactionHandlerProvider", { enumerable: true, get: function () { return handler_provider_1.TransactionHandlerProvider; } });
6
- var handler_registry_1 = require("./handler-registry");
7
- Object.defineProperty(exports, "Registry", { enumerable: true, get: function () { return handler_registry_1.TransactionHandlerRegistry; } });
8
- var transaction_1 = require("./transaction");
9
- Object.defineProperty(exports, "TransactionHandler", { enumerable: true, get: function () { return transaction_1.TransactionHandler; } });
1
+ export { TransactionHandlerProvider } from "./handler-provider.js";
2
+ export { TransactionHandlerRegistry as Registry } from "./handler-registry.js";
3
+ export { TransactionHandler } from "./transaction.js";
10
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/handlers/index.ts"],"names":[],"mappings":";;;AAAA,uDAAgE;AAAvD,8HAAA,0BAA0B,OAAA;AACnC,uDAA4E;AAAnE,4GAAA,0BAA0B,OAAY;AAC/C,6CAAkF;AAAzE,iHAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/handlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,0BAA0B,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,26 +1,19 @@
1
1
  import { Contracts } from "@mainsail/contracts";
2
2
  export declare abstract class TransactionHandler implements Contracts.Transactions.TransactionHandler {
3
- #private;
4
3
  protected readonly app: Contracts.Kernel.Application;
4
+ protected readonly gasFeeCalculator: Contracts.Evm.GasFeeCalculator;
5
5
  protected readonly logger: Contracts.Kernel.Logger;
6
6
  protected readonly configuration: Contracts.Crypto.Configuration;
7
7
  protected readonly verifier: Contracts.Crypto.TransactionVerifier;
8
- verify(walletRepository: Contracts.State.WalletRepository, transaction: Contracts.Crypto.Transaction): Promise<boolean>;
9
- throwIfCannotBeApplied(walletRepository: Contracts.State.WalletRepository, transaction: Contracts.Crypto.Transaction, sender: Contracts.State.Wallet): Promise<void>;
10
- apply(walletRepository: Contracts.State.WalletRepository, transaction: Contracts.Crypto.Transaction): Promise<void>;
11
- applyToSender(walletRepository: Contracts.State.WalletRepository, transaction: Contracts.Crypto.Transaction): Promise<void>;
12
- emitEvents(transaction: Contracts.Crypto.Transaction, emitter: Contracts.Kernel.EventDispatcher): void;
13
- walletAttributes(): ReadonlyArray<{
14
- name: string;
15
- type: Contracts.State.AttributeType;
16
- }>;
17
- throwIfCannotEnterPool(walletRepository: Contracts.State.WalletRepository, transaction: Contracts.Crypto.Transaction): Promise<void>;
18
- verifySignatures(wallet: Contracts.State.Wallet, transaction: Contracts.Crypto.TransactionData, multiSignature?: Contracts.Crypto.MultiSignatureAsset): Promise<boolean>;
19
- protected allTransactions(transactions: Contracts.Crypto.Transaction[]): Contracts.Crypto.TransactionData[];
8
+ protected readonly eventDispatcher: Contracts.Kernel.EventDispatcher;
9
+ verify(transaction: Contracts.Crypto.Transaction): Promise<boolean>;
10
+ throwIfCannotBeApplied(transaction: Contracts.Crypto.Transaction, sender: Contracts.State.Wallet): Promise<void>;
11
+ emitEvents(transaction: Contracts.Crypto.Transaction): void;
12
+ verifySignatures(wallet: Contracts.State.Wallet, transaction: Contracts.Crypto.TransactionData, multiSignature: Contracts.Crypto.MultiSignatureAsset): Promise<boolean>;
13
+ abstract apply(context: Contracts.Transactions.TransactionHandlerContext, transaction: Contracts.Crypto.Transaction): Promise<Contracts.Evm.TransactionReceipt>;
20
14
  abstract getConstructor(): Contracts.Crypto.TransactionConstructor;
21
15
  abstract dependencies(): ReadonlyArray<TransactionHandlerConstructor>;
22
16
  abstract isActivated(): Promise<boolean>;
23
- abstract applyToRecipient(walletRepository: Contracts.State.WalletRepository, transaction: Contracts.Crypto.Transaction): Promise<void>;
24
17
  }
25
18
  export type TransactionHandlerConstructor = new () => TransactionHandler;
26
19
  //# sourceMappingURL=transaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../source/handlers/transaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAA2B,MAAM,qBAAqB,CAAC;AAKzE,8BACsB,kBAAmB,YAAW,SAAS,CAAC,YAAY,CAAC,kBAAkB;;IAE5F,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAG,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;IAGpD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAG,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC;IAGlE,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC;IAEtD,MAAM,CAClB,gBAAgB,EAAE,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAClD,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,GACvC,OAAO,CAAC,OAAO,CAAC;IAcN,sBAAsB,CAClC,gBAAgB,EAAE,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAClD,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,EACzC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,GAC5B,OAAO,CAAC,IAAI,CAAC;IAuDH,KAAK,CACjB,gBAAgB,EAAE,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAClD,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,GACvC,OAAO,CAAC,IAAI,CAAC;IAKH,aAAa,CACzB,gBAAgB,EAAE,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAClD,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,GACvC,OAAO,CAAC,IAAI,CAAC;IAwBT,UAAU,CAAC,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe,GAAG,IAAI;IAEtG,gBAAgB,IAAI,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,aAAa,CAAA;KAAE,CAAC;IAIlF,sBAAsB,CAClC,gBAAgB,EAAE,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAClD,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,GACvC,OAAO,CAAC,IAAI,CAAC;IAEH,gBAAgB,CAC5B,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,EAC9B,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe,EAC7C,cAAc,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,mBAAmB,GACnD,OAAO,CAAC,OAAO,CAAC;IAYnB,SAAS,CAAC,eAAe,CAAC,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,EAAE;aAS3F,cAAc,IAAI,SAAS,CAAC,MAAM,CAAC,sBAAsB;aAEzD,YAAY,IAAI,aAAa,CAAC,6BAA6B,CAAC;aAE5D,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;aAE/B,gBAAgB,CAC/B,gBAAgB,EAAE,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAClD,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,GACvC,OAAO,CAAC,IAAI,CAAC;CAChB;AAED,MAAM,MAAM,6BAA6B,GAAG,UAAU,kBAAkB,CAAC"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../source/handlers/transaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAA2B,MAAM,qBAAqB,CAAC;AAGzE,8BACsB,kBAAmB,YAAW,SAAS,CAAC,YAAY,CAAC,kBAAkB;IAE5F,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAG,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAG,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAGrE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;IAGpD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAG,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC;IAGlE,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC;IAGnE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAG,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC;IAEzD,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAKnE,sBAAsB,CAClC,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,EACzC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,GAC5B,OAAO,CAAC,IAAI,CAAC;IAiBT,UAAU,CAAC,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI;IAErD,gBAAgB,CAC5B,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,EAC9B,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe,EAC7C,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,mBAAmB,GAClD,OAAO,CAAC,OAAO,CAAC;aAIH,KAAK,CACpB,OAAO,EAAE,SAAS,CAAC,YAAY,CAAC,yBAAyB,EACzD,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,GACvC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC;aAE5B,cAAc,IAAI,SAAS,CAAC,MAAM,CAAC,sBAAsB;aAEzD,YAAY,IAAI,aAAa,CAAC,6BAA6B,CAAC;aAE5D,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;CAC/C;AAED,MAAM,MAAM,6BAA6B,GAAG,UAAU,kBAAkB,CAAC"}
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -8,126 +7,58 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
7
  var __metadata = (this && this.__metadata) || function (k, v) {
9
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
9
  };
11
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
12
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
13
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
14
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
15
- };
16
- var _TransactionHandler_instances, _TransactionHandler_verifyTransactionNonceApply;
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.TransactionHandler = void 0;
19
- const container_1 = require("@mainsail/container");
20
- const contracts_1 = require("@mainsail/contracts");
21
- const kernel_1 = require("@mainsail/kernel");
22
- const utils_1 = require("@mainsail/utils");
23
- // @TODO revisit the implementation, container usage and arguments after database rework
10
+ import { inject, injectable } from "@mainsail/container";
11
+ import { Contracts, Exceptions, Identifiers } from "@mainsail/contracts";
12
+ import { Utils as AppUtils } from "@mainsail/kernel";
24
13
  let TransactionHandler = class TransactionHandler {
25
- constructor() {
26
- _TransactionHandler_instances.add(this);
27
- }
28
- async verify(walletRepository, transaction) {
29
- kernel_1.Utils.assert.defined(transaction.data.senderPublicKey);
30
- const senderWallet = await walletRepository.findByPublicKey(transaction.data.senderPublicKey);
31
- if (senderWallet.hasMultiSignature()) {
32
- return this.verifySignatures(senderWallet, transaction.data);
33
- }
14
+ async verify(transaction) {
15
+ AppUtils.assert.defined(transaction.data.senderAddress);
34
16
  return this.verifier.verifyHash(transaction.data);
35
17
  }
36
- async throwIfCannotBeApplied(walletRepository, transaction, sender) {
37
- const senderWallet = walletRepository.findByAddress(sender.getAddress());
38
- kernel_1.Utils.assert.defined(sender.getPublicKey());
39
- if (!walletRepository.hasByPublicKey(sender.getPublicKey()) && senderWallet.getBalance().isZero()) {
40
- throw new contracts_1.Exceptions.ColdWalletError();
18
+ async throwIfCannotBeApplied(transaction, sender) {
19
+ if (!sender.getNonce().isEqualTo(transaction.data.nonce)) {
20
+ throw new Exceptions.UnexpectedNonceError(transaction.data.nonce, sender);
41
21
  }
42
- // @TODO: enforce fees here to support dynamic cases
43
- __classPrivateFieldGet(this, _TransactionHandler_instances, "m", _TransactionHandler_verifyTransactionNonceApply).call(this, sender, transaction);
44
- if (sender.getBalance().minus(transaction.data.amount).minus(transaction.data.fee).isNegative() &&
22
+ if (sender
23
+ .getBalance()
24
+ .minus(transaction.data.value)
25
+ .minus(this.gasFeeCalculator.calculate(transaction))
26
+ .isNegative() &&
45
27
  this.configuration.getHeight() > 0) {
46
- throw new contracts_1.Exceptions.InsufficientBalanceError();
47
- }
48
- if (transaction.data.senderPublicKey !== sender.getPublicKey()) {
49
- throw new contracts_1.Exceptions.SenderWalletMismatchError();
50
- }
51
- // Prevent legacy multi signatures from being used
52
- const isMultiSignatureRegistration = transaction.type === contracts_1.Contracts.Crypto.TransactionType.MultiSignature &&
53
- transaction.typeGroup === contracts_1.Contracts.Crypto.TransactionTypeGroup.Core;
54
- if (sender.hasMultiSignature()) {
55
- kernel_1.Utils.assert.defined(transaction.data.senderPublicKey);
56
- // Ensure the database wallet already has a multi signature, in case we checked a pool wallet.
57
- const databaseSender = await walletRepository.findByPublicKey(transaction.data.senderPublicKey);
58
- if (!databaseSender.hasMultiSignature()) {
59
- throw new contracts_1.Exceptions.MissingMultiSignatureOnSenderError();
60
- }
61
- if (databaseSender.hasAttribute("multiSignature.legacy")) {
62
- throw new contracts_1.Exceptions.LegacyMultiSignatureError();
63
- }
64
- if (!this.verifySignatures(databaseSender, transaction.data, databaseSender.getAttribute("multiSignature"))) {
65
- throw new contracts_1.Exceptions.InvalidMultiSignaturesError();
66
- }
67
- }
68
- else if (transaction.data.signatures && !isMultiSignatureRegistration) {
69
- throw new contracts_1.Exceptions.UnsupportedMultiSignatureRegistrationTransactionError();
70
- }
71
- }
72
- async apply(walletRepository, transaction) {
73
- await this.applyToSender(walletRepository, transaction);
74
- await this.applyToRecipient(walletRepository, transaction);
75
- }
76
- async applyToSender(walletRepository, transaction) {
77
- kernel_1.Utils.assert.defined(transaction.data.senderPublicKey);
78
- const sender = await walletRepository.findByPublicKey(transaction.data.senderPublicKey);
79
- const data = transaction.data;
80
- await this.throwIfCannotBeApplied(walletRepository, transaction, sender);
81
- if (data.version) {
82
- __classPrivateFieldGet(this, _TransactionHandler_instances, "m", _TransactionHandler_verifyTransactionNonceApply).call(this, sender, transaction);
83
- kernel_1.Utils.assert.defined(data.nonce);
84
- sender.setNonce(data.nonce);
28
+ throw new Exceptions.InsufficientBalanceError();
85
29
  }
86
- else {
87
- sender.increaseNonce();
88
- }
89
- const newBalance = sender.getBalance().minus(data.amount).minus(data.fee);
90
- sender.setBalance(newBalance);
91
- }
92
- emitEvents(transaction, emitter) { }
93
- walletAttributes() {
94
- return [];
95
30
  }
96
- async throwIfCannotEnterPool(walletRepository, transaction) { }
31
+ emitEvents(transaction) { }
97
32
  async verifySignatures(wallet, transaction, multiSignature) {
98
- return this.verifier.verifySignatures(transaction, multiSignature || wallet.getAttribute("multiSignature"));
99
- }
100
- allTransactions(transactions) {
101
- return transactions
102
- .filter(({ data }) => data.type === this.getConstructor().type && data.typeGroup === this.getConstructor().typeGroup)
103
- .map(({ data }) => data);
104
- }
105
- };
106
- exports.TransactionHandler = TransactionHandler;
107
- _TransactionHandler_instances = new WeakSet();
108
- _TransactionHandler_verifyTransactionNonceApply = function _TransactionHandler_verifyTransactionNonceApply(wallet, transaction) {
109
- const nonce = transaction.data.nonce || utils_1.BigNumber.ZERO;
110
- if (!wallet.getNonce().plus(1).isEqualTo(nonce)) {
111
- throw new contracts_1.Exceptions.UnexpectedNonceError(nonce, wallet, false);
33
+ return this.verifier.verifySignatures(transaction, multiSignature);
112
34
  }
113
35
  };
114
36
  __decorate([
115
- (0, container_1.inject)(contracts_1.Identifiers.Application.Instance),
37
+ inject(Identifiers.Application.Instance),
116
38
  __metadata("design:type", Object)
117
39
  ], TransactionHandler.prototype, "app", void 0);
118
40
  __decorate([
119
- (0, container_1.inject)(contracts_1.Identifiers.Services.Log.Service),
41
+ inject(Identifiers.Evm.Gas.FeeCalculator),
42
+ __metadata("design:type", Object)
43
+ ], TransactionHandler.prototype, "gasFeeCalculator", void 0);
44
+ __decorate([
45
+ inject(Identifiers.Services.Log.Service),
120
46
  __metadata("design:type", Object)
121
47
  ], TransactionHandler.prototype, "logger", void 0);
122
48
  __decorate([
123
- (0, container_1.inject)(contracts_1.Identifiers.Cryptography.Configuration),
49
+ inject(Identifiers.Cryptography.Configuration),
124
50
  __metadata("design:type", Object)
125
51
  ], TransactionHandler.prototype, "configuration", void 0);
126
52
  __decorate([
127
- (0, container_1.inject)(contracts_1.Identifiers.Cryptography.Transaction.Verifier),
53
+ inject(Identifiers.Cryptography.Transaction.Verifier),
128
54
  __metadata("design:type", Object)
129
55
  ], TransactionHandler.prototype, "verifier", void 0);
130
- exports.TransactionHandler = TransactionHandler = __decorate([
131
- (0, container_1.injectable)()
56
+ __decorate([
57
+ inject(Identifiers.Services.EventDispatcher.Service),
58
+ __metadata("design:type", Object)
59
+ ], TransactionHandler.prototype, "eventDispatcher", void 0);
60
+ TransactionHandler = __decorate([
61
+ injectable()
132
62
  ], TransactionHandler);
63
+ export { TransactionHandler };
133
64
  //# sourceMappingURL=transaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../source/handlers/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../source/handlers/transaction.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG9C,IAAe,kBAAkB,GAAjC,MAAe,kBAAkB;IAmBhC,KAAK,CAAC,MAAM,CAAC,WAAyC;QAC5D,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAS,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAEM,KAAK,CAAC,sBAAsB,CAClC,WAAyC,EACzC,MAA8B;QAE9B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,UAAU,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3E,CAAC;QAED,IACC,MAAM;aACJ,UAAU,EAAE;aACZ,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;aAC7B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;aACnD,UAAU,EAAE;YACd,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,EACjC,CAAC;YACF,MAAM,IAAI,UAAU,CAAC,wBAAwB,EAAE,CAAC;QACjD,CAAC;IACF,CAAC;IAEM,UAAU,CAAC,WAAyC,IAAS,CAAC;IAE9D,KAAK,CAAC,gBAAgB,CAC5B,MAA8B,EAC9B,WAA6C,EAC7C,cAAoD;QAEpD,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IACpE,CAAC;CAYD,CAAA;AA9DmB;IADlB,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC;;+CACa;AAGnC;IADlB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC;;4DAC2B;AAGlD;IADlB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;;kDACW;AAGjC;IADlB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,aAAa,CAAC;;yDACmB;AAG/C;IADlB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC;;oDACa;AAGhD;IADlB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC;;2DACiB;AAjBjD,kBAAkB;IADvC,UAAU,EAAE;GACS,kBAAkB,CAgEvC"}
@@ -1,5 +1,5 @@
1
- export * as Handlers from "./handlers";
2
- export * from "./service-provider";
3
- export * as Utils from "./utils";
1
+ export * as Handlers from "./handlers/index.js";
2
+ export * from "./service-provider.js";
3
+ export * as Utils from "./utils.js";
4
4
  export * as Errors from "@mainsail/contracts";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC"}
@@ -1,34 +1,5 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.Errors = exports.Utils = exports.Handlers = void 0;
30
- exports.Handlers = __importStar(require("./handlers"));
31
- __exportStar(require("./service-provider"), exports);
32
- exports.Utils = __importStar(require("./utils"));
33
- exports.Errors = __importStar(require("@mainsail/contracts"));
1
+ export * as Handlers from "./handlers/index.js";
2
+ export * from "./service-provider.js";
3
+ export * as Utils from "./utils.js";
4
+ export * as Errors from "@mainsail/contracts";
34
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAuC;AACvC,qDAAmC;AACnC,iDAAiC;AACjC,8DAA8C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { interfaces } from "@mainsail/container";
2
2
  import { Providers } from "@mainsail/kernel";
3
- import { TransactionHandlerConstructor } from "./handlers";
3
+ import { TransactionHandlerConstructor } from "./handlers/index.js";
4
4
  export declare class ServiceProvider extends Providers.ServiceProvider {
5
5
  static getTransactionHandlerConstructorsBinding(): (context: interfaces.Context) => TransactionHandlerConstructor[];
6
6
  register(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"service-provider.d.ts","sourceRoot":"","sources":["../source/service-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,6BAA6B,EAA8B,MAAM,YAAY,CAAC;AAGvF,qBAAa,eAAgB,SAAQ,SAAS,CAAC,eAAe;WAC/C,wCAAwC,IAAI,CACzD,OAAO,EAAE,UAAU,CAAC,OAAO,KACvB,6BAA6B,EAAE;IAuBvB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAUzB,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;CAGzC"}
1
+ {"version":3,"file":"service-provider.d.ts","sourceRoot":"","sources":["../source/service-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,6BAA6B,EAA8B,MAAM,qBAAqB,CAAC;AAGhG,qBAAa,eAAgB,SAAQ,SAAS,CAAC,eAAe;WAC/C,wCAAwC,IAAI,CACzD,OAAO,EAAE,UAAU,CAAC,OAAO,KACvB,6BAA6B,EAAE;IAuBvB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAezB,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;CAGzC"}
@@ -1,18 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ServiceProvider = void 0;
4
- const contracts_1 = require("@mainsail/contracts");
5
- const kernel_1 = require("@mainsail/kernel");
6
- const handlers_1 = require("./handlers");
7
- const handler_registry_1 = require("./handlers/handler-registry");
8
- class ServiceProvider extends kernel_1.Providers.ServiceProvider {
1
+ import { Identifiers } from "@mainsail/contracts";
2
+ import { Providers } from "@mainsail/kernel";
3
+ import { TransactionHandlerRegistry } from "./handlers/handler-registry.js";
4
+ import { TransactionHandlerProvider } from "./handlers/index.js";
5
+ import { TransactionValidator } from "./transaction-validator.js";
6
+ export class ServiceProvider extends Providers.ServiceProvider {
9
7
  static getTransactionHandlerConstructorsBinding() {
10
8
  return (context) => {
11
9
  const handlerConstructors = [];
12
10
  let container = context.container;
13
11
  do {
14
12
  const bindingDictionary = container["_bindingDictionary"];
15
- const handlerBindings = bindingDictionary.getMap().get(contracts_1.Identifiers.Transaction.Handler.Instances) ?? [];
13
+ const handlerBindings = bindingDictionary.getMap().get(Identifiers.Transaction.Handler.Instances) ?? [];
16
14
  for (const handlerBinding of handlerBindings) {
17
15
  if (handlerBinding.implementationType) {
18
16
  handlerConstructors.push(handlerBinding.implementationType);
@@ -24,15 +22,18 @@ class ServiceProvider extends kernel_1.Providers.ServiceProvider {
24
22
  };
25
23
  }
26
24
  async register() {
27
- this.app.bind(contracts_1.Identifiers.Transaction.Handler.Provider).to(handlers_1.TransactionHandlerProvider).inSingletonScope();
25
+ this.app.bind(Identifiers.Transaction.Handler.Provider).to(TransactionHandlerProvider).inSingletonScope();
28
26
  this.app
29
- .bind(contracts_1.Identifiers.Transaction.Handler.Constructors)
27
+ .bind(Identifiers.Transaction.Handler.Constructors)
30
28
  .toDynamicValue(ServiceProvider.getTransactionHandlerConstructorsBinding());
31
- this.app.bind(contracts_1.Identifiers.Transaction.Handler.Registry).to(handler_registry_1.TransactionHandlerRegistry);
29
+ this.app.bind(Identifiers.Transaction.Handler.Registry).to(TransactionHandlerRegistry);
30
+ this.app.bind(Identifiers.Transaction.Validator.Instance).to(TransactionValidator);
31
+ this.app
32
+ .bind(Identifiers.Transaction.Validator.Factory)
33
+ .toAutoFactory(Identifiers.Transaction.Validator.Instance);
32
34
  }
33
35
  async required() {
34
36
  return true;
35
37
  }
36
38
  }
37
- exports.ServiceProvider = ServiceProvider;
38
39
  //# sourceMappingURL=service-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service-provider.js","sourceRoot":"","sources":["../source/service-provider.ts"],"names":[],"mappings":";;;AACA,mDAAkD;AAClD,6CAA6C;AAE7C,yCAAuF;AACvF,kEAAyE;AAEzE,MAAa,eAAgB,SAAQ,kBAAS,CAAC,eAAe;IACtD,MAAM,CAAC,wCAAwC;QAGrD,OAAO,CAAC,OAA2B,EAAE,EAAE;YAEtC,MAAM,mBAAmB,GAAoC,EAAE,CAAC;YAChE,IAAI,SAAS,GAAgC,OAAO,CAAC,SAAS,CAAC;YAE/D,GAAG,CAAC;gBACH,MAAM,iBAAiB,GAAG,SAAS,CAAC,oBAAoB,CAAsB,CAAC;gBAC/E,MAAM,eAAe,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,uBAAW,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gBAExG,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;oBAC9C,IAAI,cAAc,CAAC,kBAAkB,EAAE,CAAC;wBACvC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAmD,CAAC,CAAC;oBAC9F,CAAC;gBACF,CAAC;gBAED,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;YAC9B,CAAC,QAAQ,SAAS,EAAE;YAEpB,OAAO,mBAAmB,CAAC;QAC5B,CAAC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAW,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,qCAA0B,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAE1G,IAAI,CAAC,GAAG;aACN,IAAI,CAAC,uBAAW,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC;aAClD,cAAc,CAAC,eAAe,CAAC,wCAAwC,EAAE,CAAC,CAAC;QAE7E,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAW,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,6CAA0B,CAAC,CAAC;IACxF,CAAC;IAEM,KAAK,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC;IACb,CAAC;CACD;AAvCD,0CAuCC"}
1
+ {"version":3,"file":"service-provider.js","sourceRoot":"","sources":["../source/service-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAiC,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAChG,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,OAAO,eAAgB,SAAQ,SAAS,CAAC,eAAe;IACtD,MAAM,CAAC,wCAAwC;QAGrD,OAAO,CAAC,OAA2B,EAAE,EAAE;YAEtC,MAAM,mBAAmB,GAAoC,EAAE,CAAC;YAChE,IAAI,SAAS,GAAgC,OAAO,CAAC,SAAS,CAAC;YAE/D,GAAG,CAAC;gBACH,MAAM,iBAAiB,GAAG,SAAS,CAAC,oBAAoB,CAAsB,CAAC;gBAC/E,MAAM,eAAe,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gBAExG,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;oBAC9C,IAAI,cAAc,CAAC,kBAAkB,EAAE,CAAC;wBACvC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAmD,CAAC,CAAC;oBAC9F,CAAC;gBACF,CAAC;gBAED,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;YAC9B,CAAC,QAAQ,SAAS,EAAE;YAEpB,OAAO,mBAAmB,CAAC;QAC5B,CAAC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAE1G,IAAI,CAAC,GAAG;aACN,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC;aAClD,cAAc,CAAC,eAAe,CAAC,wCAAwC,EAAE,CAAC,CAAC;QAE7E,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC;QAEvF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC;QACnF,IAAI,CAAC,GAAG;aACN,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC;aAC/C,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC;IACb,CAAC;CACD"}
@@ -0,0 +1,9 @@
1
+ import { Contracts } from "@mainsail/contracts";
2
+ export declare class TransactionValidator implements Contracts.Transactions.TransactionValidator {
3
+ private readonly evm;
4
+ private readonly handlerRegistry;
5
+ private readonly transactionFactory;
6
+ getEvm(): Contracts.Evm.Instance;
7
+ validate(context: Contracts.Transactions.TransactionValidatorContext, transaction: Contracts.Crypto.Transaction): Promise<Contracts.Evm.TransactionReceipt>;
8
+ }
9
+ //# sourceMappingURL=transaction-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction-validator.d.ts","sourceRoot":"","sources":["../source/transaction-validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAe,MAAM,qBAAqB,CAAC;AAI7D,qBACa,oBAAqB,YAAW,SAAS,CAAC,YAAY,CAAC,oBAAoB;IAGvF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;IAG9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqD;IAGrF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAuC;IAEnE,MAAM,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ;IAI1B,QAAQ,CACpB,OAAO,EAAE,SAAS,CAAC,YAAY,CAAC,2BAA2B,EAC3D,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,GACvC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC;CA4B5C"}
@@ -0,0 +1,55 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { inject, injectable, tagged } from "@mainsail/container";
11
+ import { Contracts, Identifiers } from "@mainsail/contracts";
12
+ import { Utils as AppUtils } from "@mainsail/kernel";
13
+ import { strictEqual } from "assert";
14
+ let TransactionValidator = class TransactionValidator {
15
+ getEvm() {
16
+ return this.evm;
17
+ }
18
+ async validate(context, transaction) {
19
+ const deserialized = await this.transactionFactory.fromBytes(transaction.serialized);
20
+ strictEqual(transaction.id, deserialized.id);
21
+ const { commitKey, gasLimit, timestamp, generatorAddress } = context;
22
+ const handler = await this.handlerRegistry.getActivatedHandlerForData(transaction.data);
23
+ const receipt = await handler.apply({
24
+ evm: {
25
+ blockContext: {
26
+ commitKey,
27
+ gasLimit: BigInt(gasLimit),
28
+ timestamp: BigInt(timestamp),
29
+ validatorAddress: generatorAddress,
30
+ },
31
+ instance: this.evm,
32
+ },
33
+ }, transaction);
34
+ AppUtils.assert.defined(transaction.data.senderAddress);
35
+ return receipt;
36
+ }
37
+ };
38
+ __decorate([
39
+ inject(Identifiers.Evm.Instance),
40
+ tagged("instance", "ephemeral"),
41
+ __metadata("design:type", Object)
42
+ ], TransactionValidator.prototype, "evm", void 0);
43
+ __decorate([
44
+ inject(Identifiers.Transaction.Handler.Registry),
45
+ __metadata("design:type", Object)
46
+ ], TransactionValidator.prototype, "handlerRegistry", void 0);
47
+ __decorate([
48
+ inject(Identifiers.Cryptography.Transaction.Factory),
49
+ __metadata("design:type", Object)
50
+ ], TransactionValidator.prototype, "transactionFactory", void 0);
51
+ TransactionValidator = __decorate([
52
+ injectable()
53
+ ], TransactionValidator);
54
+ export { TransactionValidator };
55
+ //# sourceMappingURL=transaction-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction-validator.js","sourceRoot":"","sources":["../source/transaction-validator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAG9B,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAWzB,MAAM;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,QAAQ,CACpB,OAA2D,EAC3D,WAAyC;QAEzC,MAAM,YAAY,GAAiC,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CACzF,WAAW,CAAC,UAAU,CACtB,CAAC;QACF,WAAW,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;QAE7C,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;QAErE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAClC;YACC,GAAG,EAAE;gBACJ,YAAY,EAAE;oBACb,SAAS;oBACT,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;oBAC1B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;oBAC5B,gBAAgB,EAAE,gBAAgB;iBAClC;gBACD,QAAQ,EAAE,IAAI,CAAC,GAAG;aAClB;SACD,EACD,WAAW,CACX,CAAC;QAEF,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAS,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEhE,OAAO,OAAO,CAAC;IAChB,CAAC;CACD,CAAA;AA3CiB;IAFhB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;IAChC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC;;iDACc;AAG7B;IADhB,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;;6DACoC;AAGpE;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC;;gEACqB;AAT9D,oBAAoB;IADhC,UAAU,EAAE;GACA,oBAAoB,CA8ChC"}
@@ -1,6 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isRecipientOnActiveNetwork = void 0;
4
- const isRecipientOnActiveNetwork = (recipientId, base58, configuration) => base58.decodeCheck(recipientId).readUInt8(0) === configuration.get("network.pubKeyHash");
5
- exports.isRecipientOnActiveNetwork = isRecipientOnActiveNetwork;
1
+ export const isRecipientOnActiveNetwork = (recipientId, base58, configuration) => base58.decodeCheck(recipientId).readUInt8(0) === configuration.get("network.pubKeyHash");
6
2
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../source/utils.ts"],"names":[],"mappings":";;;AAEO,MAAM,0BAA0B,GAAG,CACzC,WAAmB,EACnB,MAAM,EACN,aAA6C,EACnC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAJ1F,QAAA,0BAA0B,8BAIgE"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../source/utils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACzC,WAAmB,EACnB,MAAM,EACN,aAA6C,EACnC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,23 +1,22 @@
1
1
  {
2
2
  "name": "@mainsail/transactions",
3
- "version": "0.0.1-alpha.9",
3
+ "version": "0.0.1-evm.10",
4
4
  "description": "Transaction Services for Mainsail blockchain",
5
5
  "license": "GPL-3.0-only",
6
6
  "contributors": [],
7
+ "type": "module",
7
8
  "main": "distribution/index.js",
8
9
  "types": "distribution/index.d.ts",
9
10
  "files": [
10
11
  "/distribution"
11
12
  ],
12
13
  "dependencies": {
13
- "@mainsail/container": "0.0.1-alpha.9",
14
- "@mainsail/crypto-transaction": "0.0.1-alpha.9",
15
- "@mainsail/kernel": "0.0.1-alpha.9",
16
- "@mainsail/utils": "0.0.1-alpha.9",
17
- "@mainsail/contracts": "0.0.1-alpha.9"
14
+ "@mainsail/contracts": "0.0.1-evm.10",
15
+ "@mainsail/kernel": "0.0.1-evm.10",
16
+ "@mainsail/crypto-transaction": "0.0.1-evm.10",
17
+ "@mainsail/container": "0.0.1-evm.10"
18
18
  },
19
19
  "devDependencies": {
20
- "dayjs": "1.11.10",
21
20
  "uvu": "^0.5.6"
22
21
  },
23
22
  "engines": {
@@ -28,9 +27,10 @@
28
27
  "build:watch": "pnpm run clean && tsc -w",
29
28
  "clean": "del distribution",
30
29
  "release": "pnpm publish --access public",
31
- "test": "uvu -r tsm source .test.ts",
30
+ "test": "pnpm run uvu source .test.ts",
32
31
  "test:coverage": "c8 pnpm run test",
33
32
  "test:coverage:html": "c8 -r html --all pnpm run test",
34
- "test:file": "uvu -r tsm source"
33
+ "test:file": "pnpm run uvu source",
34
+ "uvu": "tsx --tsconfig ../../tsconfig.test.json ./node_modules/uvu/bin.js"
35
35
  }
36
36
  }