@mainsail/transactions 0.0.1-evm.43 → 0.0.1-evm.45

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.
@@ -10,7 +10,7 @@ export declare class TransactionHandler implements Contracts.Transactions.Transa
10
10
  private readonly state;
11
11
  verify(transaction: Contracts.Crypto.Transaction): Promise<boolean>;
12
12
  throwIfCannotBeApplied(transaction: Contracts.Crypto.Transaction, sender: Contracts.State.Wallet, evm: Contracts.Evm.Instance): Promise<void>;
13
- apply(context: Contracts.Transactions.TransactionHandlerContext, transaction: Contracts.Crypto.Transaction): Promise<Contracts.Evm.TransactionReceipt>;
13
+ apply(context: Contracts.Transactions.TransactionHandlerContext, transaction: Contracts.Crypto.Transaction, index: number): Promise<Contracts.Evm.TransactionReceipt>;
14
14
  }
15
15
  export type TransactionHandlerConstructor = new () => TransactionHandler;
16
16
  //# sourceMappingURL=transaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../source/handlers/transaction.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIrD,qBACa,kBAAmB,YAAW,SAAS,CAAC,YAAY,CAAC,kBAAkB;;IAEnF,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;IAGnE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAG,SAAS,CAAC,eAAe,CAAC,aAAa,CAAC;IAG3E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAG3D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;IAElC,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,EAC9B,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,QAAQ,GACzB,OAAO,CAAC,IAAI,CAAC;IA+BH,KAAK,CACjB,OAAO,EAAE,SAAS,CAAC,YAAY,CAAC,yBAAyB,EACzD,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,GACvC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC;CA2C5C;AAED,MAAM,MAAM,6BAA6B,GAAG,UAAU,kBAAkB,CAAC"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../source/handlers/transaction.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIrD,qBACa,kBAAmB,YAAW,SAAS,CAAC,YAAY,CAAC,kBAAkB;;IAEnF,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;IAGnE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAG,SAAS,CAAC,eAAe,CAAC,aAAa,CAAC;IAG3E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAG3D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;IAElC,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,EAC9B,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,QAAQ,GACzB,OAAO,CAAC,IAAI,CAAC;IA+BH,KAAK,CACjB,OAAO,EAAE,SAAS,CAAC,YAAY,CAAC,yBAAyB,EACzD,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,EACzC,KAAK,EAAE,MAAM,GACX,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC;CA2C5C;AAED,MAAM,MAAM,6BAA6B,GAAG,UAAU,kBAAkB,CAAC"}
@@ -20,60 +20,60 @@ let TransactionHandler = class TransactionHandler {
20
20
  events;
21
21
  state;
22
22
  async verify(transaction) {
23
- assert.string(transaction.data.from);
24
- return this.verifier.verifyHash(transaction.data);
23
+ assert.string(transaction.from);
24
+ return this.verifier.verifyHash(transaction);
25
25
  }
26
26
  async throwIfCannotBeApplied(transaction, sender, evm) {
27
27
  // Legacy
28
28
  if (sender.hasLegacySecondPublicKey()) {
29
- await this.verifier.verifyLegacySecondSignature(transaction.data, sender.legacySecondPublicKey());
29
+ await this.verifier.verifyLegacySecondSignature(transaction, sender.legacySecondPublicKey());
30
30
  }
31
31
  else {
32
- if (transaction.data.legacySecondSignature) {
32
+ if (transaction.legacySecondSignature) {
33
33
  throw new UnexpectedLegacySecondSignatureError();
34
34
  }
35
35
  }
36
36
  const milestone = this.configuration.getMilestone();
37
37
  const preverified = await evm.preverifyTransaction({
38
38
  blockGasLimit: BigInt(milestone.block.maxGasLimit),
39
- data: Buffer.from(transaction.data.data, "hex"),
40
- from: transaction.data.from,
41
- gasLimit: BigInt(transaction.data.gasLimit),
42
- gasPrice: BigInt(transaction.data.gasPrice),
43
- legacyAddress: transaction.data.senderLegacyAddress,
44
- nonce: transaction.data.nonce.toBigInt(),
39
+ data: Buffer.from(transaction.data.slice(2), "hex"),
40
+ from: transaction.from,
41
+ gasLimit: BigInt(transaction.gasLimit),
42
+ gasPrice: BigInt(transaction.gasPrice),
43
+ legacyAddress: transaction.senderLegacyAddress,
44
+ nonce: transaction.nonce.toBigInt(),
45
45
  specId: milestone.evmSpec,
46
- to: transaction.data.to,
47
- txHash: transaction.data.hash,
48
- value: transaction.data.value.toBigInt(),
46
+ to: transaction.to,
47
+ txHash: transaction.hash,
48
+ value: transaction.value.toBigInt(),
49
49
  });
50
50
  if (!preverified.success) {
51
51
  throw new TransactionFailedToPreverifyError(transaction, new Error(preverified.error));
52
52
  }
53
53
  }
54
- async apply(context, transaction) {
54
+ async apply(context, transaction, index) {
55
55
  assert.string(transaction.hash);
56
56
  const { evmSpec } = this.configuration.getMilestone();
57
- const { from, senderLegacyAddress } = transaction.data;
58
57
  try {
59
58
  const { instance, blockContext } = context.evm;
60
- const { receipt } = await instance.process({
59
+ const data = {
61
60
  blockContext,
62
- data: Buffer.from(transaction.data.data, "hex"),
63
- from,
64
- gasLimit: BigInt(transaction.data.gasLimit),
65
- gasPrice: BigInt(transaction.data.gasPrice),
66
- index: transaction.data.transactionIndex,
67
- legacyAddress: senderLegacyAddress,
68
- nonce: transaction.data.nonce.toBigInt(),
61
+ data: Buffer.from(transaction.data.slice(2), "hex"),
62
+ from: transaction.from,
63
+ gasLimit: BigInt(transaction.gasLimit),
64
+ gasPrice: BigInt(transaction.gasPrice),
65
+ index,
66
+ legacyAddress: transaction.senderLegacyAddress,
67
+ nonce: transaction.nonce.toBigInt(),
69
68
  specId: evmSpec,
70
- to: transaction.data.to,
69
+ to: transaction.to,
71
70
  txHash: transaction.hash,
72
- value: transaction.data.value.toBigInt(),
73
- });
71
+ value: transaction.value.toBigInt(),
72
+ };
73
+ const { receipt } = await instance.process(data);
74
74
  void this.#emit(Events.EvmEvent.TransactionReceipt, {
75
75
  receipt,
76
- sender: from,
76
+ sender: transaction.from,
77
77
  transactionId: transaction.hash,
78
78
  });
79
79
  return receipt;
@@ -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":"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"}
@@ -4,6 +4,6 @@ export declare class TransactionValidator implements Contracts.Transactions.Tran
4
4
  private readonly transactionHandler;
5
5
  private readonly transactionFactory;
6
6
  getEvm(): Contracts.Evm.Instance;
7
- validate(context: Contracts.Transactions.TransactionValidatorContext, transaction: Contracts.Crypto.Transaction): Promise<Contracts.Evm.TransactionReceipt>;
7
+ validate(context: Contracts.Transactions.TransactionValidatorContext, transaction: Contracts.Crypto.Transaction, index: number): Promise<Contracts.Evm.TransactionReceipt>;
8
8
  }
9
9
  //# sourceMappingURL=transaction-validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction-validator.d.ts","sourceRoot":"","sources":["../source/transaction-validator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIrD,qBACa,oBAAqB,YAAW,SAAS,CAAC,YAAY,CAAC,oBAAoB;IAGvF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;IAG9C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA6C;IAGhF,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;CA2B5C"}
1
+ {"version":3,"file":"transaction-validator.d.ts","sourceRoot":"","sources":["../source/transaction-validator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIrD,qBACa,oBAAqB,YAAW,SAAS,CAAC,YAAY,CAAC,oBAAoB;IAGvF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;IAG9C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA6C;IAGhF,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,EACzC,KAAK,EAAE,MAAM,GACX,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC;CA4B5C"}
@@ -18,7 +18,7 @@ let TransactionValidator = class TransactionValidator {
18
18
  getEvm() {
19
19
  return this.evm;
20
20
  }
21
- async validate(context, transaction) {
21
+ async validate(context, transaction, index) {
22
22
  const deserialized = await this.transactionFactory.fromBytes(transaction.serialized);
23
23
  strictEqual(transaction.hash, deserialized.hash);
24
24
  const { commitKey, gasLimit, timestamp, generatorAddress } = context;
@@ -32,8 +32,8 @@ let TransactionValidator = class TransactionValidator {
32
32
  },
33
33
  instance: this.evm,
34
34
  },
35
- }, transaction);
36
- assert.string(transaction.data.from);
35
+ }, transaction, index);
36
+ assert.string(transaction.from);
37
37
  return receipt;
38
38
  }
39
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"transaction-validator.js","sourceRoot":"","sources":["../source/transaction-validator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAG9B,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAGf,GAAG,CAA0B;IAG7B,kBAAkB,CAA6C;IAG/D,kBAAkB,CAAuC;IAEnE,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,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;QAEjD,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;QAErE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAClD;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,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAErC,OAAO,OAAO,CAAC;IAChB,CAAC;CACD,CAAA;AA1CiB;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;;gEACwC;AAG/D;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC;;gEACqB;AAT9D,oBAAoB;IADhC,UAAU,EAAE;GACA,oBAAoB,CA6ChC"}
1
+ {"version":3,"file":"transaction-validator.js","sourceRoot":"","sources":["../source/transaction-validator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAG9B,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAGf,GAAG,CAA0B;IAG7B,kBAAkB,CAA6C;IAG/D,kBAAkB,CAAuC;IAEnE,MAAM;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,QAAQ,CACpB,OAA2D,EAC3D,WAAyC,EACzC,KAAa;QAEb,MAAM,YAAY,GAAiC,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CACzF,WAAW,CAAC,UAAU,CACtB,CAAC;QACF,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;QAEjD,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;QAErE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAClD;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,EACX,KAAK,CACL,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEhC,OAAO,OAAO,CAAC;IAChB,CAAC;CACD,CAAA;AA5CiB;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;;gEACwC;AAG/D;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC;;gEACqB;AAT9D,oBAAoB;IADhC,UAAU,EAAE;GACA,oBAAoB,CA+ChC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mainsail/transactions",
3
- "version": "0.0.1-evm.43",
3
+ "version": "0.0.1-evm.45",
4
4
  "description": "Transaction Services for Mainsail blockchain",
5
5
  "license": "GPL-3.0-only",
6
6
  "contributors": [],
@@ -11,15 +11,16 @@
11
11
  "/distribution"
12
12
  ],
13
13
  "dependencies": {
14
- "@mainsail/container": "0.0.1-evm.43",
15
- "@mainsail/exceptions": "0.0.1-evm.43",
16
- "@mainsail/constants": "0.0.1-evm.43",
17
- "@mainsail/kernel": "0.0.1-evm.43",
18
- "@mainsail/utils": "0.0.1-evm.43"
14
+ "@mainsail/container": "0.0.1-evm.45",
15
+ "@mainsail/constants": "0.0.1-evm.45",
16
+ "@mainsail/exceptions": "0.0.1-evm.45",
17
+ "@mainsail/kernel": "0.0.1-evm.45",
18
+ "@mainsail/utils": "0.0.1-evm.45"
19
19
  },
20
20
  "devDependencies": {
21
21
  "uvu": "0.5.6",
22
- "@mainsail/contracts": "0.0.1-evm.43"
22
+ "@mainsail/contracts": "0.0.1-evm.45",
23
+ "@mainsail/test-runner": "0.0.1-evm.45"
23
24
  },
24
25
  "engines": {
25
26
  "node": ">=20.x"