@mainsail/crypto-transaction-evm-call 0.0.1-evm.5 → 0.0.1-evm.7
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.
- package/distribution/builder.d.ts.map +1 -1
- package/distribution/builder.js +9 -27
- package/distribution/builder.js.map +1 -1
- package/distribution/handlers/evm-call.d.ts +0 -1
- package/distribution/handlers/evm-call.d.ts.map +1 -1
- package/distribution/handlers/evm-call.js +8 -14
- package/distribution/handlers/evm-call.js.map +1 -1
- package/distribution/versions/1.d.ts +0 -1
- package/distribution/versions/1.d.ts.map +1 -1
- package/distribution/versions/1.js +22 -57
- package/distribution/versions/1.js.map +1 -1
- package/package.json +12 -12
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../source/builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,
|
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"}
|
package/distribution/builder.js
CHANGED
@@ -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.
|
19
|
-
this.data.
|
20
|
-
this.data.
|
21
|
-
this.data.
|
22
|
-
this.data.
|
23
|
-
evmCall: {
|
24
|
-
gasLimit: 1_000_000,
|
25
|
-
payload: "",
|
26
|
-
},
|
27
|
-
};
|
16
|
+
this.data.value = BigNumber.ZERO;
|
17
|
+
this.data.senderAddress = "";
|
18
|
+
this.data.gasLimit = 1_000_000;
|
19
|
+
this.data.gasPrice = 5;
|
20
|
+
this.data.data = "";
|
28
21
|
}
|
29
22
|
payload(payload) {
|
30
|
-
|
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
|
-
|
37
|
-
this.data.asset.evmCall.gasLimit = gasLimit;
|
38
|
-
}
|
27
|
+
this.data.gasLimit = 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.
|
50
|
-
struct.
|
51
|
-
struct.asset = this.data.asset;
|
32
|
+
struct.value = this.data.value;
|
33
|
+
struct.recipientAddress = this.data.recipientAddress;
|
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;
|
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,aAAa,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,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,QAAQ,GAAG,QAAQ,CAAC;QAE9B,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,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAErD,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"}
|
@@ -5,7 +5,6 @@ export declare class EvmCallTransactionHandler extends Handlers.TransactionHandl
|
|
5
5
|
#private;
|
6
6
|
private readonly events;
|
7
7
|
private readonly state;
|
8
|
-
private readonly addressFactory;
|
9
8
|
dependencies(): ReadonlyArray<Handlers.TransactionHandlerConstructor>;
|
10
9
|
getConstructor(): TransactionConstructor;
|
11
10
|
isActivated(): Promise<boolean>;
|
@@ -1 +1 @@
|
|
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;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,KAAK,CAAyB;
|
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;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,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;CA0C5C"}
|
@@ -33,29 +33,27 @@ let EvmCallTransactionHandler = class EvmCallTransactionHandler extends Handlers
|
|
33
33
|
return true;
|
34
34
|
}
|
35
35
|
async apply(context, transaction) {
|
36
|
-
Utils.assert.defined(transaction.data.asset?.evmCall);
|
37
36
|
Utils.assert.defined(transaction.id);
|
38
|
-
const { evmCall } = transaction.data.asset;
|
39
37
|
const { evmSpec } = this.configuration.getMilestone();
|
40
|
-
const
|
38
|
+
const { senderAddress } = transaction.data;
|
41
39
|
try {
|
42
40
|
const { instance, blockContext } = context.evm;
|
43
41
|
const { receipt } = await instance.process({
|
44
42
|
blockContext,
|
45
|
-
caller:
|
46
|
-
data: Buffer.from(
|
47
|
-
gasLimit: BigInt(
|
48
|
-
gasPrice: transaction.data.
|
43
|
+
caller: senderAddress,
|
44
|
+
data: Buffer.from(transaction.data.data, "hex"),
|
45
|
+
gasLimit: BigInt(transaction.data.gasLimit),
|
46
|
+
gasPrice: BigInt(transaction.data.gasPrice),
|
49
47
|
nonce: transaction.data.nonce.toBigInt(),
|
50
|
-
recipient: transaction.data.
|
48
|
+
recipient: transaction.data.recipientAddress,
|
51
49
|
sequence: transaction.data.sequence,
|
52
50
|
specId: evmSpec,
|
53
51
|
txHash: transaction.id,
|
54
|
-
value: transaction.data.
|
52
|
+
value: transaction.data.value.toBigInt(),
|
55
53
|
});
|
56
54
|
void __classPrivateFieldGet(this, _EvmCallTransactionHandler_instances, "m", _EvmCallTransactionHandler_emit).call(this, Events.EvmEvent.TransactionReceipt, {
|
57
55
|
receipt,
|
58
|
-
sender:
|
56
|
+
sender: senderAddress,
|
59
57
|
transactionId: transaction.id,
|
60
58
|
});
|
61
59
|
return receipt;
|
@@ -80,10 +78,6 @@ __decorate([
|
|
80
78
|
inject(Identifiers.State.State),
|
81
79
|
__metadata("design:type", Object)
|
82
80
|
], EvmCallTransactionHandler.prototype, "state", void 0);
|
83
|
-
__decorate([
|
84
|
-
inject(Identifiers.Cryptography.Identity.Address.Factory),
|
85
|
-
__metadata("design:type", Object)
|
86
|
-
], EvmCallTransactionHandler.prototype, "addressFactory", void 0);
|
87
81
|
EvmCallTransactionHandler = __decorate([
|
88
82
|
injectable()
|
89
83
|
], EvmCallTransactionHandler);
|
@@ -1 +1 @@
|
|
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,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAGnD,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,QAAQ,CAAC,kBAAkB;IAAnE;;;
|
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,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAGnD,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,QAAQ,CAAC,kBAAkB;IAAnE;;;IAgEP,CAAC;IAzDO,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,KAAK,CAAC,MAAM,CAAC,OAAO,CAAS,WAAW,CAAC,EAAE,CAAC,CAAC;QAE7C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QAEtD,MAAM,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC;QAE3C,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,MAAM,EAAE,aAAa;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;gBAC/C,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC3C,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC3C,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBACxC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,gBAAgB;gBAC5C,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ;gBACnC,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,WAAW,CAAC,EAAE;gBACtB,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,aAAa;gBACrB,aAAa,EAAE,WAAW,CAAC,EAAE;aAC7B,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACtD,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;AA7DgB;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,CAgErC"}
|
@@ -4,7 +4,6 @@ import { ByteBuffer } from "@mainsail/utils";
|
|
4
4
|
export declare class EvmCallTransaction extends Transaction {
|
5
5
|
private readonly addressSerializer;
|
6
6
|
private readonly addressSize;
|
7
|
-
static typeGroup: number;
|
8
7
|
static type: number;
|
9
8
|
static key: string;
|
10
9
|
static getSchema(): Contracts.Crypto.TransactionSchema;
|
@@ -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;
|
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;AAChG,OAAO,EAAa,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAExD,qBACa,kBAAmB,SAAQ,WAAW;IAElD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsC;IAGxE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IAEtC,OAAc,IAAI,EAAE,MAAM,CAAK;IAC/B,OAAc,GAAG,SAAa;WAEhB,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,iBAAiB;IActD,SAAS,IAAI,MAAM;IAUb,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAwB3E,WAAW,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAexD"}
|
@@ -10,92 +10,57 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
10
10
|
import { inject, injectable } from "@mainsail/container";
|
11
11
|
import { Contracts, Identifiers } from "@mainsail/contracts";
|
12
12
|
import { extendSchema, Transaction, transactionBaseSchema } from "@mainsail/crypto-transaction";
|
13
|
-
import { Utils } from "@mainsail/kernel";
|
14
13
|
import { BigNumber, ByteBuffer } from "@mainsail/utils";
|
15
14
|
let EvmCallTransaction = class EvmCallTransaction extends Transaction {
|
16
15
|
static getSchema() {
|
17
16
|
return extendSchema(transactionBaseSchema, {
|
18
17
|
$id: "evmCall",
|
19
18
|
properties: {
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
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: 0 } },
|
42
|
-
recipientId: { $ref: "address" },
|
43
|
-
type: { transactionType: Contracts.Crypto.TransactionType.EvmCall },
|
19
|
+
data: { bytecode: {} },
|
20
|
+
gasLimit: { transactionGasLimit: {} },
|
21
|
+
gasPrice: { bignumber: { maximum: 1000, minimum: 0 } },
|
22
|
+
recipientAddress: { $ref: "address" },
|
23
|
+
value: { bignumber: { maximum: undefined, minimum: 0 } },
|
44
24
|
},
|
45
|
-
required: ["
|
25
|
+
required: ["gasPrice", "gasLimit"],
|
46
26
|
});
|
47
27
|
}
|
48
28
|
assetSize() {
|
49
|
-
|
50
|
-
Utils.assert.defined(data.asset?.evmCall);
|
51
|
-
const { evmCall } = data.asset;
|
52
|
-
return (32 + // amount
|
29
|
+
return (32 + // value
|
53
30
|
1 + // recipient marker
|
54
|
-
(data.
|
55
|
-
4 + // gas limit
|
31
|
+
(this.data.recipientAddress ? this.addressSize : 0) + // recipient
|
56
32
|
4 + // payload length
|
57
|
-
Buffer.byteLength(
|
33
|
+
Buffer.byteLength(this.data.data, "hex"));
|
58
34
|
}
|
59
35
|
async serialize(options) {
|
60
36
|
const { addressSize, addressFactory, addressSerializer, data } = this;
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
const buff = ByteBuffer.fromSize(32 + 1 + (data.recipientId ? addressSize : 0) + 4 + 4 + payloadBytes.byteLength);
|
66
|
-
buff.writeUint256(data.amount.toBigInt());
|
67
|
-
if (data.recipientId) {
|
37
|
+
const dataBytes = Buffer.from(data.data, "hex");
|
38
|
+
const buff = ByteBuffer.fromSize(32 + 1 + (data.recipientAddress ? addressSize : 0) + 4 + dataBytes.byteLength);
|
39
|
+
buff.writeUint256(data.value.toBigInt());
|
40
|
+
if (data.recipientAddress) {
|
68
41
|
buff.writeUint8(1);
|
69
|
-
addressSerializer.serialize(buff, await addressFactory.toBuffer(data.
|
42
|
+
addressSerializer.serialize(buff, await addressFactory.toBuffer(data.recipientAddress));
|
70
43
|
}
|
71
44
|
else {
|
72
45
|
buff.writeUint8(0);
|
73
46
|
}
|
74
|
-
buff.writeUint32(
|
75
|
-
buff.
|
76
|
-
buff.writeBytes(payloadBytes);
|
47
|
+
buff.writeUint32(dataBytes.byteLength);
|
48
|
+
buff.writeBytes(dataBytes);
|
77
49
|
return buff;
|
78
50
|
}
|
79
51
|
async deserialize(buf) {
|
80
52
|
const { data, addressFactory, addressSerializer } = this;
|
81
|
-
data.
|
53
|
+
data.value = BigNumber.make(buf.readUint256());
|
82
54
|
const recipientMarker = buf.readUint8();
|
83
55
|
if (recipientMarker === 1) {
|
84
|
-
data.
|
56
|
+
data.recipientAddress = await addressFactory.fromBuffer(addressSerializer.deserialize(buf));
|
85
57
|
}
|
86
|
-
const
|
87
|
-
const
|
88
|
-
|
89
|
-
data.asset = {
|
90
|
-
evmCall: {
|
91
|
-
gasLimit,
|
92
|
-
payload: payload.toString("hex"),
|
93
|
-
},
|
94
|
-
};
|
58
|
+
const dataLength = buf.readUint32();
|
59
|
+
const dataBytes = buf.readBytes(dataLength);
|
60
|
+
data.data = dataBytes.toString("hex");
|
95
61
|
}
|
96
62
|
};
|
97
|
-
EvmCallTransaction.
|
98
|
-
EvmCallTransaction.type = Contracts.Crypto.TransactionType.EvmCall;
|
63
|
+
EvmCallTransaction.type = 0;
|
99
64
|
EvmCallTransaction.key = "evmCall";
|
100
65
|
__decorate([
|
101
66
|
inject(Identifiers.Cryptography.Identity.Address.Serializer),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"1.js","sourceRoot":"","sources":["../../source/versions/1.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAChG,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"1.js","sourceRoot":"","sources":["../../source/versions/1.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@mainsail/crypto-transaction-evm-call",
|
3
|
-
"version": "0.0.1-evm.
|
3
|
+
"version": "0.0.1-evm.7",
|
4
4
|
"description": "EVM transaction for the Mainsail blockchain",
|
5
5
|
"license": "GPL-3.0-only",
|
6
6
|
"contributors": [],
|
@@ -11,21 +11,21 @@
|
|
11
11
|
"/distribution"
|
12
12
|
],
|
13
13
|
"dependencies": {
|
14
|
-
"@mainsail/
|
15
|
-
"@mainsail/
|
16
|
-
"@mainsail/
|
17
|
-
"@mainsail/
|
18
|
-
"@mainsail/
|
19
|
-
"@mainsail/utils": "0.0.1-evm.
|
14
|
+
"@mainsail/container": "0.0.1-evm.7",
|
15
|
+
"@mainsail/transactions": "0.0.1-evm.7",
|
16
|
+
"@mainsail/kernel": "0.0.1-evm.7",
|
17
|
+
"@mainsail/crypto-transaction": "0.0.1-evm.7",
|
18
|
+
"@mainsail/contracts": "0.0.1-evm.7",
|
19
|
+
"@mainsail/utils": "0.0.1-evm.7"
|
20
20
|
},
|
21
21
|
"devDependencies": {
|
22
22
|
"ethers": "^6.11.0",
|
23
23
|
"uvu": "^0.5.6",
|
24
|
-
"@mainsail/crypto-address-keccak256": "0.0.1-evm.
|
25
|
-
"@mainsail/crypto-config": "0.0.1-evm.
|
26
|
-
"@mainsail/crypto-
|
27
|
-
"@mainsail/validation": "0.0.1-evm.
|
28
|
-
"@mainsail/
|
24
|
+
"@mainsail/crypto-address-keccak256": "0.0.1-evm.7",
|
25
|
+
"@mainsail/crypto-config": "0.0.1-evm.7",
|
26
|
+
"@mainsail/crypto-key-pair-ecdsa": "0.0.1-evm.7",
|
27
|
+
"@mainsail/crypto-validation": "0.0.1-evm.7",
|
28
|
+
"@mainsail/validation": "0.0.1-evm.7"
|
29
29
|
},
|
30
30
|
"engines": {
|
31
31
|
"node": ">=20.x"
|