Commit Graph

116 Commits

Author SHA1 Message Date
Caleb Kniffen
38b385969b feat: remove Buffer support and bundle polyfill (#2526)
- Removes need for bundlers to polyfill the `Buffer` class. `UInt8Array` are used instead which are native to the browser and node.
- Reduces bundle size 7.1kb gzipped and eliminates 4 runtime dependencies: `base-x`, `base64-js`, `buffer`, and `ieee754`.

BREAKING CHANGE: All methods that previously took a `Buffer` now accept a `UInt8Array`.

---------

Co-authored-by: Jackson Mills <jmills@ripple.com>
2024-02-01 13:53:41 -06:00
Caleb Kniffen
e2433101cb test: run binary-codec tests in the browser (#2566)
- Convert tests to typescript
- Update type definitions causing errors in tests
  - `makeParser` to accept a `Buffer` in addition to `string`
  - `SerializedType` constructor allows not passing in a byte array
  - `Comparable` is now a generic type so that it allows `compareTo`
methods to take more that the type itself. Example: `Uint64.compareTo`
can accept `number`
- Update tests to use jasmine compatible functions
  - Switching from `test` to `it`.
  - Updated test checking if coretypes all implement SerializedType
  - Import fixtures directly instead of using `loadFixture` utility
- Remove importing of `buffer/` explicitly.  It was throwing off type
checking in tests.  Buffer is going away in a future PR anyway.
- Fixed `npm run clean` not clearing `.tsbuildinfo` files for keypairs
- Remove unused account-tx-transactions.db. It was likely used in the
past to test historical ledgers.
2024-02-01 13:53:40 -06:00
Caleb Kniffen
134924c395 feat: remove assert library as a testing dep (#2563)
Right now we have 5 testing library dependencies. This eliminates
`assert`. `jest`, `jasmine`, `chai` and `karma` are the remaining ones.
2024-02-01 13:53:40 -06:00
Caleb Kniffen
c5fc25efc2 release: 3.0.0-beta.0 (#2533) 2024-02-01 13:53:39 -06:00
Nicholas Dudfield
217b111ef2 feat: use @noble and @scure libraries for cryptography (#2273)
Switch to using `@noble/hashes`, `@noble/curves`, `@scure/base`,
`@scure/bip32`, and `@scure/bip39`. This replaces `crypto` polyfills
(such as `crypto-browserify`), `create-hash`, `elliptic`, `hash.js`,
`bn.js` (both versions), and their many dependencies.  This also means
there are 33 less dependencies downloaded when running a fresh
`npm install` and will make the project much easier to maintain.

This reduces the bundle size by 44% (82kb minified and gzipped) over
the current 3.0 branch as well as reducing the amount of configuration
required to bundle.

Closes #1814, #1817, #2272, and #2306

Co-authored-by: Caleb Kniffen <ckniffen@ripple.com>
2024-02-01 13:50:19 -06:00
Caleb Kniffen
5607320ce2 cleanup: remove dupe tests, update lock and docs (#2505)
- Remove tests from `ripple-keypairs` that exclusively tested
`rippled-address-codec`. The tests in `codec.test.ts` and
`xrp-codec.test.ts` are all present and accounted for in
`packages/ripple-address-codec/test/xrp-codec.test.ts`.
- Update `package-lock.json` after the rebase with main
- Remove references to `decimal.js` in the documentation
* add missing entry for `bignumber.js` to `ripple-binary-codec`

This will clean up the diff for #2273
2024-02-01 13:45:11 -06:00
Caleb Kniffen
83870acbfb fix: remove need to --force builds + cleanup (#2468)
This is done by properly deleting all build files.

Package-lock was due to it not reflecting the license of
@xrplf/secret-numbers.  This was fixed by running `npm i`.
2024-02-01 13:45:11 -06:00
Caleb Kniffen
328987a0a3 feat(deps): remove assert-browserify (#2389)
Use if statements and manually error throwing to save 20kb gzipped.

BREAKING CHANGE: If you were catching AssertionError you need to change to Error.
2024-02-01 13:43:55 -06:00
Caleb Kniffen
8caf2e45bb feat: remove decimal.js and big-integer (#2379)
Reduces the bundle size by 8% (41kb)

BigInteger is now well supported so the library is no longer needed.

BigNumber was already being used by xrpl and they had almost identical
interfaces as they are both based on Java.
2024-02-01 13:43:55 -06:00
Caleb Kniffen
30bbc3f837 feat: remove node 14 support (#2386) 2024-02-01 13:41:52 -06:00
Jackson Mills
99dd0eb44c Release xrpl.js 2.11.0 (#2591)
Update HISTORY.md + Run docgen
2023-11-30 15:27:12 -06:00
Jackson Mills
60b600faea docs: update keywords for all packages (#2502)
Update keywords for all packages to make the easier to find
2023-10-04 16:19:51 -05:00
Omar Khan
62cea624f8 2.12 release (#2488)
* update HISTORY

* docgen

* update HISTORY again

* update package.json files
2023-09-27 11:50:21 -04:00
Omar Khan
37fbc03584 2.11 release (#2442)
* update HISTORY

* update docgen

* update package versions
2023-08-24 13:44:29 -04:00
Caleb Kniffen
2192e11267 fix: source-maps find their designated source (#2435)
fix: source-maps find their designate source

We weren't including the `src` folder in the files published too npm.
This caused errors such as the following seen in the sandbox and by
users on discord.

```
WARNING in ./node_modules/xrpl/dist/npm/utils/xrpConversion.js
Module Warning (from ./node_modules/source-map-loader/dist/cjs.js):
Failed to parse source map from '/sandbox/node_modules/xrpl/src/utils/xrpConversion.ts' file: Error: ENOENT: no such file or directory, open '/sandbox/node_modules/xrpl/src/utils/xrpConversion.ts'
```
2023-08-15 10:37:05 -05:00
Jackson Mills
002ec77218 release: Update package.json files (#2425)
Update package.json files
2023-08-07 14:50:14 -07:00
pdp2121
5ec6729c61 release 2.9.1 (#2391) 2023-07-18 15:29:32 -05:00
Caleb Kniffen
c523a7c80b release: xrpl@2.9.0 and ripple-binary-codec@1.7.0 (#2380) 2023-07-12 16:52:06 -05:00
Jackson Mills
3791c6292c 2.8.0 release (#2343) 2023-06-13 14:15:08 -07:00
dependabot[bot]
7a89f8c63e build(deps): bump buffer from 5.6.0 to 6.0.3 (#2249) 2023-04-21 21:11:28 +00:00
Mayukha Vadari
be2aa32542 fix: don't run ripple-binary-codec tests on install (#2260)
fix rbc scripts
2023-04-06 13:03:23 -04:00
Jackson Mills
b3d3bc2f99 Release xrpl.js 2.7.0 (#2240) 2023-03-08 15:05:00 -08:00
justinr1234
5fe480ece4 feat: Jest Test Runner (#2170) 2023-02-03 17:03:07 -06:00
Caleb Kniffen
9df848fcc6 fix(build): Allow m1 macs to build binary-codec (#2109)
Switch from `run-script-os` to `copyfiles`. Using `copyfiles` is a more
ideal way to copy files in an os agnostic way.

Fixes #2092.
2022-10-12 12:35:33 -05:00
Omar Khan
aff6988f09 Release xrpl packages (#2028)
* update package and package-lock json

* update HISTORY files
2022-06-27 21:11:07 -04:00
Jackson Mills
4fddd8f41d Release xrpl packages (#2021)
* Update HISTORY.md for release
* Run docgen
2022-06-02 11:03:56 -07:00
Caleb Kniffen
3ed93aa19e Prepare release of xrpl@2.2.1 and ripple-address-codec@4.2.4 2022-04-21 17:10:44 -05:00
Jackson Mills
8ab4240f02 Lerna changes (#1968) 2022-04-19 10:16:39 -07:00
Omar Khan
9d1fdb412e Release ripple-binary-codec version 1.3.2 (#1922)
* update package.json & package-lock.json

* update package

Co-authored-by: Elliot Lee <github.public@intelliot.com>
2022-02-03 12:04:38 -05:00
Elliot Lee
e4c7923bf3 Release ripple-binary-codec@1.3.1 2022-01-28 14:36:23 -08:00
Elliot Lee
fa3ae25c71 package.json - fix homepage link (#1905) 2022-01-27 12:39:27 -08:00
Jackson Mills
388c4a6124 Update versions (#1879) 2021-12-17 16:48:04 -08:00
Mayukha Vadari
78d9b11794 release: release new versions (#1859) 2021-12-02 14:59:58 -05:00
Jackson Mills
7c6230b18e Lerna patch (#1852) 2021-12-01 15:48:07 -08:00
Omar Khan
8bb248ca9e remove engines requirement for npm from individual packages (#1848)
* remove engines package.json entry from individual packages

* only remove npm from engines entry
2021-12-01 16:33:05 -05:00
Mayukha Vadari
fc101c6733 fix: add workaround for rippled UNLModify encoding bug (#1830)
* initial patch

* clean up

* make ts happy

* fix typing

* respond to comments

* Revert "respond to comments"

This reverts commit 689768bbf1.

* Publish

 - ripple-address-codec@4.2.1-beta.0
 - ripple-binary-codec@1.2.1-beta.0
 - ripple-keypairs@1.1.1-beta.0
 - xrpl@2.0.3-beta.0

* add helper comments

Co-authored-by: Nathan Nichols <natenichols@cox.net>
2021-11-30 17:16:03 -05:00
Jackson Mills
89b8833610 Fix Windows contributors being unable to build and test the xrpl mono repo (#1822)
* Let ripple-binary-codec to build on windows & nix

Co-authored-by: Justintime <justinthenicholasoftime@protonmail.com>
2021-11-23 12:29:06 -08:00
ledhed2222
5da0db89f4 fix GitHub pages (#1802)
* Publish

 - ripple-address-codec@4.2.0
 - ripple-binary-codec@1.2.0
 - ripple-keypairs@1.1.0
 - xrpl@2.0.2

* moves back git hub pages docs to the top
2021-11-15 20:06:47 -08:00
Greg Weisbrod
0d6e723a7e fix inter-repo dependencies and remove now-redundant package-locks within packages
fix linter again
2021-11-08 18:19:45 -05:00
Greg Weisbrod
43b55ab598 run 'npx lerna link convert' to hoist common devDependencies to top 2021-11-08 18:19:45 -05:00
Greg Weisbrod
99c817ca8a fix all errors resulting from running 'npx lerna bootstrap', hoist github actions to top, hoist vscode config to top 2021-11-08 18:19:44 -05:00
ledhed2222
869e6e2553 migrate from yarn to npm (#148)
* migrate from yarn to npm

* fix unrelated prettier error
2021-10-13 16:11:55 -04:00
Nathan Nichols
5fb61c470e chore: prepare for 1.1.3 release (#136)
* chore: prepare for 1.1.3 release
2021-06-14 09:06:37 -07:00
Nathan Nichols
c354c392a9 build: Release 1.1.2 (#123)
* build: Release 1.1.2
2021-03-10 16:53:47 -06:00
Nathan Nichols
9bd9ebfc09 chore: update HISTORY.md and version (#119) 2021-02-12 16:03:41 -06:00
Elliot Lee
c29de82e86 Release 1.1.0 2020-12-03 20:40:39 -08:00
Nathan Nichols
5a711afb7e fix: polyfill Buffer for browser compatibility (#112)
* Polyfill with "buffer" and "assert" for browser environments
* Instead of relying on webpack to make this library browser compatible, we now use a buffer library that provides a polyfill when used in the browser
2020-12-03 21:38:57 -06:00
Nathan Nichols
b43e79a9af Browser Compatibility Updates (#107)
* BigInt -> big-integer to support older browsers
* Buffer read/write BigUInt64 removed for browser compatibility.
2020-10-22 15:36:45 -05:00
Nathan Nichols
b197897227 Encode any 3 character ASCII currency code (#106)
* Encode all 3 character ASCII codes
2020-09-14 13:09:38 -05:00
Nathan Nichols
a5559825ae Filter undefined values (#105)
filter out fields with undefined values
2020-09-08 17:17:14 -05:00