@arkecosystem/typescript-crypto 0.0.3 → 0.0.4

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/dist/index.js CHANGED
@@ -28328,7 +28328,8 @@ var ValidatorRegistrationBuilder = class extends AbstractTransactionBuilder {
28328
28328
  return new this(data);
28329
28329
  }
28330
28330
  validatorPublicKey(validatorPublicKey) {
28331
- this.transaction.data.validatorPublicKey = validatorPublicKey;
28331
+ validatorPublicKey = Helpers.removeLeadingHexZero(validatorPublicKey);
28332
+ this.transaction.data.validatorPublicKey = `0x${validatorPublicKey}`;
28332
28333
  this.transaction.refreshPayloadData();
28333
28334
  return this;
28334
28335
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ValidatorRegistrationBuilder.d.ts","sourceRoot":"","sources":["../../../src/transactions/builders/ValidatorRegistrationBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,6BAA6B,EAAmB,MAAM,SAAS,CAAC;AAEvF,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAI1E,qBAAa,4BACZ,SAAQ,0BAA0B,CAAC,6BAA6B,CAChE,YAAW,6BAA6B;gBAErB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;WAM/B,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,6BAA6B;IAIrE,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,GAAG,6BAA6B;IAQpF,SAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,YAAY;CAG1E"}
1
+ {"version":3,"file":"ValidatorRegistrationBuilder.d.ts","sourceRoot":"","sources":["../../../src/transactions/builders/ValidatorRegistrationBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,6BAA6B,EAAmB,MAAM,SAAS,CAAC;AAEvF,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAK1E,qBAAa,4BACZ,SAAQ,0BAA0B,CAAC,6BAA6B,CAChE,YAAW,6BAA6B;gBAErB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;WAM/B,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,6BAA6B;IAIrE,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,GAAG,6BAA6B;IAUpF,SAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,YAAY;CAG1E"}
@@ -1,6 +1,7 @@
1
1
  import { AbstractTransactionBuilder } from "./AbstractTransactionBuilder";
2
2
  import { ContractAddresses } from "@/enums/ContractAddresses";
3
3
  import { ValidatorRegistration } from "@/transactions/types/ValidatorRegistration";
4
+ import { Helpers } from "@/utils";
4
5
  export class ValidatorRegistrationBuilder extends AbstractTransactionBuilder {
5
6
  constructor(data) {
6
7
  super(data);
@@ -10,7 +11,8 @@ export class ValidatorRegistrationBuilder extends AbstractTransactionBuilder {
10
11
  return new this(data);
11
12
  }
12
13
  validatorPublicKey(validatorPublicKey) {
13
- this.transaction.data.validatorPublicKey = validatorPublicKey;
14
+ validatorPublicKey = Helpers.removeLeadingHexZero(validatorPublicKey);
15
+ this.transaction.data.validatorPublicKey = `0x${validatorPublicKey}`;
14
16
  this.transaction.refreshPayloadData();
15
17
  return this;
16
18
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arkecosystem/typescript-crypto",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "engines": {
5
5
  "node": ">=20.12.2"
6
6
  },
@@ -3,6 +3,7 @@ import { ITransaction, IValidatorRegistrationBuilder, TransactionData } from "@/
3
3
  import { AbstractTransactionBuilder } from "./AbstractTransactionBuilder";
4
4
  import { ContractAddresses } from "@/enums/ContractAddresses";
5
5
  import { ValidatorRegistration } from "@/transactions/types/ValidatorRegistration";
6
+ import { Helpers } from "@/utils";
6
7
 
7
8
  export class ValidatorRegistrationBuilder
8
9
  extends AbstractTransactionBuilder<IValidatorRegistrationBuilder>
@@ -19,7 +20,9 @@ export class ValidatorRegistrationBuilder
19
20
  }
20
21
 
21
22
  public validatorPublicKey(validatorPublicKey: string): IValidatorRegistrationBuilder {
22
- this.transaction.data.validatorPublicKey = validatorPublicKey;
23
+ validatorPublicKey = Helpers.removeLeadingHexZero(validatorPublicKey);
24
+
25
+ this.transaction.data.validatorPublicKey = `0x${validatorPublicKey}`;
23
26
 
24
27
  this.transaction.refreshPayloadData();
25
28
 
@@ -4,6 +4,34 @@ import identityFixture from "@tests/fixtures/identity.json";
4
4
  import { ValidatorRegistrationBuilder } from "@/transactions/builders/ValidatorRegistrationBuilder";
5
5
 
6
6
  it("should build a transaction", async () => {
7
+ const transaction = (
8
+ await ValidatorRegistrationBuilder.new()
9
+ .validatorPublicKey(
10
+ "30954f46d6097a1d314e900e66e11e0dad0a57cd03e04ec99f0dedd1c765dcb11e6d7fa02e22cf40f9ee23d9cc1c0624",
11
+ )
12
+ .nonce(fixture.data.nonce)
13
+ .gasPrice(fixture.data.gasPrice)
14
+ .gasLimit(fixture.data.gasLimit)
15
+ .network(fixture.data.network)
16
+ .sign(identityFixture.passphrase)
17
+ ).transaction;
18
+
19
+ expect(transaction.data.gasPrice).toBe(fixture.data.gasPrice);
20
+ expect(transaction.data.nonce).toBe(fixture.data.nonce);
21
+ expect(transaction.data.network).toBe(fixture.data.network);
22
+ expect(transaction.data.gasLimit).toBe(fixture.data.gasLimit);
23
+ expect(transaction.data.recipientAddress).toBe(fixture.data.recipientAddress);
24
+ expect(transaction.data.value).toBe(fixture.data.value);
25
+ expect(transaction.data.v).toBe(fixture.data.v);
26
+ expect(transaction.data.r).toBe(fixture.data.r);
27
+ expect(transaction.data.s).toBe(fixture.data.s);
28
+ expect(transaction.data.id).toBe(fixture.data.id);
29
+
30
+ expect(transaction.serialize().toString("hex")).toEqual(fixture.serialized);
31
+ expect(transaction.verify()).toBe(true);
32
+ });
33
+
34
+ it("should handle validator public key with leading 0x", async () => {
7
35
  const transaction = (
8
36
  await ValidatorRegistrationBuilder.new()
9
37
  .validatorPublicKey(