All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add optional
destroy
method toKeyring
type (#108)
- Strip
__proto__
andconstructor
JSON properties ingetSafeJson
(#105)
- Fix JSON validation security issue (#103)
- This adds a new function
getSafeJson
which validates and returns sanitized JSON.
- This adds a new function
- The
Keyring
exposes a new optional methodinit
(#99)
- Bump
@ethereumjs/tx
to4.1.2
to address runtime compatibility issues (#100)
- Keep original type when using
hasProperty
if defined (#94)
- BREAKING: Update
Keyring
type (#89)- The
Keyring
class now uses the data typesTypedTransaction
andTxData
from@ethereumjs/tx
(v4.1.1
). - The
Keyring
now exposes a new optional method calledgenerateRandomMnemonic
.
- The
- Export new modules (
keyring
,transaction-types
, andencryption-types
) (#86) - BREAKING: Improve JSON validation (#85)
- Fixes edge cases in our JSON validation logic.
- The previous function used for JSON validation (
validateJsonAndGetSize
) was removed.- The
isValidJson
function now uses the new JSON validation logic. - To get the size of a JSON value, you can use the
getJsonSize
function.
- The
- Add
Keyring
types (#74)- New data types added. These are
Keyring
,Transaction
(LegacyTransaction
,EIP2930Transaction
,EIP1559Transaction
),SignedTransaction
,Signature
, andEip1024EncryptedData
.
- New data types added. These are
- Improve the
hasProperty
function (#79, #80)- This function now acts as a type guard, informing TypeScript that the property exists.
- The function is now compatible with more types of objects, such as Errors and class instances.
- Bump
superstruct
to^1.0.3
(#71)
- JSON-RPC types now have a default generic
Params
value (#54)
- JSON-RPC parameters are now properly cast to Json upon validation (#51)
- Add more assertion utils (#49)
- Add JSON-RPC error validation functions (#46)
- Add convenience function for creating a
DataView
(#45)
- Update JSON validation logic (#47)
- Validation would previously allow for
undefined
values, which is not a standard JSON type
- Validation would previously allow for
- Add
PendingJsonRpcResponse
type (#43) - Add utils for converting between numbers and hex (#41)
- Add coercion utils (#38)
- Make JSON-RPC error
data
property optional (#31) - Don't include test files in dist folder (#35)
- Fix typo in README (#28)
- Allow omitting JSON-RPC params when params can be undefined (#29)
- Bump
superstruct
to ^0.16.5 (#26)superstruct
s 0.16.1 through 0.16.4 were not compatible with Node 14; this restores that compatibility.
- Promote
@types/debug
from development dependencies to production dependencies (#23)
- BREAKING: Improve types and type validation (#19)
- Various type changes have been made that might be breaking:
- The
JsonRpcRequest
andJsonRpcNotification
types now include a generic constraint requiring that theParams
type extends theJsonRpcParams
type. - The
JsonRpcSuccess
andJsonRpcResponse
types now include a generic contraint for theResult
type, requiring that it extends theJson
type. - Various validation functions now accept
unknown
parameters rather than specific types. This should not be breaking except that it may affect type inference for the parameters passed in.
- The
- New JSON-related functions have been added:
assertIsJsonRpcResponse
isJsonRpcResponse
InferWithParams
JsonRpcParams
- New JSON Struct types have been added:
JsonRpcErrorStruct
JsonRpcFailureStruct
JsonRpcIdStruct
JsonRpcParamsStruct
JsonRpcRequestStruct
JsonRpcResponseStruct
JsonRpcSuccessStruct
JsonRpcVersionStruct
JsonStruct
- Various type changes have been made that might be breaking:
- Add JSON storage validation and limit utilities (#14)
- Adds a new function
validateJsonAndGetSize
.
- Adds a new function
- Add more JSON utils (#8)
- BREAKING: Refactor and expand time utils (#9)
- Adds a new function,
inMilliseconds
, and moves the time constants into a TypeScriptenum
.
- Adds a new function,
- Initial release