@mainsail/crypto-transaction-evm-call 0.0.1-evm.2 → 0.0.1-evm.21

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.
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../source/builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAc,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAKlE,qBACa,cAAe,SAAQ,kBAAkB,CAAC,cAAc,CAAC;IAE9D,aAAa;IAeb,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc;IAQxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc;IAQpC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC;IAkBnE,SAAS,CAAC,QAAQ,IAAI,cAAc;CAGpC"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../source/builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAGlE,qBACa,cAAe,SAAQ,kBAAkB,CAAC,cAAc,CAAC;IAE9D,aAAa;IAUb,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc;IAMxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc;IAMpC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC;IASnE,SAAS,CAAC,QAAQ,IAAI,cAAc;CAGpC"}
@@ -8,47 +8,29 @@ var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
10
  import { injectable, postConstruct } from "@mainsail/container";
11
- import { Exceptions } from "@mainsail/contracts";
12
11
  import { TransactionBuilder } from "@mainsail/crypto-transaction";
13
12
  import { BigNumber } from "@mainsail/utils";
14
- import { EvmCallTransaction } from "./versions/1.js";
15
13
  let EvmCallBuilder = class EvmCallBuilder extends TransactionBuilder {
16
14
  postConstruct() {
17
15
  this.initializeData();
18
- this.data.type = EvmCallTransaction.type;
19
- this.data.typeGroup = EvmCallTransaction.typeGroup;
20
- this.data.amount = BigNumber.ZERO;
21
- this.data.senderPublicKey = "";
22
- this.data.asset = {
23
- evmCall: {
24
- gasLimit: 1_000_000,
25
- payload: "",
26
- },
27
- };
16
+ this.data.value = BigNumber.ZERO;
17
+ this.data.from = "";
18
+ this.data.gas = 1_000_000;
19
+ this.data.gasPrice = 5 * 1e9;
20
+ this.data.data = "";
28
21
  }
29
22
  payload(payload) {
30
- if (this.data.asset && this.data.asset.evmCall) {
31
- this.data.asset.evmCall.payload = payload.startsWith("0x") ? payload : `0x${payload}`;
32
- }
23
+ this.data.data = payload.startsWith("0x") ? payload : `0x${payload}`;
33
24
  return this;
34
25
  }
35
26
  gasLimit(gasLimit) {
36
- if (this.data.asset && this.data.asset.evmCall) {
37
- this.data.asset.evmCall.gasLimit = gasLimit;
38
- }
27
+ this.data.gas = gasLimit;
39
28
  return this;
40
29
  }
41
30
  async getStruct() {
42
- if (!this.data.asset || !this.data.asset.evmCall || !this.data.asset.evmCall.payload) {
43
- throw new Exceptions.EvmCallIncompleteAssetError();
44
- }
45
- if (!this.data.recipientId) {
46
- throw new Exceptions.EvmCallMissingRecipientError();
47
- }
48
31
  const struct = await super.getStruct();
49
- struct.recipientId = this.data.recipientId;
50
- struct.amount = this.data.amount;
51
- struct.asset = this.data.asset;
32
+ struct.value = this.data.value;
33
+ struct.to = this.data.to;
52
34
  return struct;
53
35
  }
54
36
  instance() {
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../source/builder.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAa,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAG9C,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,kBAAkC;IAE9D,aAAa;QACnB,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC,SAAS,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG;YACjB,OAAO,EAAE;gBACR,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,EAAE;aACX;SACD,CAAC;IACH,CAAC;IAEM,OAAO,CAAC,OAAe;QAC7B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QACvF,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,QAAQ,CAAC,QAAgB;QAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC7C,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,KAAK,CAAC,SAAS;QACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACtF,MAAM,IAAI,UAAU,CAAC,2BAA2B,EAAE,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,IAAI,UAAU,CAAC,4BAA4B,EAAE,CAAC;QACrD,CAAC;QAED,MAAM,MAAM,GAAqC,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC;QAEzE,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QAC3C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACjC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAE/B,OAAO,MAAM,CAAC;IACf,CAAC;IAES,QAAQ;QACjB,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAA;AApDO;IADN,aAAa,EAAE;;;;mDAcf;AAfW,cAAc;IAD1B,UAAU,EAAE;GACA,cAAc,CAsD1B"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../source/builder.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGrC,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,kBAAkC;IAE9D,aAAa;QACnB,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;IACrB,CAAC;IAEM,OAAO,CAAC,OAAe;QAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QAErE,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,QAAQ,CAAC,QAAgB;QAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;QAEzB,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,KAAK,CAAC,SAAS;QACrB,MAAM,MAAM,GAAqC,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC;QAEzE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC/B,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAEzB,OAAO,MAAM,CAAC;IACf,CAAC;IAES,QAAQ;QACjB,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAA;AAlCO;IADN,aAAa,EAAE;;;;mDASf;AAVW,cAAc;IAD1B,UAAU,EAAE;GACA,cAAc,CAoC1B"}
@@ -4,16 +4,10 @@ import { Handlers } from "@mainsail/transactions";
4
4
  export declare class EvmCallTransactionHandler extends Handlers.TransactionHandler {
5
5
  #private;
6
6
  private readonly events;
7
- private readonly gasFeeCalculator;
8
7
  private readonly state;
9
8
  dependencies(): ReadonlyArray<Handlers.TransactionHandlerConstructor>;
10
9
  getConstructor(): TransactionConstructor;
11
10
  isActivated(): Promise<boolean>;
12
- throwIfCannotBeApplied(context: Contracts.Transactions.TransactionHandlerContext, transaction: Contracts.Crypto.Transaction, wallet: Contracts.State.Wallet): Promise<void>;
13
- throwIfCannotEnterPool(context: Contracts.Transactions.TransactionHandlerContext, transaction: Contracts.Crypto.Transaction): Promise<void>;
14
- applyToSender(context: Contracts.Transactions.TransactionHandlerContext, transaction: Contracts.Crypto.Transaction): Promise<Contracts.Transactions.TransactionApplyResult>;
15
- applyToRecipient(context: Contracts.Transactions.TransactionHandlerContext, transaction: Contracts.Crypto.Transaction): Promise<Contracts.Transactions.TransactionApplyResult>;
16
- protected verifyTransactionFee(context: Contracts.Transactions.TransactionHandlerContext, transaction: Contracts.Crypto.Transaction, sender: Contracts.State.Wallet): void;
17
- protected applyFeeToSender(transaction: Contracts.Crypto.Transaction, sender: Contracts.State.Wallet): void;
11
+ apply(context: Contracts.Transactions.TransactionHandlerContext, transaction: Contracts.Crypto.Transaction): Promise<Contracts.Evm.TransactionReceipt>;
18
12
  }
19
13
  //# sourceMappingURL=evm-call.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"evm-call.d.ts","sourceRoot":"","sources":["../../source/handlers/evm-call.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAmC,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIlD,qBACa,yBAA0B,SAAQ,QAAQ,CAAC,kBAAkB;;IAEzE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAG3D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkC;IAGnE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;IAExC,YAAY,IAAI,aAAa,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAIrE,cAAc,IAAI,sBAAsB;IAIlC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,sBAAsB,CAClC,OAAO,EAAE,SAAS,CAAC,YAAY,CAAC,yBAAyB,EACzD,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,EACzC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,GAC5B,OAAO,CAAC,IAAI,CAAC;IAIH,sBAAsB,CAClC,OAAO,EAAE,SAAS,CAAC,YAAY,CAAC,yBAAyB,EACzD,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,GACvC,OAAO,CAAC,IAAI,CAAC;IAEH,aAAa,CACzB,OAAO,EAAE,SAAS,CAAC,YAAY,CAAC,yBAAyB,EACzD,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,GACvC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,sBAAsB,CAAC;IAO5C,gBAAgB,CAC5B,OAAO,EAAE,SAAS,CAAC,YAAY,CAAC,yBAAyB,EACzD,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,GACvC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,sBAAsB,CAAC;IAgDzD,SAAS,CAAC,oBAAoB,CAC7B,OAAO,EAAE,SAAS,CAAC,YAAY,CAAC,yBAAyB,EACzD,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,EACzC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,GAC5B,IAAI;IASP,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI;CAW3G"}
1
+ {"version":3,"file":"evm-call.d.ts","sourceRoot":"","sources":["../../source/handlers/evm-call.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAuB,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAKlD,qBACa,yBAA0B,SAAQ,QAAQ,CAAC,kBAAkB;;IAEzE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAG3D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;IAExC,YAAY,IAAI,aAAa,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAIrE,cAAc,IAAI,sBAAsB;IAIlC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,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"}
@@ -14,9 +14,9 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
14
14
  };
15
15
  var _EvmCallTransactionHandler_instances, _EvmCallTransactionHandler_emit;
16
16
  import { inject, injectable } from "@mainsail/container";
17
- import { Contracts, Events, Exceptions, Identifiers } from "@mainsail/contracts";
18
- import { Utils } from "@mainsail/kernel";
17
+ import { Contracts, Events, Identifiers } from "@mainsail/contracts";
19
18
  import { Handlers } from "@mainsail/transactions";
19
+ import { assert } from "@mainsail/utils";
20
20
  import { EvmCallTransaction } from "../versions/index.js";
21
21
  let EvmCallTransactionHandler = class EvmCallTransactionHandler extends Handlers.TransactionHandler {
22
22
  constructor() {
@@ -32,64 +32,37 @@ let EvmCallTransactionHandler = class EvmCallTransactionHandler extends Handlers
32
32
  async isActivated() {
33
33
  return true;
34
34
  }
35
- async throwIfCannotBeApplied(context, transaction, wallet) {
36
- return super.throwIfCannotBeApplied(context, transaction, wallet);
37
- }
38
- async throwIfCannotEnterPool(context, transaction) { }
39
- async applyToSender(context, transaction) {
40
- await super.applyToSender(context, transaction);
41
- // Taken from receipt in applyToRecipient
42
- return { gasUsed: 0 };
43
- }
44
- async applyToRecipient(context, transaction) {
45
- Utils.assert.defined(transaction.data.asset?.evmCall);
46
- Utils.assert.defined(transaction.id);
47
- const { evmCall } = transaction.data.asset;
35
+ async apply(context, transaction) {
36
+ assert.string(transaction.hash);
48
37
  const { evmSpec } = this.configuration.getMilestone();
49
- const sender = await context.walletRepository.findByPublicKey(transaction.data.senderPublicKey);
38
+ const { from, senderLegacyAddress } = transaction.data;
50
39
  try {
51
40
  const { instance, blockContext } = context.evm;
52
41
  const { receipt } = await instance.process({
53
42
  blockContext,
54
- caller: sender.getAddress(),
55
- data: Buffer.from(evmCall.payload, "hex"),
56
- gasLimit: BigInt(evmCall.gasLimit),
57
- recipient: transaction.data.recipientId,
58
- sequence: transaction.data.sequence,
43
+ data: Buffer.from(transaction.data.data, "hex"),
44
+ from,
45
+ gasLimit: BigInt(transaction.data.gas),
46
+ gasPrice: BigInt(transaction.data.gasPrice),
47
+ index: transaction.data.transactionIndex,
48
+ legacyAddress: senderLegacyAddress,
49
+ nonce: transaction.data.nonce.toBigInt(),
59
50
  specId: evmSpec,
60
- txHash: transaction.id,
51
+ to: transaction.data.to,
52
+ txHash: transaction.hash,
53
+ value: transaction.data.value.toBigInt(),
61
54
  });
62
- // Subtract native fee from sender based on actual consumed gas
63
- const feeConsumed = this.gasFeeCalculator.calculateConsumed(transaction.data.fee, Number(receipt.gasUsed));
64
- const newBalance = sender.getBalance().minus(feeConsumed);
65
- if (newBalance.isNegative()) {
66
- throw new Exceptions.InsufficientBalanceError();
67
- }
68
- sender.setBalance(newBalance);
69
- if (instance.mode() === Contracts.Evm.EvmMode.Persistent && !this.state.isBootstrap()) {
70
- this.logger.debug(`executed EVM call (success=${receipt.success}, gasUsed=${receipt.gasUsed} paidNativeFee=${Utils.formatCurrency(this.configuration, feeConsumed)} deployed=${receipt.deployedContractAddress})`);
71
- void __classPrivateFieldGet(this, _EvmCallTransactionHandler_instances, "m", _EvmCallTransactionHandler_emit).call(this, Events.EvmEvent.TransactionReceipt, {
72
- receipt,
73
- sender: sender.getAddress(),
74
- transactionId: transaction.id,
75
- });
76
- }
77
- return { gasUsed: Number(receipt.gasUsed), receipt };
55
+ void __classPrivateFieldGet(this, _EvmCallTransactionHandler_instances, "m", _EvmCallTransactionHandler_emit).call(this, Events.EvmEvent.TransactionReceipt, {
56
+ receipt,
57
+ sender: from,
58
+ transactionId: transaction.hash,
59
+ });
60
+ return receipt;
78
61
  }
79
62
  catch (error) {
80
- return this.app.terminate("invalid EVM call", error);
81
- }
82
- }
83
- verifyTransactionFee(context, transaction, sender) {
84
- Utils.assert.defined(transaction.data.asset?.evmCall);
85
- const maxFee = this.gasFeeCalculator.calculate(transaction);
86
- if (sender.getBalance().minus(maxFee).isNegative() && this.configuration.getHeight() > 0) {
87
- throw new Exceptions.InsufficientBalanceError();
63
+ throw new Error(`invalid EVM call: ${error.message}`);
88
64
  }
89
65
  }
90
- applyFeeToSender(transaction, sender) {
91
- // Fee is taken after EVM execution to take the actual consumed gas into account
92
- }
93
66
  };
94
67
  _EvmCallTransactionHandler_instances = new WeakSet();
95
68
  _EvmCallTransactionHandler_emit = async function _EvmCallTransactionHandler_emit(event, data) {
@@ -102,10 +75,6 @@ __decorate([
102
75
  inject(Identifiers.Services.EventDispatcher.Service),
103
76
  __metadata("design:type", Object)
104
77
  ], EvmCallTransactionHandler.prototype, "events", void 0);
105
- __decorate([
106
- inject(Identifiers.Evm.Gas.FeeCalculator),
107
- __metadata("design:type", Object)
108
- ], EvmCallTransactionHandler.prototype, "gasFeeCalculator", void 0);
109
78
  __decorate([
110
79
  inject(Identifiers.State.State),
111
80
  __metadata("design:type", Object)
@@ -1 +1 @@
1
- {"version":3,"file":"evm-call.js","sourceRoot":"","sources":["../../source/handlers/evm-call.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evm-call.js","sourceRoot":"","sources":["../../source/handlers/evm-call.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAErE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAGnD,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,QAAQ,CAAC,kBAAkB;IAAnE;;;IAiEP,CAAC;IA1DO,YAAY;QAClB,OAAO,EAAE,CAAC;IACX,CAAC;IAEM,cAAc;QACpB,OAAO,kBAAkB,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,WAAW;QACvB,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,KAAK,CAAC,KAAK,CACjB,OAAyD,EACzD,WAAyC;QAEzC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEhC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QAEtD,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC;QAEvD,IAAI,CAAC;YACJ,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;YAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;gBAC1C,YAAY;gBACZ,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;gBAC/C,IAAI;gBACJ,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;gBACtC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC3C,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,gBAAgB;gBACxC,aAAa,EAAE,mBAAmB;gBAClC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBACxC,MAAM,EAAE,OAAO;gBACf,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE;gBACvB,MAAM,EAAE,WAAW,CAAC,IAAI;gBACxB,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;aACxC,CAAC,CAAC;YAEH,KAAK,uBAAA,IAAI,6EAAM,MAAV,IAAI,EAAO,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE;gBACnD,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,aAAa,EAAE,WAAW,CAAC,IAAI;aAC/B,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACvD,CAAC;IACF,CAAC;CASD,CAAA;;kCAPA,KAAK,0CAAU,KAAiC,EAAE,IAAQ;IACzD,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QAC9B,OAAO;IACR,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AA9DgB;IADhB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC;;yDACM;AAG1C;IADhB,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;;wDACe;AALnC,yBAAyB;IADrC,UAAU,EAAE;GACA,yBAAyB,CAiErC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAM7C,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AAEpC,qBACa,eAAgB,SAAQ,SAAS,CAAC,eAAe;;IAChD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ/B,gBAAgB,IAAI,OAAO;CAwBlC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAK7C,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AAEpC,qBACa,eAAgB,SAAQ,SAAS,CAAC,eAAe;;IAChD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAM/B,gBAAgB,IAAI,OAAO;CAalC"}
@@ -9,11 +9,10 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
9
9
  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");
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
- var _ServiceProvider_instances, _ServiceProvider_registerFees, _ServiceProvider_registerType, _ServiceProvider_registerHandler;
12
+ var _ServiceProvider_instances, _ServiceProvider_registerType, _ServiceProvider_registerHandler;
13
13
  import { injectable } from "@mainsail/container";
14
14
  import { Identifiers } from "@mainsail/contracts";
15
15
  import { Providers } from "@mainsail/kernel";
16
- import { BigNumber } from "@mainsail/utils";
17
16
  import { EvmCallTransactionHandler } from "./handlers/index.js";
18
17
  import { EvmCallTransaction } from "./versions/1.js";
19
18
  export * from "./builder.js";
@@ -24,7 +23,6 @@ let ServiceProvider = class ServiceProvider extends Providers.ServiceProvider {
24
23
  _ServiceProvider_instances.add(this);
25
24
  }
26
25
  async register() {
27
- __classPrivateFieldGet(this, _ServiceProvider_instances, "m", _ServiceProvider_registerFees).call(this);
28
26
  __classPrivateFieldGet(this, _ServiceProvider_instances, "m", _ServiceProvider_registerType).call(this);
29
27
  __classPrivateFieldGet(this, _ServiceProvider_instances, "m", _ServiceProvider_registerHandler).call(this);
30
28
  }
@@ -33,13 +31,6 @@ let ServiceProvider = class ServiceProvider extends Providers.ServiceProvider {
33
31
  }
34
32
  };
35
33
  _ServiceProvider_instances = new WeakSet();
36
- _ServiceProvider_registerFees = function _ServiceProvider_registerFees() {
37
- // TODO
38
- this.app.get(Identifiers.Fee.Registry).set(EvmCallTransaction.key, {
39
- managed: BigNumber.make("100"),
40
- static: BigNumber.make("2500000000"),
41
- }[this.app.get(Identifiers.Fee.Type)]);
42
- };
43
34
  _ServiceProvider_registerType = function _ServiceProvider_registerType() {
44
35
  this.app
45
36
  .get(Identifiers.Cryptography.Transaction.Registry)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAa,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AAG7B,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,SAAS,CAAC,eAAe;IAAvD;;;IAiCP,CAAC;IAhCO,KAAK,CAAC,QAAQ;QACpB,uBAAA,IAAI,iEAAc,MAAlB,IAAI,CAAgB,CAAC;QAErB,uBAAA,IAAI,iEAAc,MAAlB,IAAI,CAAgB,CAAC;QAErB,uBAAA,IAAI,oEAAiB,MAArB,IAAI,CAAmB,CAAC;IACzB,CAAC;IAEM,gBAAgB;QACtB,OAAO,IAAI,CAAC;IACb,CAAC;CAsBD,CAAA;;;IAnBC,OAAO;IACP,IAAI,CAAC,GAAG,CAAC,GAAG,CAA4B,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CACpE,kBAAkB,CAAC,GAAG,EACtB;QACC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9B,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;KACpC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAS,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAE,CAC9C,CAAC;AACH,CAAC;;IAGA,IAAI,CAAC,GAAG;SACN,GAAG,CAAsB,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC;SACvE,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;AAC/C,CAAC;;IAGA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC;AACxF,CAAC;AAhCW,eAAe;IAD3B,UAAU,EAAE;GACA,eAAe,CAiC3B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AAG7B,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,SAAS,CAAC,eAAe;IAAvD;;;IAoBP,CAAC;IAnBO,KAAK,CAAC,QAAQ;QACpB,uBAAA,IAAI,iEAAc,MAAlB,IAAI,CAAgB,CAAC;QAErB,uBAAA,IAAI,oEAAiB,MAArB,IAAI,CAAmB,CAAC;IACzB,CAAC;IAEM,gBAAgB;QACtB,OAAO,IAAI,CAAC;IACb,CAAC;CAWD,CAAA;;;IARC,IAAI,CAAC,GAAG;SACN,GAAG,CAAsB,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC;SACvE,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;AAC/C,CAAC;;IAGA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC;AACxF,CAAC;AAnBW,eAAe;IAD3B,UAAU,EAAE;GACA,eAAe,CAoB3B"}
@@ -1,15 +1,8 @@
1
1
  import { Contracts } from "@mainsail/contracts";
2
2
  import { Transaction } from "@mainsail/crypto-transaction";
3
- import { ByteBuffer } from "@mainsail/utils";
4
3
  export declare class EvmCallTransaction extends Transaction {
5
- private readonly addressSerializer;
6
- private readonly addressSize;
7
- static typeGroup: number;
8
4
  static type: number;
9
5
  static key: string;
10
6
  static getSchema(): Contracts.Crypto.TransactionSchema;
11
- assetSize(): number;
12
- serialize(options?: Contracts.Crypto.SerializeOptions): Promise<ByteBuffer>;
13
- deserialize(buf: ByteBuffer): Promise<void>;
14
7
  }
15
8
  //# sourceMappingURL=1.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"1.d.ts","sourceRoot":"","sources":["../../source/versions/1.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAe,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAgB,WAAW,EAAyB,MAAM,8BAA8B,CAAC;AAEhG,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBACa,kBAAmB,SAAQ,WAAW;IAElD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsC;IAGxE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IAEtC,OAAc,SAAS,EAAE,MAAM,CAA8C;IAC7E,OAAc,IAAI,EAAE,MAAM,CAA4C;IACtE,OAAc,GAAG,SAAa;WAEhB,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,iBAAiB;IAiCtD,SAAS,IAAI,MAAM;IAcb,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IA2B3E,WAAW,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAmBxD"}
1
+ {"version":3,"file":"1.d.ts","sourceRoot":"","sources":["../../source/versions/1.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAgB,WAAW,EAAyB,MAAM,8BAA8B,CAAC;AAEhG,qBACa,kBAAmB,SAAQ,WAAW;IAClD,OAAc,IAAI,EAAE,MAAM,CAAK;IAC/B,OAAc,GAAG,SAAa;WAEhB,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,iBAAiB;CAY7D"}
@@ -4,104 +4,24 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
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
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
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 } from "@mainsail/container";
11
- import { Contracts, Identifiers } from "@mainsail/contracts";
7
+ import { injectable } from "@mainsail/container";
12
8
  import { extendSchema, Transaction, transactionBaseSchema } from "@mainsail/crypto-transaction";
13
- import { Utils } from "@mainsail/kernel";
14
- import { ByteBuffer } from "@mainsail/utils";
15
9
  let EvmCallTransaction = class EvmCallTransaction extends Transaction {
16
10
  static getSchema() {
17
11
  return extendSchema(transactionBaseSchema, {
18
12
  $id: "evmCall",
19
13
  properties: {
20
- amount: { bignumber: { maximum: 0, minimum: 0 } },
21
- asset: {
22
- properties: {
23
- evmCall: {
24
- properties: {
25
- gasLimit: {
26
- transactionGasLimit: {},
27
- },
28
- payload: {
29
- bytecode: {},
30
- },
31
- },
32
- required: ["gasLimit", "payload"],
33
- type: "object",
34
- unevaluatedProperties: false,
35
- },
36
- },
37
- required: ["evmCall"],
38
- type: "object",
39
- unevaluatedProperties: false,
40
- },
41
- fee: { bignumber: { maximum: 1000, minimum: 5 } },
42
- recipientId: { $ref: "address" },
43
- type: { transactionType: Contracts.Crypto.TransactionType.EvmCall },
14
+ data: { bytecode: {} },
15
+ gasPrice: { transactionGasPrice: {} },
16
+ to: { $ref: "address" },
17
+ value: { bignumber: { maximum: undefined, minimum: 0 } },
44
18
  },
45
- required: ["asset"],
19
+ required: ["gasPrice", "gas"],
46
20
  });
47
21
  }
48
- assetSize() {
49
- const { addressSize, data } = this;
50
- Utils.assert.defined(data.asset?.evmCall);
51
- const { evmCall } = data.asset;
52
- return (1 + // recipient marker
53
- (data.recipientId ? addressSize : 0) + // recipient
54
- 4 + // gas limit
55
- 4 + // payload length
56
- Buffer.byteLength(evmCall.payload, "hex"));
57
- }
58
- async serialize(options) {
59
- const { addressSize, addressFactory, addressSerializer, data } = this;
60
- Utils.assert.defined(data.asset);
61
- Utils.assert.defined(data.asset.evmCall?.gasLimit);
62
- Utils.assert.defined(data.asset.evmCall?.payload);
63
- const payloadBytes = Buffer.from(data.asset.evmCall.payload, "hex");
64
- const buff = ByteBuffer.fromSize(1 + (data.recipientId ? addressSize : 0) + 4 + 4 + payloadBytes.byteLength);
65
- if (data.recipientId) {
66
- buff.writeUint8(1);
67
- addressSerializer.serialize(buff, await addressFactory.toBuffer(data.recipientId));
68
- }
69
- else {
70
- buff.writeUint8(0);
71
- }
72
- buff.writeUint32(data.asset.evmCall.gasLimit);
73
- buff.writeUint32(payloadBytes.byteLength);
74
- buff.writeBytes(payloadBytes);
75
- return buff;
76
- }
77
- async deserialize(buf) {
78
- const { data, addressFactory, addressSerializer } = this;
79
- const recipientMarker = buf.readUint8();
80
- if (recipientMarker === 1) {
81
- data.recipientId = await addressFactory.fromBuffer(addressSerializer.deserialize(buf));
82
- }
83
- const gasLimit = buf.readUint32();
84
- const payloadLength = buf.readUint32();
85
- const payload = buf.readBytes(payloadLength);
86
- data.asset = {
87
- evmCall: {
88
- gasLimit,
89
- payload: payload.toString("hex"),
90
- },
91
- };
92
- }
93
22
  };
94
- EvmCallTransaction.typeGroup = Contracts.Crypto.TransactionTypeGroup.Core;
95
- EvmCallTransaction.type = Contracts.Crypto.TransactionType.EvmCall;
23
+ EvmCallTransaction.type = 0;
96
24
  EvmCallTransaction.key = "evmCall";
97
- __decorate([
98
- inject(Identifiers.Cryptography.Identity.Address.Serializer),
99
- __metadata("design:type", Object)
100
- ], EvmCallTransaction.prototype, "addressSerializer", void 0);
101
- __decorate([
102
- inject(Identifiers.Cryptography.Identity.Address.Size),
103
- __metadata("design:type", Number)
104
- ], EvmCallTransaction.prototype, "addressSize", void 0);
105
25
  EvmCallTransaction = __decorate([
106
26
  injectable()
107
27
  ], EvmCallTransaction);
@@ -1 +1 @@
1
- {"version":3,"file":"1.js","sourceRoot":"","sources":["../../source/versions/1.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"1.js","sourceRoot":"","sources":["../../source/versions/1.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAGzF,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,WAAW;IAI3C,MAAM,CAAC,SAAS;QACtB,OAAO,YAAY,CAAC,qBAAqB,EAAE;YAC1C,GAAG,EAAE,SAAS;YACd,UAAU,EAAE;gBACX,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACtB,QAAQ,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE;gBACrC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACvB,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;aACxD;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;SAC7B,CAAC,CAAC;IACJ,CAAC;;AAda,uBAAI,GAAW,CAAC,AAAZ,CAAa;AACjB,sBAAG,GAAG,SAAS,AAAZ,CAAa;AAFlB,kBAAkB;IAD9B,UAAU,EAAE;GACA,kBAAkB,CAgB9B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mainsail/crypto-transaction-evm-call",
3
- "version": "0.0.1-evm.2",
3
+ "version": "0.0.1-evm.21",
4
4
  "description": "EVM transaction for the Mainsail blockchain",
5
5
  "license": "GPL-3.0-only",
6
6
  "contributors": [],
@@ -11,21 +11,22 @@
11
11
  "/distribution"
12
12
  ],
13
13
  "dependencies": {
14
- "@mainsail/container": "0.0.1-evm.2",
15
- "@mainsail/contracts": "0.0.1-evm.2",
16
- "@mainsail/crypto-transaction": "0.0.1-evm.2",
17
- "@mainsail/kernel": "0.0.1-evm.2",
18
- "@mainsail/transactions": "0.0.1-evm.2",
19
- "@mainsail/utils": "0.0.1-evm.2"
14
+ "@mainsail/container": "0.0.1-evm.21",
15
+ "@mainsail/contracts": "0.0.1-evm.21",
16
+ "@mainsail/transactions": "0.0.1-evm.21",
17
+ "@mainsail/crypto-transaction": "0.0.1-evm.21",
18
+ "@mainsail/kernel": "0.0.1-evm.21",
19
+ "@mainsail/utils": "0.0.1-evm.21"
20
20
  },
21
21
  "devDependencies": {
22
- "ethers": "^6.11.0",
23
- "uvu": "^0.5.6",
24
- "@mainsail/crypto-address-keccak256": "0.0.1-evm.2",
25
- "@mainsail/crypto-config": "0.0.1-evm.2",
26
- "@mainsail/crypto-validation": "0.0.1-evm.2",
27
- "@mainsail/crypto-key-pair-ecdsa": "0.0.1-evm.2",
28
- "@mainsail/validation": "0.0.1-evm.2"
22
+ "ethers": "6.13.5",
23
+ "uvu": "0.5.6",
24
+ "@mainsail/crypto-address-base58": "0.0.1-evm.21",
25
+ "@mainsail/crypto-key-pair-ecdsa": "0.0.1-evm.21",
26
+ "@mainsail/crypto-validation": "0.0.1-evm.21",
27
+ "@mainsail/validation": "0.0.1-evm.21",
28
+ "@mainsail/crypto-address-keccak256": "0.0.1-evm.21",
29
+ "@mainsail/crypto-config": "0.0.1-evm.21"
29
30
  },
30
31
  "engines": {
31
32
  "node": ">=20.x"
@@ -36,7 +37,7 @@
36
37
  "clean": "del distribution",
37
38
  "release": "pnpm publish --access public",
38
39
  "test": "pnpm run uvu source .test.ts",
39
- "test:coverage": "c8 pnpm run test",
40
+ "test:coverage": "c8 -r=text -r=lcov --all pnpm run test",
40
41
  "test:coverage:html": "c8 -r html --all pnpm run test",
41
42
  "test:file": "pnpm run uvu source",
42
43
  "uvu": "tsx --tsconfig ../../tsconfig.test.json ./node_modules/uvu/bin.js"