Compare commits

...

25 Commits
1.9.4 ... 1.9.6

Author SHA1 Message Date
Elliot Lee
1e86ba0aa0 release: 1.9.6 (#1436) 2021-06-30 23:34:18 -07:00
Elliot Lee
cabd4cc88d fix: allow multiple settings at once (#1435) 2021-06-30 23:27:04 -07:00
Elliot Lee
28d2fc2a3a fix #999: use 'current' ledger when preparing txs (#1429) 2021-06-07 15:34:02 -07:00
dependabot[bot]
42db44fb59 build(deps-dev): bump mocha from 7.2.0 to 8.4.0 (#1414)
Bumps [mocha](https://github.com/mochajs/mocha) from 7.2.0 to 8.4.0.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v7.2.0...v8.4.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-07 12:54:00 -07:00
dependabot[bot]
ad0165cf22 build(deps-dev): bump prettier from 2.2.1 to 2.3.0 (#1430)
Bumps [prettier](https://github.com/prettier/prettier) from 2.2.1 to 2.3.0.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.2.1...2.3.0)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-07 12:42:15 -07:00
dependabot[bot]
708d8c0bb5 build(deps): bump ripple-address-codec from 4.1.2 to 4.1.3 (#1432)
Bumps [ripple-address-codec](https://github.com/ripple/ripple-address-codec) from 4.1.2 to 4.1.3.
- [Release notes](https://github.com/ripple/ripple-address-codec/releases)
- [Changelog](https://github.com/ripple/ripple-address-codec/blob/master/HISTORY.md)
- [Commits](https://github.com/ripple/ripple-address-codec/compare/4.1.2...4.1.3)

---
updated-dependencies:
- dependency-name: ripple-address-codec
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-07 12:42:02 -07:00
Elliot Lee
5074441b3b release: 1.9.5 2021-06-01 16:25:38 -07:00
Antonio Campos
a1edc0b2d5 fix #1113: return promise inside catch block of reconnect to propagate promise (#1418) 2021-06-01 15:58:52 -07:00
dependabot[bot]
3afdc1fca0 build(deps): bump @types/lodash from 4.14.168 to 4.14.170 (#1427)
Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.14.168 to 4.14.170.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-01 15:58:25 -07:00
dependabot[bot]
6b7cdfc413 build(deps-dev): bump @types/node from 15.0.1 to 15.6.1 (#1426)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 15.0.1 to 15.6.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-01 15:58:12 -07:00
dependabot[bot]
95e1314eb9 build(deps-dev): bump webpack from 5.36.2 to 5.38.1 (#1425)
Bumps [webpack](https://github.com/webpack/webpack) from 5.36.2 to 5.38.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.36.2...v5.38.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-01 15:58:01 -07:00
dependabot[bot]
ad0cc209af build(deps-dev): bump webpack-cli from 4.6.0 to 4.7.0 (#1424)
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 4.6.0 to 4.7.0.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/webpack-cli@4.6.0...webpack-cli@4.7.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-01 15:57:46 -07:00
dependabot[bot]
dd11ce480d build(deps-dev): bump webpack-bundle-analyzer from 4.4.1 to 4.4.2 (#1423)
Bumps [webpack-bundle-analyzer](https://github.com/webpack-contrib/webpack-bundle-analyzer) from 4.4.1 to 4.4.2.
- [Release notes](https://github.com/webpack-contrib/webpack-bundle-analyzer/releases)
- [Changelog](https://github.com/webpack-contrib/webpack-bundle-analyzer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/webpack-bundle-analyzer/compare/v4.4.1...v4.4.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-01 15:57:33 -07:00
dependabot[bot]
10ace18d27 build(deps): bump @types/ws from 7.4.2 to 7.4.4 (#1422)
Bumps [@types/ws](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/ws) from 7.4.2 to 7.4.4.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/ws)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-01 15:57:20 -07:00
dependabot[bot]
e8ca25f792 build(deps): bump ws from 7.4.5 to 7.4.6 (#1421)
Bumps [ws](https://github.com/websockets/ws) from 7.4.5 to 7.4.6.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.4.5...7.4.6)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-01 15:57:04 -07:00
dependabot[bot]
95d626f69e build(deps): bump browserslist from 4.16.3 to 4.16.6 (#1419)
Bumps [browserslist](https://github.com/browserslist/browserslist) from 4.16.3 to 4.16.6.
- [Release notes](https://github.com/browserslist/browserslist/releases)
- [Changelog](https://github.com/browserslist/browserslist/blob/main/CHANGELOG.md)
- [Commits](https://github.com/browserslist/browserslist/compare/4.16.3...4.16.6)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-01 15:56:44 -07:00
Antonio Campos
3fdc56ab90 fix #1210: update mocha to use RC file config (#1417) 2021-06-01 15:56:07 -07:00
dependabot-preview[bot]
bb44598e32 build(deps-dev): bump assert-diff from 3.0.1 to 3.0.2 (#1371)
Bumps [assert-diff](https://github.com/pihvi/assert-diff) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/pihvi/assert-diff/releases)
- [Commits](https://github.com/pihvi/assert-diff/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-06-01 08:23:39 -07:00
Lathan
3c86b04fee docs: add ODL monitors (#1408)
* new additions ODL monitors

utility scan and xrpl-rosetta https://github.com/mouradski/xrapid_alert and https://github.com/lathanbritz/xrpl-rosetta

* Update APPLICATIONS.md

Co-authored-by: Elliot Lee <github.public@intelliot.com>
2021-05-11 18:06:13 -07:00
dependabot[bot]
7ee87f2625 build(deps): bump ws from 7.4.4 to 7.4.5 (#1409)
Bumps [ws](https://github.com/websockets/ws) from 7.4.4 to 7.4.5.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.4.4...7.4.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-11 18:05:44 -07:00
dependabot[bot]
2f03347dda build(deps-dev): bump webpack-bundle-analyzer from 4.4.0 to 4.4.1 (#1410)
Bumps [webpack-bundle-analyzer](https://github.com/webpack-contrib/webpack-bundle-analyzer) from 4.4.0 to 4.4.1.
- [Release notes](https://github.com/webpack-contrib/webpack-bundle-analyzer/releases)
- [Changelog](https://github.com/webpack-contrib/webpack-bundle-analyzer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/webpack-bundle-analyzer/compare/v4.4.0...v4.4.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-11 18:05:33 -07:00
dependabot[bot]
bbb19dce9f build(deps): bump @types/ws from 7.4.0 to 7.4.2 (#1411)
Bumps [@types/ws](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/ws) from 7.4.0 to 7.4.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/ws)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-11 18:05:24 -07:00
Elliot Lee
c8b0035897 fix: prevent getFee from returning NaN from Reporting Mode (#1401)
When using a rippled server in Reporting Mode, the server_info response does not have a load_factor property.

https://xrpl.org/rippled-server-modes.html#reporting-mode

https://github.com/ripple/rippled/issues/3812

Now, when load_factor is missing, we default to a load_factor of 1.

Fix #1398
2021-05-10 13:56:31 -07:00
dependabot[bot]
67d1b5278d build(deps-dev): bump webpack from 5.25.1 to 5.36.2 (#1412)
Bumps [webpack](https://github.com/webpack/webpack) from 5.25.1 to 5.36.2.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.25.1...v5.36.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-10 13:54:23 -07:00
dependabot[bot]
43e444b47d build(deps-dev): bump @types/node from 14.14.34 to 15.0.1 (#1413)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.14.34 to 15.0.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-10 13:54:12 -07:00
14 changed files with 473 additions and 339 deletions

View File

@@ -20,7 +20,7 @@ Warning: Use at your own risk.
Exchange allowing clients to buy and sell XRP, based in Mexico.
## Data and visualizations
## Explorers
- **[xrpintel - XRP Intelligence](https://xrpintel.com/)**
@@ -58,10 +58,20 @@ Warning: Use at your own risk.
XRP Ledger explorer, API, metrics, and analytics using a graph database that is synchronized live with the XRPL.
## Data monitoring
- **[zerptracker](https://zerptracker.com)**
Monitor the XRPL using powerful JSONPath expressions, and receive notifications via email, SMS, webhooks, and more.
- **[Utility-Scan](https://utility-scan.com)**
Attempts to detect RippleNet on-demand liquidity (ODL) transactions through known fiat corridors and report these transactions in real time.
- **[XRPL Rosetta](https://xrpl-rosetta-oepox.ondigitalocean.app)**
3D Globe written in three.js connected to a Node.js websocket server that is listening to exchanges and the XRPL. The visualization aims to show trading, ODL, and liquidity at exchanges, intra-exchange volume, and flows.
## Wallets and wallet tools
- **[XUMM](https://xumm.app/)**

View File

@@ -2,6 +2,40 @@
Subscribe to [the **ripple-lib-announce** mailing list](https://groups.google.com/forum/#!forum/ripple-lib-announce) for release announcements. We recommend that ripple-lib users stay up-to-date with the latest stable release.
## 1.9.6 (2021-07-01)
* Bug fixes
* Use 'current' ledger when preparing txs (#1429) (#999)
* Allow multiple settings at once (#1435)
* Dependencies
* ripple-address-codec, prettier, mocha
The SHA-256 checksums for the browser version of this release can be found below.
```
% shasum -a 256 build/*
cac7f6f3be93efbd61dc5fd527c40f0d1baec06f2f9faa64e9eeb191cc85a710 build/ripple-latest-min.js
fc17a5572001d814ea6b81aa701fcb66882ec031c68afb769a8ea8b71c6529a6 build/ripple-latest-min.js.LICENSE.txt
5737483e940dca8b73768d8a1de8217c7e921a9cebaadef02d2b16867658f331 build/ripple-latest.js
```
## 1.9.5 (2021-06-01)
* Bug fixes
* Prevent getFee from returning NaN from Reporting Mode (#1401) (#1398)
* Return promise inside catch block of reconnect to propagate promise (#1418) (#1113) (thanks @camposfyi)
* Internal
* Update mocha to use RC file config (#1417) (#1210) (thanks @camposfyi)
* Dependencies
* @types/ws, ws, browserslist, @types/lodash
The SHA-256 checksums for the browser version of this release can be found below.
```
% shasum -a 256 build/*
fcdc4aa1e1df7cb788b68f3d036e168aa64f9e818f441b99fef62d4571c0387d build/ripple-latest-min.js
fc17a5572001d814ea6b81aa701fcb66882ec031c68afb769a8ea8b71c6529a6 build/ripple-latest-min.js.LICENSE.txt
dfb7a92c4156fb3ee367254b5ea0935cda741cd3b5c36cdca695e7d89f88605e build/ripple-latest.js
```
## 1.9.4 (2021-04-18)
* Add memos support for all transaction types for getTransactions (#1353, #1397)

View File

@@ -1,6 +1,6 @@
{
"name": "ripple-lib",
"version": "1.9.4",
"version": "1.9.6",
"license": "ISC",
"description": "A TypeScript/JavaScript API for interacting with the XRP Ledger in Node.js and the browser",
"files": [
@@ -38,7 +38,7 @@
},
"devDependencies": {
"@types/mocha": "^8.2.1",
"@types/node": "^14.0.1",
"@types/node": "^15.0.1",
"@typescript-eslint/eslint-plugin": "^2.3.3",
"@typescript-eslint/parser": "^2.27.0",
"assert": "^2.0.0",
@@ -50,7 +50,7 @@
"eslint": "^6.5.1",
"eventemitter2": "^6.0.0",
"json-schema-to-markdown-table": "^0.4.0",
"mocha": "^7",
"mocha": "^8",
"nyc": "^15",
"prettier": "^2.0.5",
"process": "^0.11.10",
@@ -73,7 +73,7 @@
"doctoc": "doctoc docs/index.md --title '# RippleAPI Reference' --github --maxlevel 2",
"docgen": "node --harmony scripts/build_docs.js",
"prepublish": "yarn clean && yarn build",
"test": "TS_NODE_PROJECT=src/tsconfig.json nyc mocha --exit",
"test": "TS_NODE_PROJECT=src/tsconfig.json nyc mocha --config=test/.mocharc.json --exit",
"test:watch": "TS_NODE_PROJECT=src/tsconfig.json mocha --watch --reporter dot",
"format": "prettier --write '{src,test}/**/*.ts'",
"lint": "eslint 'src/**/*.ts' 'test/*-test.{ts,js}'",

View File

@@ -390,7 +390,7 @@ export class Connection extends EventEmitter {
*/
private _heartbeat = () => {
return this.request({command: 'ping'}).catch(() => {
this.reconnect().catch((error) => {
return this.reconnect().catch((error) => {
this.emit('error', 'reconnect', error.message, error)
})
})

View File

@@ -71,6 +71,10 @@ async function getFee(this: RippleAPI, cushion?: number): Promise<string> {
const serverInfo = (await this.request('server_info')).info
const baseFeeXrp = new BigNumber(serverInfo.validated_ledger.base_fee_xrp)
if (serverInfo.load_factor === undefined) {
// https://github.com/ripple/rippled/issues/3812#issuecomment-816871100
serverInfo.load_factor = 1
}
let fee = baseFeeXrp.times(serverInfo.load_factor).times(cushion)
// Cap fee to `this._maxFeeXRP`

View File

@@ -17,9 +17,9 @@ function setTransactionFlags(
txJSON: TransactionJSON,
values: FormattedSettings
) {
const keys = Object.keys(values)
const keys = Object.keys(values).filter((key) => AccountFlagIndices[key] !== undefined)
assert.ok(
keys.length === 1,
keys.length <= 1,
'ERROR: can only set one setting per transaction'
)
const flagName = keys[0]

View File

@@ -346,9 +346,9 @@ function prepareTransaction(
}
try {
// Consider requesting from the 'current' ledger (instead of 'validated').
const response = await api.request('account_info', {
account: classicAccount
account: classicAccount,
ledger_index: 'current' // Fix #999
})
newTxJSON.Sequence = response.account_data.Sequence
return Promise.resolve()

21
test/.mocharc.json Normal file
View File

@@ -0,0 +1,21 @@
{
"diff": true,
"spec": ["./test/*.ts"],
"extension": ["ts"],
"package": "../package.json",
"require": "ts-node/register",
"reporter": "spec",
"slow": 500,
"timeout": 5000,
"recursive": true,
"file": [],
"ui": "bdd",
"watch-files": [
"src/**/*.ts",
"test/**/*.ts"
],
"watch-ignore": [
"test/node_modules/**/*",
"test/vendor/**/*"
]
}

View File

@@ -51,5 +51,14 @@ export default <TestSuite>{
api._feeCushion = 0.9
const fee = await api.getFee()
assert.strictEqual(fee, '0.000009')
},
'getFee reporting': async (api, address) => {
api.connection.request({
command: 'config',
data: {reporting: true}
})
const fee = await api.getFee()
assert.strictEqual(fee, '0.000012')
}
}

View File

@@ -50,7 +50,8 @@ module.exports = {
normal: require('./server-info'),
noValidated: require('./server-info-no-validated'),
syncing: require('./server-info-syncing'),
error: require('./server-info-error')
error: require('./server-info-error'),
reporting: require('./server-info-reporting')
},
path_find: {
generate: require('./path-find'),

View File

@@ -0,0 +1,82 @@
{
"id": 0,
"status": "success",
"type": "response",
"result": {
"info": {
"build_version": "1.7.0",
"complete_ledgers": "32570-62713383",
"hostid": "DUG",
"io_latency_ms": 1,
"last_close": {
"converge_time_s": 0,
"proposers": 0
},
"pubkey_node": "n9Krd83Ab8rW29LhNZPNQ3EFYBs59V1k7sGu1WizLNogrCEi56kF",
"published_ledger": "none",
"reporting": {
"etl_sources": [
{
"connected": true,
"grpc_port": "50051",
"ip": "10.30.32.34",
"last_message_arrival_time": "2021-Apr-06 10:34:33.171053 UTC",
"validated_ledgers_range": "61506690-62713383",
"websocket_port": "51233"
},
{
"connected": true,
"grpc_port": "50051",
"ip": "10.30.32.170",
"last_message_arrival_time": "2021-Apr-06 10:34:33.172233 UTC",
"validated_ledgers_range": "61916861-62713383",
"websocket_port": "51233"
}
],
"is_writer": true,
"last_publish_time": "2021-Apr-06 10:34:31.612887 UTC"
},
"server_state": "full",
"server_state_duration_us": "649088585088",
"state_accounting": {
"connected": {
"duration_us": "0",
"transitions": 0
},
"disconnected": {
"duration_us": "34471",
"transitions": 1
},
"full": {
"duration_us": "649088585088",
"transitions": 1
},
"syncing": {
"duration_us": "0",
"transitions": 0
},
"tracking": {
"duration_us": "0",
"transitions": 0
}
},
"time": "2021-Apr-06 10:34:33.293823 UTC",
"uptime": 649092,
"validated_ledger": {
"age": 3,
"base_fee_xrp": 1e-05,
"hash": "F04E9B08596F86DEF1F55FA29380C1ECC04079DA0A9539FE60E85ADC092C292A",
"reserve_base_xrp": 20,
"reserve_inc_xrp": 5,
"seq": 62713383
},
"validation_quorum": 1
},
"warnings": [
{
"id": 1004,
"message": "This is a reporting server. The default behavior of a reporting server is to only return validated data. If you are looking for not yet validated data, include \"ledger_index : current\" in your request, which will cause this server to forward the request to a p2p node. If the forward is successful the response will include \"forwarded\" : \"true\""
}
]
}
}

View File

@@ -1,6 +0,0 @@
--reporter spec
--timeout 5000
--slow 500
--require ts-node/register
--watch-extensions ts
./test/*.{ts,js}

View File

@@ -224,6 +224,8 @@ export function createMockRippled(port) {
}
}
conn.send(createResponse(request, response))
} else if (conn.config.reporting) {
conn.send(createResponse(request, fixtures.server_info.reporting))
} else if (conn.config.returnErrorOnServerInfo) {
conn.send(createResponse(request, fixtures.server_info.error))
} else if (conn.config.disconnectOnServerInfo) {

621
yarn.lock

File diff suppressed because it is too large Load Diff