@arkecosystem/typescript-crypto 0.0.1 → 0.0.2

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.
Files changed (95) hide show
  1. package/.github/workflows/publish.yml +6 -2
  2. package/dist/configuration/Network.d.ts +1 -1
  3. package/dist/configuration/Network.d.ts.map +1 -1
  4. package/dist/configuration/Network.js +1 -1
  5. package/dist/identities/PrivateKey.d.ts +1 -1
  6. package/dist/identities/PrivateKey.d.ts.map +1 -1
  7. package/dist/identities/PrivateKey.js +21 -11
  8. package/dist/identities/PublicKey.d.ts +1 -1
  9. package/dist/identities/PublicKey.d.ts.map +1 -1
  10. package/dist/identities/PublicKey.js +4 -9
  11. package/dist/identities/WIF.js +1 -1
  12. package/dist/index.js +28478 -23
  13. package/dist/transactions/Deserializer.d.ts +2 -2
  14. package/dist/transactions/Deserializer.d.ts.map +1 -1
  15. package/dist/transactions/Deserializer.js +4 -4
  16. package/dist/transactions/Serializer.d.ts +1 -1
  17. package/dist/transactions/Serializer.d.ts.map +1 -1
  18. package/dist/transactions/Serializer.js +1 -1
  19. package/dist/transactions/builders/AbstractTransactionBuilder.d.ts +2 -2
  20. package/dist/transactions/builders/AbstractTransactionBuilder.d.ts.map +1 -1
  21. package/dist/transactions/builders/AbstractTransactionBuilder.js +18 -7
  22. package/dist/transactions/builders/EvmCallBuilder.d.ts +1 -1
  23. package/dist/transactions/builders/EvmCallBuilder.d.ts.map +1 -1
  24. package/dist/transactions/builders/EvmCallBuilder.js +2 -2
  25. package/dist/transactions/builders/MultipaymentBuilder.d.ts +1 -1
  26. package/dist/transactions/builders/MultipaymentBuilder.d.ts.map +1 -1
  27. package/dist/transactions/builders/MultipaymentBuilder.js +2 -2
  28. package/dist/transactions/builders/TransferBuilder.d.ts +1 -1
  29. package/dist/transactions/builders/TransferBuilder.d.ts.map +1 -1
  30. package/dist/transactions/builders/TransferBuilder.js +1 -1
  31. package/dist/transactions/builders/UnvoteBuilder.d.ts +1 -1
  32. package/dist/transactions/builders/UnvoteBuilder.d.ts.map +1 -1
  33. package/dist/transactions/builders/UnvoteBuilder.js +2 -2
  34. package/dist/transactions/builders/UsernameRegistrationBuilder.d.ts +1 -1
  35. package/dist/transactions/builders/UsernameRegistrationBuilder.d.ts.map +1 -1
  36. package/dist/transactions/builders/UsernameRegistrationBuilder.js +3 -3
  37. package/dist/transactions/builders/UsernameResignationBuilder.d.ts +1 -1
  38. package/dist/transactions/builders/UsernameResignationBuilder.d.ts.map +1 -1
  39. package/dist/transactions/builders/UsernameResignationBuilder.js +2 -2
  40. package/dist/transactions/builders/ValidatorRegistrationBuilder.d.ts +1 -1
  41. package/dist/transactions/builders/ValidatorRegistrationBuilder.d.ts.map +1 -1
  42. package/dist/transactions/builders/ValidatorRegistrationBuilder.js +2 -2
  43. package/dist/transactions/builders/ValidatorResignationBuilder.d.ts +1 -1
  44. package/dist/transactions/builders/ValidatorResignationBuilder.d.ts.map +1 -1
  45. package/dist/transactions/builders/ValidatorResignationBuilder.js +2 -2
  46. package/dist/transactions/builders/VoteBuilder.d.ts +1 -1
  47. package/dist/transactions/builders/VoteBuilder.d.ts.map +1 -1
  48. package/dist/transactions/builders/VoteBuilder.js +2 -2
  49. package/dist/transactions/types/AbstractTransaction.d.ts +5 -5
  50. package/dist/transactions/types/AbstractTransaction.d.ts.map +1 -1
  51. package/dist/transactions/types/AbstractTransaction.js +24 -13
  52. package/dist/transactions/types/EvmCall.d.ts +2 -2
  53. package/dist/transactions/types/EvmCall.d.ts.map +1 -1
  54. package/dist/transactions/types/EvmCall.js +2 -2
  55. package/dist/transactions/types/Multipayment.d.ts +2 -2
  56. package/dist/transactions/types/Multipayment.d.ts.map +1 -1
  57. package/dist/transactions/types/Multipayment.js +5 -5
  58. package/dist/transactions/types/Transfer.d.ts +2 -2
  59. package/dist/transactions/types/Transfer.d.ts.map +1 -1
  60. package/dist/transactions/types/Transfer.js +2 -2
  61. package/dist/transactions/types/Unvote.d.ts +2 -2
  62. package/dist/transactions/types/Unvote.d.ts.map +1 -1
  63. package/dist/transactions/types/Unvote.js +4 -4
  64. package/dist/transactions/types/UsernameRegistration.d.ts +2 -2
  65. package/dist/transactions/types/UsernameRegistration.d.ts.map +1 -1
  66. package/dist/transactions/types/UsernameRegistration.js +5 -5
  67. package/dist/transactions/types/UsernameResignation.d.ts +2 -2
  68. package/dist/transactions/types/UsernameResignation.d.ts.map +1 -1
  69. package/dist/transactions/types/UsernameResignation.js +4 -4
  70. package/dist/transactions/types/ValidatorRegistration.d.ts +2 -2
  71. package/dist/transactions/types/ValidatorRegistration.d.ts.map +1 -1
  72. package/dist/transactions/types/ValidatorRegistration.js +5 -5
  73. package/dist/transactions/types/ValidatorResignation.d.ts +2 -2
  74. package/dist/transactions/types/ValidatorResignation.d.ts.map +1 -1
  75. package/dist/transactions/types/ValidatorResignation.js +4 -4
  76. package/dist/transactions/types/Vote.d.ts +2 -2
  77. package/dist/transactions/types/Vote.d.ts.map +1 -1
  78. package/dist/transactions/types/Vote.js +5 -5
  79. package/dist/types.d.ts +2 -2
  80. package/dist/types.d.ts.map +1 -1
  81. package/dist/utils/AbiBase.d.ts +1 -1
  82. package/dist/utils/AbiBase.d.ts.map +1 -1
  83. package/dist/utils/AbiBase.js +1 -1
  84. package/dist/utils/AbiDecoder.d.ts +1 -1
  85. package/dist/utils/AbiDecoder.d.ts.map +1 -1
  86. package/dist/utils/Helpers.js +1 -1
  87. package/dist/utils/Message.d.ts +2 -2
  88. package/dist/utils/Message.d.ts.map +1 -1
  89. package/dist/utils/Message.js +26 -11
  90. package/dist/utils/Slot.js +1 -1
  91. package/dist/utils/TransactionUtils.d.ts +1 -1
  92. package/dist/utils/TransactionUtils.d.ts.map +1 -1
  93. package/dist/utils/TransactionUtils.js +1 -1
  94. package/package.json +53 -58
  95. package/.vscode/settings.json +0 -2
@@ -49,8 +49,12 @@ jobs:
49
49
 
50
50
  - name: Publish (develop branch)
51
51
  if: github.ref == 'refs/heads/develop'
52
- run: NPM_AUTH_TOKEN=${{ secrets.NODE_AUTH_TOKEN_ARK }} npm publish --access=public --publish-branch=develop --tag=next
52
+ run: pnpm publish --access=public --publish-branch=develop --tag=next
53
+ env:
54
+ NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN_ARK }}
53
55
 
54
56
  - name: Publish (main branch)
55
57
  if: github.ref == 'refs/heads/main'
56
- run: NPM_AUTH_TOKEN=${{ secrets.NODE_AUTH_TOKEN_ARK }} npm publish --access=public
58
+ run: pnpm publish --access=public
59
+ env:
60
+ NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN_ARK }}
@@ -1,4 +1,4 @@
1
- import { AbstractNetwork } from "../networks/AbstractNetwork";
1
+ import { AbstractNetwork } from "@/networks/AbstractNetwork";
2
2
  export declare class Network {
3
3
  private static network;
4
4
  static get(): AbstractNetwork;
@@ -1 +1 @@
1
- {"version":3,"file":"Network.d.ts","sourceRoot":"","sources":["../../src/configuration/Network.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,qBAAa,OAAO;IACnB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAkB;WAE1B,GAAG,IAAI,eAAe;WAQtB,GAAG,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;CAGjD"}
1
+ {"version":3,"file":"Network.d.ts","sourceRoot":"","sources":["../../src/configuration/Network.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG7D,qBAAa,OAAO;IACnB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAkB;WAE1B,GAAG,IAAI,eAAe;WAQtB,GAAG,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;CAGjD"}
@@ -1,4 +1,4 @@
1
- import { Testnet } from "../networks/Testnet";
1
+ import { Testnet } from "@/networks/Testnet";
2
2
  export class Network {
3
3
  static get() {
4
4
  if (!this.network) {
@@ -10,7 +10,7 @@ export declare class PrivateKey {
10
10
  static fromPassphrase(passphrase: string): PrivateKey;
11
11
  static fromHex(hex: string): PrivateKey;
12
12
  static fromWif(wif: string): PrivateKey;
13
- sign(message: string): RecoverableSignature;
13
+ sign(message: string): Promise<RecoverableSignature>;
14
14
  }
15
15
  export {};
16
16
  //# sourceMappingURL=PrivateKey.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PrivateKey.d.ts","sourceRoot":"","sources":["../../src/identities/PrivateKey.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAqB,MAAM,QAAQ,CAAC;AAMnD,KAAK,oBAAoB,GAAG;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACV,CAAC;AAEF,qBAAa,UAAU;IACf,UAAU,EAAE,MAAM,CAAC;gBAEd,OAAO,EAAE,MAAM,CAAC,MAAM;IAIlC,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU;IAIrD,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;IAMvC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;IAMvC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB;CAa3C"}
1
+ {"version":3,"file":"PrivateKey.d.ts","sourceRoot":"","sources":["../../src/identities/PrivateKey.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAqB,MAAM,QAAQ,CAAC;AAMnD,KAAK,oBAAoB,GAAG;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACV,CAAC;AAEF,qBAAa,UAAU;IACf,UAAU,EAAE,MAAM,CAAC;gBAEd,OAAO,EAAE,MAAM,CAAC,MAAM;IAIlC,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU;IAIrD,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;IAMvC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;IAMjC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAW1D"}
@@ -1,8 +1,17 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
1
10
  import * as WIF from "wif";
2
11
  import { ethers, keccak256, sha256 } from "ethers";
3
- import { signRecoverable } from "tiny-secp256k1";
4
- import { Constants } from "../enums/Constants";
5
- import { Network } from "../configuration/Network";
12
+ import { signAsync } from "@noble/secp256k1";
13
+ import { Constants } from "@/enums/Constants";
14
+ import { Network } from "@/configuration/Network";
6
15
  export class PrivateKey {
7
16
  constructor(keyPair) {
8
17
  this.privateKey = keyPair.privateKey.substring(2);
@@ -19,13 +28,14 @@ export class PrivateKey {
19
28
  return PrivateKey.fromHex(Buffer.from(decodedWif.privateKey).toString("hex"));
20
29
  }
21
30
  sign(message) {
22
- const hash = Buffer.from(keccak256("0x" + message).slice(2), "hex");
23
- const signature = signRecoverable(hash, Buffer.from(this.privateKey, "hex"));
24
- const signatureHex = Buffer.from(signature.signature).toString("hex");
25
- return {
26
- r: signatureHex.slice(0, 64).toString(),
27
- s: signatureHex.slice(64, 128).toString(),
28
- v: signature.recoveryId + Constants.ETHEREUM_RECOVERY_ID_OFFSET,
29
- };
31
+ return __awaiter(this, void 0, void 0, function* () {
32
+ const hash = keccak256("0x" + message).slice(2);
33
+ const signature = yield signAsync(hash, this.privateKey);
34
+ return {
35
+ r: signature.r.toString(16).padStart(64, "0"),
36
+ s: signature.s.toString(16).padStart(64, "0"),
37
+ v: signature.recovery + Constants.ETHEREUM_RECOVERY_ID_OFFSET,
38
+ };
39
+ });
30
40
  }
31
41
  }
@@ -3,6 +3,6 @@ export declare class PublicKey {
3
3
  constructor(publicKey: string);
4
4
  static fromPassphrase(passphrase: string): PublicKey;
5
5
  static fromHex(publicKey: string): PublicKey;
6
- static recover(message: Buffer, signatureRS: Buffer, v: number): PublicKey;
6
+ static recover(message: Buffer, r: bigint, s: bigint, v: number): PublicKey;
7
7
  }
8
8
  //# sourceMappingURL=PublicKey.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PublicKey.d.ts","sourceRoot":"","sources":["../../src/identities/PublicKey.ts"],"names":[],"mappings":"AAGA,qBAAa,SAAS;IACd,SAAS,EAAE,MAAM,CAAC;gBAEb,SAAS,EAAE,MAAM;IAI7B,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS;IAMpD,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;IAM5C,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS;CAY1E"}
1
+ {"version":3,"file":"PublicKey.d.ts","sourceRoot":"","sources":["../../src/identities/PublicKey.ts"],"names":[],"mappings":"AAGA,qBAAa,SAAS;IACd,SAAS,EAAE,MAAM,CAAC;gBAEb,SAAS,EAAE,MAAM;IAI7B,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS;IAMpD,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;IAM5C,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS;CAK3E"}
@@ -1,5 +1,5 @@
1
1
  import { sha256, SigningKey } from "ethers";
2
- import { recover } from "tiny-secp256k1";
2
+ import { Signature } from "@noble/secp256k1";
3
3
  export class PublicKey {
4
4
  constructor(publicKey) {
5
5
  this.publicKey = publicKey;
@@ -12,13 +12,8 @@ export class PublicKey {
12
12
  const computedPublicKey = SigningKey.computePublicKey(`0x${publicKey}`).substring(2);
13
13
  return new PublicKey(computedPublicKey);
14
14
  }
15
- static recover(message, signatureRS, v) {
16
- if (v < 0 || v > 3) {
17
- throw new Error("Bad Recovery Id");
18
- }
19
- const recoveryId = v;
20
- // Can't get the recover method to return null so we are enforcing the type here
21
- const signature = recover(message, signatureRS, recoveryId, true);
22
- return new PublicKey(Buffer.from(signature).toString("hex"));
15
+ static recover(message, r, s, v) {
16
+ const publicKey = new Signature(r, s, v).recoverPublicKey(message);
17
+ return new PublicKey(publicKey.toHex());
23
18
  }
24
19
  }
@@ -1,4 +1,4 @@
1
- import { Network } from "../configuration/Network";
1
+ import { Network } from "@/configuration/Network";
2
2
  import * as WIFPackage from "wif";
3
3
  import { PrivateKey } from "./PrivateKey";
4
4
  export class WIF {