@arkecosystem/typescript-crypto 0.0.1 → 0.0.3

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 (112) 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 +6 -6
  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 +3 -3
  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 +22 -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 +3 -3
  94. package/package.json +57 -58
  95. package/src/transactions/types/AbstractTransaction.ts +2 -2
  96. package/src/types.ts +1 -1
  97. package/src/utils/Message.ts +0 -5
  98. package/src/utils/TransactionUtils.ts +2 -2
  99. package/tests/unit/transactions/Deserializer.test.ts +1 -1
  100. package/tests/unit/transactions/Serializer.test.ts +1 -1
  101. package/tests/unit/transactions/builders/EvmCallBuilder.test.ts +2 -2
  102. package/tests/unit/transactions/builders/MultipaymentBuilder.test.ts +4 -4
  103. package/tests/unit/transactions/builders/TransferBuilder.test.ts +3 -3
  104. package/tests/unit/transactions/builders/UnvoteBuilder.test.ts +2 -2
  105. package/tests/unit/transactions/builders/UsernameRegistrationBuilder.test.ts +2 -2
  106. package/tests/unit/transactions/builders/UsernameResignationBuilder.test.ts +2 -2
  107. package/tests/unit/transactions/builders/ValidatorRegistrationBuilder.test.ts +2 -2
  108. package/tests/unit/transactions/builders/ValidatorResignationBuilder.test.ts +2 -2
  109. package/tests/unit/transactions/builders/VoteBuilder.test.ts +2 -2
  110. package/tests/unit/transactions/types/AbstractTransaction.test.ts +2 -2
  111. package/tests/unit/utils/TransactionUtils.test.ts +1 -1
  112. package/.vscode/settings.json +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"UsernameResignation.d.ts","sourceRoot":"","sources":["../../../src/transactions/types/UsernameResignation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAIzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,qBAAa,mBAAoB,SAAQ,mBAAmB;IAC3D,UAAU,IAAI,MAAM;IAIpB,SAAS,CAAC,aAAa,CACtB,IAAI,EAAE,eAAe,EACrB,IAAI,GAAE,eAA2C,GAC/C,SAAS,GAAG,IAAI;CAOnB"}
1
+ {"version":3,"file":"UsernameResignation.d.ts","sourceRoot":"","sources":["../../../src/transactions/types/UsernameResignation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAIrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,qBAAa,mBAAoB,SAAQ,mBAAmB;IAC3D,UAAU,IAAI,MAAM;IAIpB,SAAS,CAAC,aAAa,CACtB,IAAI,EAAE,eAAe,EACrB,IAAI,GAAE,eAA2C,GAC/C,SAAS,GAAG,IAAI;CAOnB"}
@@ -1,8 +1,8 @@
1
- import { AbiEncoder } from "../../utils/AbiEncoder";
2
- import { AbiFunction } from "../../enums/AbiFunction";
1
+ import { AbiEncoder } from "@/utils/AbiEncoder";
2
+ import { AbiFunction } from "@/enums/AbiFunction";
3
3
  import { AbstractTransaction } from "./AbstractTransaction";
4
- import { ContractAbiType } from "../../enums/ContractAbiType";
5
- import { Deserializer } from "../Deserializer";
4
+ import { ContractAbiType } from "@/enums/ContractAbiType";
5
+ import { Deserializer } from "@/transactions/Deserializer";
6
6
  export class UsernameResignation extends AbstractTransaction {
7
7
  getPayload() {
8
8
  return new AbiEncoder(ContractAbiType.USERNAMES).encodeFunctionCall(AbiFunction.USERNAME_RESIGNATION, []);
@@ -1,6 +1,6 @@
1
- import { AbiResult, TransactionData } from "../../types";
1
+ import { AbiResult, TransactionData } from "@/types";
2
2
  import { AbstractTransaction } from "./AbstractTransaction";
3
- import { ContractAbiType } from "../../enums/ContractAbiType";
3
+ import { ContractAbiType } from "@/enums/ContractAbiType";
4
4
  export declare class ValidatorRegistration extends AbstractTransaction {
5
5
  constructor(data: TransactionData);
6
6
  getPayload(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"ValidatorRegistration.d.ts","sourceRoot":"","sources":["../../../src/transactions/types/ValidatorRegistration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAKzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,qBAAa,qBAAsB,SAAQ,mBAAmB;gBAC1C,IAAI,EAAE,eAAe;IAaxC,UAAU,IAAI,MAAM;IAUpB,SAAS,CAAC,aAAa,CACtB,IAAI,EAAE,eAAe,EACrB,IAAI,GAAE,eAA2C,GAC/C,SAAS,GAAG,IAAI;CAOnB"}
1
+ {"version":3,"file":"ValidatorRegistration.d.ts","sourceRoot":"","sources":["../../../src/transactions/types/ValidatorRegistration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAKrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,qBAAa,qBAAsB,SAAQ,mBAAmB;gBAC1C,IAAI,EAAE,eAAe;IAaxC,UAAU,IAAI,MAAM;IAUpB,SAAS,CAAC,aAAa,CACtB,IAAI,EAAE,eAAe,EACrB,IAAI,GAAE,eAA2C,GAC/C,SAAS,GAAG,IAAI;CAOnB"}
@@ -1,9 +1,9 @@
1
- import { AbiDecoder } from "../../utils/AbiDecoder";
2
- import { AbiEncoder } from "../../utils/AbiEncoder";
3
- import { AbiFunction } from "../../enums/AbiFunction";
1
+ import { AbiDecoder } from "@/utils/AbiDecoder";
2
+ import { AbiEncoder } from "@/utils/AbiEncoder";
3
+ import { AbiFunction } from "@/enums/AbiFunction";
4
4
  import { AbstractTransaction } from "./AbstractTransaction";
5
- import { ContractAbiType } from "../../enums/ContractAbiType";
6
- import { Deserializer } from "../Deserializer";
5
+ import { ContractAbiType } from "@/enums/ContractAbiType";
6
+ import { Deserializer } from "@/transactions/Deserializer";
7
7
  export class ValidatorRegistration extends AbstractTransaction {
8
8
  constructor(data) {
9
9
  let payload;
@@ -1,6 +1,6 @@
1
- import { AbiResult, TransactionData } from "../../types";
1
+ import { AbiResult, TransactionData } from "@/types";
2
2
  import { AbstractTransaction } from "./AbstractTransaction";
3
- import { ContractAbiType } from "../../enums/ContractAbiType";
3
+ import { ContractAbiType } from "@/enums/ContractAbiType";
4
4
  export declare class ValidatorResignation extends AbstractTransaction {
5
5
  getPayload(): string;
6
6
  protected decodePayload(data: TransactionData, type?: ContractAbiType): AbiResult | null;
@@ -1 +1 @@
1
- {"version":3,"file":"ValidatorResignation.d.ts","sourceRoot":"","sources":["../../../src/transactions/types/ValidatorResignation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAIzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,qBAAa,oBAAqB,SAAQ,mBAAmB;IAC5D,UAAU,IAAI,MAAM;IAIpB,SAAS,CAAC,aAAa,CACtB,IAAI,EAAE,eAAe,EACrB,IAAI,GAAE,eAA2C,GAC/C,SAAS,GAAG,IAAI;CAOnB"}
1
+ {"version":3,"file":"ValidatorResignation.d.ts","sourceRoot":"","sources":["../../../src/transactions/types/ValidatorResignation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAIrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,qBAAa,oBAAqB,SAAQ,mBAAmB;IAC5D,UAAU,IAAI,MAAM;IAIpB,SAAS,CAAC,aAAa,CACtB,IAAI,EAAE,eAAe,EACrB,IAAI,GAAE,eAA2C,GAC/C,SAAS,GAAG,IAAI;CAOnB"}
@@ -1,8 +1,8 @@
1
- import { AbiEncoder } from "../../utils/AbiEncoder";
2
- import { AbiFunction } from "../../enums/AbiFunction";
1
+ import { AbiEncoder } from "@/utils/AbiEncoder";
2
+ import { AbiFunction } from "@/enums/AbiFunction";
3
3
  import { AbstractTransaction } from "./AbstractTransaction";
4
- import { ContractAbiType } from "../../enums/ContractAbiType";
5
- import { Deserializer } from "../Deserializer";
4
+ import { ContractAbiType } from "@/enums/ContractAbiType";
5
+ import { Deserializer } from "@/transactions/Deserializer";
6
6
  export class ValidatorResignation extends AbstractTransaction {
7
7
  getPayload() {
8
8
  return new AbiEncoder().encodeFunctionCall(AbiFunction.VALIDATOR_RESIGNATION, []);
@@ -1,6 +1,6 @@
1
- import { AbiResult, TransactionData } from "../../types";
1
+ import { AbiResult, TransactionData } from "@/types";
2
2
  import { AbstractTransaction } from "./AbstractTransaction";
3
- import { ContractAbiType } from "../../enums/ContractAbiType";
3
+ import { ContractAbiType } from "@/enums/ContractAbiType";
4
4
  export declare class Vote extends AbstractTransaction {
5
5
  constructor(data: TransactionData);
6
6
  getPayload(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"Vote.d.ts","sourceRoot":"","sources":["../../../src/transactions/types/Vote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAKzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,qBAAa,IAAK,SAAQ,mBAAmB;gBACzB,IAAI,EAAE,eAAe;IAaxC,UAAU,IAAI,MAAM;IAQpB,SAAS,CAAC,aAAa,CACtB,IAAI,EAAE,eAAe,EACrB,IAAI,GAAE,eAA2C,GAC/C,SAAS,GAAG,IAAI;CAOnB"}
1
+ {"version":3,"file":"Vote.d.ts","sourceRoot":"","sources":["../../../src/transactions/types/Vote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAKrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,qBAAa,IAAK,SAAQ,mBAAmB;gBACzB,IAAI,EAAE,eAAe;IAaxC,UAAU,IAAI,MAAM;IAQpB,SAAS,CAAC,aAAa,CACtB,IAAI,EAAE,eAAe,EACrB,IAAI,GAAE,eAA2C,GAC/C,SAAS,GAAG,IAAI;CAOnB"}
@@ -1,9 +1,9 @@
1
- import { AbiDecoder } from "../../utils/AbiDecoder";
2
- import { AbiEncoder } from "../../utils/AbiEncoder";
3
- import { AbiFunction } from "../../enums/AbiFunction";
1
+ import { AbiDecoder } from "@/utils/AbiDecoder";
2
+ import { AbiEncoder } from "@/utils/AbiEncoder";
3
+ import { AbiFunction } from "@/enums/AbiFunction";
4
4
  import { AbstractTransaction } from "./AbstractTransaction";
5
- import { ContractAbiType } from "../../enums/ContractAbiType";
6
- import { Deserializer } from "../Deserializer";
5
+ import { ContractAbiType } from "@/enums/ContractAbiType";
6
+ import { Deserializer } from "@/transactions/Deserializer";
7
7
  export class Vote extends AbstractTransaction {
8
8
  constructor(data) {
9
9
  let payload;
package/dist/types.d.ts CHANGED
@@ -27,9 +27,9 @@ export interface ITransaction {
27
27
  data: TransactionData;
28
28
  serialized: Buffer | undefined;
29
29
  getPayload(): string;
30
- refreshPayloadData(): this;
30
+ refreshPayloadData(): ITransaction;
31
31
  getId(): string;
32
- sign(privateKey: any): ITransaction;
32
+ sign(privateKey: any): Promise<ITransaction>;
33
33
  recoverSender(): void;
34
34
  verify(): boolean;
35
35
  toArray(): TransactionData;
@@ -44,7 +44,7 @@ export interface ITransactionBuilder<T extends ITransactionBuilder<T>> {
44
44
  recipientAddress(recipientAddress: string): T;
45
45
  nonce(nonce: string): T;
46
46
  network(network: number): T;
47
- sign(passphrase: string): T;
47
+ sign(passphrase: string): Promise<T>;
48
48
  verify(): boolean;
49
49
  toArray(): TransactionData;
50
50
  toJson(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ContractAbiType } from "../enums/ContractAbiType";
1
+ import { ContractAbiType } from "@/enums/ContractAbiType";
2
2
  import { Interface } from "ethers";
3
3
  export declare abstract class AbiBase {
4
4
  protected interface: Interface;
@@ -1 +1 @@
1
- {"version":3,"file":"AbiBase.d.ts","sourceRoot":"","sources":["../../src/utils/AbiBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAKnC,8BAAsB,OAAO;IAC5B,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;gBAEnB,IAAI,GAAE,eAA2C,EAAE,SAAS,CAAC,EAAE,MAAM;IAMjF,OAAO,CAAC,WAAW;CAgBnB"}
1
+ {"version":3,"file":"AbiBase.d.ts","sourceRoot":"","sources":["../../src/utils/AbiBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAKnC,8BAAsB,OAAO;IAC5B,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;gBAEnB,IAAI,GAAE,eAA2C,EAAE,SAAS,CAAC,EAAE,MAAM;IAMjF,OAAO,CAAC,WAAW;CAgBnB"}
@@ -1,4 +1,4 @@
1
- import { ContractAbiType } from "../enums/ContractAbiType";
1
+ import { ContractAbiType } from "@/enums/ContractAbiType";
2
2
  import { Interface } from "ethers";
3
3
  import ConsensusContract from "./Abi/json/Abi.Consensus.json";
4
4
  import MultipaymentContract from "./Abi/json/Abi.Multipayment.json";
@@ -1,4 +1,4 @@
1
- import { AbiResult } from "../types";
1
+ import { AbiResult } from "@/types";
2
2
  import { AbiBase } from "./AbiBase";
3
3
  export declare class AbiDecoder extends AbiBase {
4
4
  decodeFunctionData(data: string): AbiResult;
@@ -1 +1 @@
1
- {"version":3,"file":"AbiDecoder.d.ts","sourceRoot":"","sources":["../../src/utils/AbiDecoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,qBAAa,UAAW,SAAQ,OAAO;IACtC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;CAa3C"}
1
+ {"version":3,"file":"AbiDecoder.d.ts","sourceRoot":"","sources":["../../src/utils/AbiDecoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,qBAAa,UAAW,SAAQ,OAAO;IACtC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;CAa3C"}
@@ -1,4 +1,4 @@
1
- import { InvalidUsernameException } from "../exceptions/InvalidUsernameException";
1
+ import { InvalidUsernameException } from "@/exceptions/InvalidUsernameException";
2
2
  export class Helpers {
3
3
  /**
4
4
  * Validates a username based on specific rules.
@@ -1,11 +1,11 @@
1
- import { SignedMessage } from "../types";
1
+ import { SignedMessage } from "@/types";
2
2
  export declare class Message {
3
3
  publicKey: string;
4
4
  signature: string;
5
5
  message: string;
6
6
  constructor(message: SignedMessage);
7
7
  static new(message: SignedMessage): Message;
8
- static sign(message: string, passphrase: string): Message;
8
+ static sign(message: string, passphrase: string): Promise<Message>;
9
9
  verify(): boolean;
10
10
  toString(): string;
11
11
  toArray(): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../src/utils/Message.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,qBAAa,OAAO;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;gBAEX,OAAO,EAAE,aAAa;IAMlC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO;IAI3C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAazD,MAAM,IAAI,OAAO;IAQjB,QAAQ,IAAI,MAAM;IAIlB,OAAO,IAAI,MAAM,EAAE;IAInB,MAAM,IAAI,aAAa;CAOvB"}
1
+ {"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../src/utils/Message.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAIxC,qBAAa,OAAO;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;gBAEX,OAAO,EAAE,aAAa;IAMlC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO;WAI9B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAaxE,MAAM,IAAI,OAAO;IAQjB,QAAQ,IAAI,MAAM;IAIlB,OAAO,IAAI,MAAM,EAAE;IAInB,MAAM,IAAI,aAAa;CAOvB"}
@@ -1,7 +1,16 @@
1
- import { PrivateKey } from "../identities/PrivateKey";
2
- import { PublicKey } from "../identities/PublicKey";
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
+ };
10
+ import { PrivateKey } from "@/identities/PrivateKey";
11
+ import { PublicKey } from "@/identities/PublicKey";
3
12
  import { keccak256 } from "ethers";
4
- import { verify } from "tiny-secp256k1";
13
+ import { verify } from "@noble/secp256k1";
5
14
  export class Message {
6
15
  constructor(message) {
7
16
  this.publicKey = message.publicKey;
@@ -12,20 +21,22 @@ export class Message {
12
21
  return new Message(message);
13
22
  }
14
23
  static sign(message, passphrase) {
15
- const privateKey = PrivateKey.fromPassphrase(passphrase);
16
- const publicKey = PublicKey.fromPassphrase(passphrase).publicKey;
17
- const signature = privateKey.sign(Buffer.from(message).toString("hex"));
18
- return Message.new({
19
- publicKey,
20
- signature: signature.r + signature.s + Number(signature.v).toString(16),
21
- message,
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ const privateKey = PrivateKey.fromPassphrase(passphrase);
26
+ const publicKey = PublicKey.fromPassphrase(passphrase).publicKey;
27
+ const signature = yield privateKey.sign(Buffer.from(message).toString("hex"));
28
+ return Message.new({
29
+ publicKey,
30
+ signature: signature.r + signature.s + Number(signature.v).toString(16),
31
+ message,
32
+ });
22
33
  });
23
34
  }
24
35
  verify() {
25
36
  const message = Buffer.from(keccak256(Buffer.from(this.message)).slice(2), "hex");
26
37
  const signature = Buffer.from(this.signature.slice(0, 128), "hex");
27
38
  const publicKey = Buffer.from(this.publicKey, "hex");
28
- return verify(message, publicKey, signature, true);
39
+ return verify(signature, message, publicKey);
29
40
  }
30
41
  toString() {
31
42
  return JSON.stringify(this.toJson());
@@ -1,4 +1,4 @@
1
- import { Network } from "../configuration/Network";
1
+ import { Network } from "@/configuration/Network";
2
2
  export class Slot {
3
3
  static time() {
4
4
  return Math.floor(Date.now() / 1000) - this.epoch();
@@ -1,4 +1,4 @@
1
- import { TransactionData } from "../types";
1
+ import { TransactionData } from "@/types";
2
2
  export declare class TransactionUtils {
3
3
  static toBuffer(transaction: TransactionData, skipSignature?: boolean): Buffer;
4
4
  static toHash(transaction: TransactionData, skipSignature?: boolean): string;
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionUtils.d.ts","sourceRoot":"","sources":["../../src/utils/TransactionUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,qBAAa,gBAAgB;WACd,QAAQ,CAAC,WAAW,EAAE,eAAe,EAAE,aAAa,GAAE,OAAe,GAAG,MAAM;WA4B9E,MAAM,CAAC,WAAW,EAAE,eAAe,EAAE,aAAa,GAAE,OAAe,GAAG,MAAM;WAM5E,KAAK,CAAC,WAAW,EAAE,eAAe,GAAG,MAAM;CAGzD"}
1
+ {"version":3,"file":"TransactionUtils.d.ts","sourceRoot":"","sources":["../../src/utils/TransactionUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,qBAAa,gBAAgB;WACd,QAAQ,CAAC,WAAW,EAAE,eAAe,EAAE,aAAa,GAAE,OAAe,GAAG,MAAM;WA4B9E,MAAM,CAAC,WAAW,EAAE,eAAe,EAAE,aAAa,GAAE,OAAe,GAAG,MAAM;WAM5E,KAAK,CAAC,WAAW,EAAE,eAAe,GAAG,MAAM;CAGzD"}
@@ -1,5 +1,5 @@
1
1
  import { encodeRlp, keccak256, toBeArray } from "ethers";
2
- import { Constants } from "../enums/Constants";
2
+ import { Constants } from "@/enums/Constants";
3
3
  export class TransactionUtils {
4
4
  static toBuffer(transaction, skipSignature = false) {
5
5
  var _a, _b, _c, _d, _e;
@@ -23,11 +23,11 @@ export class TransactionUtils {
23
23
  }
24
24
  const encoded = encodeRlp(fields);
25
25
  const payload = Constants.EIP_1559_PREFIX + encoded.substring(2);
26
- return Buffer.from(payload);
26
+ return Buffer.from(payload, 'hex');
27
27
  }
28
28
  static toHash(transaction, skipSignature = false) {
29
29
  const encoding = this.toBuffer(transaction, skipSignature);
30
- return keccak256('0x' + encoding.toString('binary')).substring(2);
30
+ return keccak256('0x' + encoding.toString('hex')).substring(2);
31
31
  }
32
32
  static getId(transaction) {
33
33
  return this.toHash(transaction, false);
package/package.json CHANGED
@@ -1,59 +1,58 @@
1
1
  {
2
- "name": "@arkecosystem/typescript-crypto",
3
- "version": "0.0.1",
4
- "engines": {
5
- "node": ">=20.12.2"
6
- },
7
- "description": "A simple TypeScript Cryptography Implementation for the Mainsail blockchain.",
8
- "type": "module",
9
- "main": "dist/index.js",
10
- "module": "dist/index.js",
11
- "types": "dist/index.d.ts",
12
- "exports": {
13
- ".": {
14
- "import": "./dist/index.js",
15
- "require": "./dist/index.js"
16
- }
17
- },
18
- "scripts": {
19
- "build": "tsc && esbuild src/index.ts --outdir=dist --format=esm --bundle",
20
- "test": "NODE_OPTIONS=--experimental-vm-modules jest"
21
- },
22
- "bugs": {
23
- "url": "https://github.com/ArdentHQ/typescript-crypto/issues"
24
- },
25
- "repository": {
26
- "type": "git",
27
- "url": "git+https://github.com/ArdentHQ/typescript-crypto.git"
28
- },
29
- "keywords": [],
30
- "author": "",
31
- "license": "CC BY-NC-ND 4.0",
32
- "devDependencies": {
33
- "@jest/globals": "^29.7.0",
34
- "@types/jest": "^29.5.14",
35
- "@typescript-eslint/eslint-plugin": "^8.25.0",
36
- "@typescript-eslint/parser": "^8.25.0",
37
- "esbuild": "^0.25.0",
38
- "esbuild-jest": "^0.5.0",
39
- "eslint": "^9.21.0",
40
- "eslint-config-prettier": "^10.0.2",
41
- "eslint-plugin-prettier": "^5.2.3",
42
- "jest": "^29.7.0",
43
- "prettier": "^3.5.3",
44
- "ts-jest": "^29.2.6",
45
- "ts-node": "^10.9.2",
46
- "typescript": "^5.8.2"
47
- },
48
- "dependencies": {
49
- "@noble/secp256k1": "^2.2.3",
50
- "bignumber.js": "^9.1.2",
51
- "ethers": "^6.13.5",
52
- "wif": "^5.0.0"
53
- },
54
- "pnpm": {
55
- "onlyBuiltDependencies": [
56
- "esbuild"
57
- ]
58
- }
59
- }
2
+ "name": "@arkecosystem/typescript-crypto",
3
+ "version": "0.0.3",
4
+ "engines": {
5
+ "node": ">=20.12.2"
6
+ },
7
+ "description": "A simple TypeScript Cryptography Implementation for the Mainsail blockchain.",
8
+ "type": "module",
9
+ "main": "dist/index.js",
10
+ "module": "dist/index.js",
11
+ "types": "dist/index.d.ts",
12
+ "exports": {
13
+ ".": {
14
+ "import": "./dist/index.js",
15
+ "require": "./dist/index.js"
16
+ },
17
+ "./types": {
18
+ "import": "./dist/types.js",
19
+ "require": "./dist/types.js"
20
+ }
21
+ },
22
+ "bugs": {
23
+ "url": "https://github.com/ArdentHQ/typescript-crypto/issues"
24
+ },
25
+ "repository": {
26
+ "type": "git",
27
+ "url": "git+https://github.com/ArdentHQ/typescript-crypto.git"
28
+ },
29
+ "keywords": [],
30
+ "author": "",
31
+ "license": "CC BY-NC-ND 4.0",
32
+ "devDependencies": {
33
+ "@jest/globals": "^29.7.0",
34
+ "@types/jest": "^29.5.14",
35
+ "@typescript-eslint/eslint-plugin": "^8.25.0",
36
+ "@typescript-eslint/parser": "^8.25.0",
37
+ "esbuild": "^0.25.0",
38
+ "esbuild-jest": "^0.5.0",
39
+ "eslint": "^9.21.0",
40
+ "eslint-config-prettier": "^10.0.2",
41
+ "eslint-plugin-prettier": "^5.2.3",
42
+ "jest": "^29.7.0",
43
+ "prettier": "^3.5.3",
44
+ "ts-jest": "^29.2.6",
45
+ "ts-node": "^10.9.2",
46
+ "typescript": "^5.8.2"
47
+ },
48
+ "dependencies": {
49
+ "@noble/secp256k1": "^2.2.3",
50
+ "bignumber.js": "^9.1.2",
51
+ "ethers": "^6.13.5",
52
+ "wif": "^5.0.0"
53
+ },
54
+ "scripts": {
55
+ "build": "tsc && esbuild src/index.ts --outdir=dist --format=esm --bundle",
56
+ "test": "NODE_OPTIONS=--experimental-vm-modules jest"
57
+ }
58
+ }
@@ -21,7 +21,7 @@ export abstract class AbstractTransaction implements ITransaction {
21
21
 
22
22
  public abstract getPayload(): string;
23
23
 
24
- public refreshPayloadData(): this {
24
+ public refreshPayloadData(): ITransaction {
25
25
  this.data.data = this.getPayload();
26
26
 
27
27
  return this;
@@ -32,7 +32,7 @@ export abstract class AbstractTransaction implements ITransaction {
32
32
  }
33
33
 
34
34
  public async sign(privateKey: PrivateKey): Promise<ITransaction> {
35
- const hash = TransactionUtils.toBuffer(this.data, true).toString("binary");
35
+ const hash = TransactionUtils.toBuffer(this.data, true).toString("hex");
36
36
 
37
37
  const signature = await privateKey.sign(hash);
38
38
 
package/src/types.ts CHANGED
@@ -33,7 +33,7 @@ export interface ITransaction {
33
33
  serialized: Buffer | undefined;
34
34
 
35
35
  getPayload(): string;
36
- refreshPayloadData(): this;
36
+ refreshPayloadData(): ITransaction;
37
37
  getId(): string;
38
38
  sign(privateKey: any): Promise<ITransaction>;
39
39
  recoverSender(): void;
@@ -2,7 +2,6 @@ import { PrivateKey } from "@/identities/PrivateKey";
2
2
  import { PublicKey } from "@/identities/PublicKey";
3
3
  import { SignedMessage } from "@/types";
4
4
  import { keccak256 } from "ethers";
5
- // import { verify } from "tiny-secp256k1";
6
5
  import { verify } from "@noble/secp256k1";
7
6
 
8
7
  export class Message {
@@ -38,10 +37,6 @@ export class Message {
38
37
  const signature = Buffer.from(this.signature.slice(0, 128), "hex");
39
38
  const publicKey = Buffer.from(this.publicKey, "hex");
40
39
 
41
- // const r = signature.subarray(0, 32).readBigInt64BE();
42
- // const s = signature.subarray(32, 64).readBigInt64BE();
43
- // const v = Number(signature.subarray(64, 66).toString("hex"));
44
-
45
40
  return verify(signature, message, publicKey);
46
41
  }
47
42
 
@@ -28,13 +28,13 @@ export class TransactionUtils {
28
28
 
29
29
  const payload = Constants.EIP_1559_PREFIX + encoded.substring(2);
30
30
 
31
- return Buffer.from(payload);
31
+ return Buffer.from(payload, 'hex');
32
32
  }
33
33
 
34
34
  public static toHash(transaction: TransactionData, skipSignature: boolean = false): string {
35
35
  const encoding = this.toBuffer(transaction, skipSignature);
36
36
 
37
- return keccak256('0x' + encoding.toString('binary')).substring(2);
37
+ return keccak256('0x' + encoding.toString('hex')).substring(2);
38
38
  }
39
39
 
40
40
  public static getId(transaction: TransactionData): string {
@@ -16,7 +16,7 @@ function assertDeserialized(fixture: any, keys: string[]) {
16
16
  }
17
17
  }
18
18
 
19
- expect(transaction.serialize().toString('binary')).toEqual(fixture['serialized']);
19
+ expect(transaction.serialize().toString('hex')).toEqual(fixture['serialized']);
20
20
  expect(transaction.verify()).toBe(true);
21
21
 
22
22
  return transaction
@@ -5,5 +5,5 @@ import { Transfer } from "@/transactions/types/Transfer";
5
5
  it("should serialize a transfer transaction", () => {
6
6
  const transaction = new Transfer(fixtureTransfer.data);
7
7
 
8
- expect(fixtureTransfer["serialized"]).toEqual(transaction.serialize().toString("binary"));
8
+ expect(fixtureTransfer["serialized"]).toEqual(transaction.serialize().toString("hex"));
9
9
  });
@@ -26,7 +26,7 @@ it("should build a transaction", async () => {
26
26
  expect(transaction.data.s).toBe(fixture.data.s);
27
27
  expect(transaction.data.id).toBe(fixture.data.id);
28
28
 
29
- expect(transaction.serialize().toString("binary")).toEqual(fixture.serialized);
29
+ expect(transaction.serialize().toString("hex")).toEqual(fixture.serialized);
30
30
  expect(transaction.verify()).toBe(true);
31
31
  });
32
32
 
@@ -44,6 +44,6 @@ it("should sign a transaction", async () => {
44
44
  expect(transaction.data.s).toBe(fixture.data.s);
45
45
  expect(transaction.data.id).toBe(fixture.data.id);
46
46
 
47
- expect(transaction.serialize().toString("binary")).toEqual(fixture.serialized);
47
+ expect(transaction.serialize().toString("hex")).toEqual(fixture.serialized);
48
48
  expect(transaction.verify()).toBe(true);
49
49
  });
@@ -27,7 +27,7 @@ it("should build a transaction", async () => {
27
27
  expect(transaction.data.s).toBe(fixture.data.s);
28
28
  expect(transaction.data.id).toBe(fixture.data.id);
29
29
 
30
- expect(transaction.serialize().toString("binary")).toEqual(fixture.serialized);
30
+ expect(transaction.serialize().toString("hex")).toEqual(fixture.serialized);
31
31
  expect(transaction.verify()).toBe(true);
32
32
  });
33
33
 
@@ -45,7 +45,7 @@ it("should sign a transaction", async () => {
45
45
  expect(transaction.data.s).toBe(fixture.data.s);
46
46
  expect(transaction.data.id).toBe(fixture.data.id);
47
47
 
48
- expect(transaction.serialize().toString("binary")).toEqual(fixture.serialized);
48
+ expect(transaction.serialize().toString("hex")).toEqual(fixture.serialized);
49
49
  expect(transaction.verify()).toBe(true);
50
50
  });
51
51
 
@@ -70,7 +70,7 @@ it("should build a transaction with a single payment", async () => {
70
70
  expect(transaction.data.s).toBe(fixtureSingle.data.s);
71
71
  expect(transaction.data.id).toBe(fixtureSingle.data.id);
72
72
 
73
- expect(transaction.serialize().toString("binary")).toEqual(fixtureSingle.serialized);
73
+ expect(transaction.serialize().toString("hex")).toEqual(fixtureSingle.serialized);
74
74
  expect(transaction.verify()).toBe(true);
75
75
  });
76
76
 
@@ -94,6 +94,6 @@ it("should build a transaction with an empty payment", async () => {
94
94
  expect(transaction.data.s).toBe(fixtureEmpty.data.s);
95
95
  expect(transaction.data.id).toBe(fixtureEmpty.data.id);
96
96
 
97
- expect(transaction.serialize().toString("binary")).toEqual(fixtureEmpty.serialized);
97
+ expect(transaction.serialize().toString("hex")).toEqual(fixtureEmpty.serialized);
98
98
  expect(transaction.verify()).toBe(true);
99
99
  });
@@ -25,7 +25,7 @@ it("should build a transaction", async () => {
25
25
  expect(transaction.data.s).toBe(fixtureTransfer.data.s);
26
26
  expect(transaction.data.id).toBe(fixtureTransfer.data.id);
27
27
 
28
- expect(transaction.serialize().toString("binary")).toEqual(fixtureTransfer.serialized);
28
+ expect(transaction.serialize().toString("hex")).toEqual(fixtureTransfer.serialized);
29
29
  expect(transaction.verify()).toBe(true);
30
30
  });
31
31
 
@@ -43,7 +43,7 @@ it("should sign a transaction", async () => {
43
43
  expect(transaction.data.s).toBe(fixtureTransfer.data.s);
44
44
  expect(transaction.data.id).toBe(fixtureTransfer.data.id);
45
45
 
46
- expect(transaction.serialize().toString("binary")).toEqual(fixtureTransfer.serialized);
46
+ expect(transaction.serialize().toString("hex")).toEqual(fixtureTransfer.serialized);
47
47
  expect(transaction.verify()).toBe(true);
48
48
  });
49
49
 
@@ -68,6 +68,6 @@ it("should handle large amounts", async () => {
68
68
  expect(transaction.data.s).toBe(fixtureTransferLargeAmount.data.s);
69
69
  expect(transaction.data.id).toBe(fixtureTransferLargeAmount.data.id);
70
70
 
71
- expect(transaction.serialize().toString("binary")).toEqual(fixtureTransferLargeAmount.serialized);
71
+ expect(transaction.serialize().toString("hex")).toEqual(fixtureTransferLargeAmount.serialized);
72
72
  expect(transaction.verify()).toBe(true);
73
73
  });
@@ -24,7 +24,7 @@ it("should build a transaction", async () => {
24
24
  expect(transaction.data.s).toBe(fixture.data.s);
25
25
  expect(transaction.data.id).toBe(fixture.data.id);
26
26
 
27
- expect(transaction.serialize().toString("binary")).toEqual(fixture.serialized);
27
+ expect(transaction.serialize().toString("hex")).toEqual(fixture.serialized);
28
28
  expect(transaction.verify()).toBe(true);
29
29
  });
30
30
 
@@ -42,6 +42,6 @@ it("should sign a transaction", async () => {
42
42
  expect(transaction.data.s).toBe(fixture.data.s);
43
43
  expect(transaction.data.id).toBe(fixture.data.id);
44
44
 
45
- expect(transaction.serialize().toString("binary")).toEqual(fixture.serialized);
45
+ expect(transaction.serialize().toString("hex")).toEqual(fixture.serialized);
46
46
  expect(transaction.verify()).toBe(true);
47
47
  });