@mainsail/transactions 0.0.1-evm.16 → 0.0.1-evm.18
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":"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,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,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,EAC9B,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,QAAQ,GACzB,OAAO,CAAC,IAAI,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,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,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,EAC9B,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,QAAQ,GACzB,OAAO,CAAC,IAAI,CAAC;IA8CT,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"}
|
@@ -12,7 +12,7 @@ import { Contracts, Exceptions, Identifiers } from "@mainsail/contracts";
|
|
12
12
|
import { assert } from "@mainsail/utils";
|
13
13
|
let TransactionHandler = class TransactionHandler {
|
14
14
|
async verify(transaction) {
|
15
|
-
assert.string(transaction.data.
|
15
|
+
assert.string(transaction.data.from);
|
16
16
|
return this.verifier.verifyHash(transaction.data);
|
17
17
|
}
|
18
18
|
async throwIfCannotBeApplied(transaction, sender, evm) {
|
@@ -28,14 +28,8 @@ let TransactionHandler = class TransactionHandler {
|
|
28
28
|
throw new Exceptions.InsufficientBalanceError();
|
29
29
|
}
|
30
30
|
// Legacy
|
31
|
-
// TODO: move check
|
32
31
|
if (sender.hasLegacySecondPublicKey()) {
|
33
|
-
|
34
|
-
throw new Exceptions.MissingLegacySecondSignatureError();
|
35
|
-
}
|
36
|
-
if (!(await this.verifier.verifyLegacySecondSignature(transaction.data, sender.legacySecondPublicKey()))) {
|
37
|
-
throw new Exceptions.InvalidLegacySecondSignatureError();
|
38
|
-
}
|
32
|
+
await this.verifier.verifyLegacySecondSignature(transaction.data, sender.legacySecondPublicKey());
|
39
33
|
}
|
40
34
|
else {
|
41
35
|
if (transaction.data.legacySecondSignature) {
|
@@ -45,15 +39,15 @@ let TransactionHandler = class TransactionHandler {
|
|
45
39
|
const milestone = this.configuration.getMilestone();
|
46
40
|
const preverified = await evm.preverifyTransaction({
|
47
41
|
blockGasLimit: BigInt(milestone.block.maxGasLimit),
|
48
|
-
caller: transaction.data.senderAddress,
|
49
42
|
data: Buffer.from(transaction.data.data, "hex"),
|
50
|
-
|
43
|
+
from: transaction.data.from,
|
44
|
+
gasLimit: BigInt(transaction.data.gas),
|
51
45
|
gasPrice: BigInt(transaction.data.gasPrice),
|
52
46
|
legacyAddress: transaction.data.senderLegacyAddress,
|
53
47
|
nonce: transaction.data.nonce.toBigInt(),
|
54
|
-
recipient: transaction.data.recipientAddress,
|
55
48
|
specId: milestone.evmSpec,
|
56
|
-
|
49
|
+
to: transaction.data.to,
|
50
|
+
txHash: transaction.data.hash,
|
57
51
|
value: transaction.data.value.toBigInt(),
|
58
52
|
});
|
59
53
|
if (!preverified.success) {
|
@@ -1 +1 @@
|
|
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,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGlC,IAAe,kBAAkB,GAAjC,MAAe,kBAAkB;IAmBhC,KAAK,CAAC,MAAM,CAAC,WAAyC;QAC5D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../source/handlers/transaction.ts"],"names":[],"mappings":"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"}
|
@@ -17,7 +17,7 @@ let TransactionValidator = class TransactionValidator {
|
|
17
17
|
}
|
18
18
|
async validate(context, transaction) {
|
19
19
|
const deserialized = await this.transactionFactory.fromBytes(transaction.serialized);
|
20
|
-
strictEqual(transaction.
|
20
|
+
strictEqual(transaction.hash, deserialized.hash);
|
21
21
|
const { commitKey, gasLimit, timestamp, generatorAddress } = context;
|
22
22
|
const handler = await this.handlerRegistry.getActivatedHandlerForData(transaction.data);
|
23
23
|
const receipt = await handler.apply({
|
@@ -31,7 +31,7 @@ let TransactionValidator = class TransactionValidator {
|
|
31
31
|
instance: this.evm,
|
32
32
|
},
|
33
33
|
}, transaction);
|
34
|
-
assert.string(transaction.data.
|
34
|
+
assert.string(transaction.data.from);
|
35
35
|
return receipt;
|
36
36
|
}
|
37
37
|
};
|
@@ -1 +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,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,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,
|
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,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,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,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,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,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAErC,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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@mainsail/transactions",
|
3
|
-
"version": "0.0.1-evm.
|
3
|
+
"version": "0.0.1-evm.18",
|
4
4
|
"description": "Transaction Services for Mainsail blockchain",
|
5
5
|
"license": "GPL-3.0-only",
|
6
6
|
"contributors": [],
|
@@ -11,11 +11,11 @@
|
|
11
11
|
"/distribution"
|
12
12
|
],
|
13
13
|
"dependencies": {
|
14
|
-
"@mainsail/
|
15
|
-
"@mainsail/
|
16
|
-
"@mainsail/crypto-transaction": "0.0.1-evm.
|
17
|
-
"@mainsail/utils": "0.0.1-evm.
|
18
|
-
"@mainsail/kernel": "0.0.1-evm.
|
14
|
+
"@mainsail/contracts": "0.0.1-evm.18",
|
15
|
+
"@mainsail/container": "0.0.1-evm.18",
|
16
|
+
"@mainsail/crypto-transaction": "0.0.1-evm.18",
|
17
|
+
"@mainsail/utils": "0.0.1-evm.18",
|
18
|
+
"@mainsail/kernel": "0.0.1-evm.18"
|
19
19
|
},
|
20
20
|
"devDependencies": {
|
21
21
|
"uvu": "0.5.6"
|