Commit Graph

241 Commits

Author SHA1 Message Date
Jackson Mills
c401f703c7 Signer (#1573)
Create Signer class to allow for offline signing, multisigning and signing authorizeChannel requests.
2021-10-04 14:10:12 -04:00
Omar Khan
04dd65af38 implement Autofill Transaction (#1574)
Implements autofill() and setTransactionFlagsToNumber() to allow a Client to autofill fields in a Transaction.
2021-10-04 14:10:12 -04:00
Mayukha Vadari
a996fafe79 Lints src/common (#1595)
* lint errors (and remove unused error types)

* lint fee

* lint index

* lint ecdsa

* fix tests

* remove address tests from getFee

* fix more tests

* fix tests

* respond to comments
2021-10-04 14:10:11 -04:00
Nathan Nichols
e200de3073 Adds @xrplf prettier config (#1598)
* build: new prettier config
2021-10-04 14:10:11 -04:00
Mayukha Vadari
8c5bc22317 Lints src/client (#1577)
* lint backoff

* lint wsWrapper

* remove rangeset - not used

* split out connection.ts classes

* lint requestManager

* lint connectionManager

* lint most of connection

* fix most of client

* lint broadcastClient

* resolve more linter issues

* resolve magic numbers

* clean up more linting

* resolve rest of issues

* fix tests

* fix browser tests

* fix tests after rebase

* respond to comments

* fix dependency cycles
2021-10-04 14:10:11 -04:00
Mayukha Vadari
aa6cef520c Removes jsonschemas (#1593)
* remove jsonschemas stuff

* fix ts issues

* fix tests

* remove package

* remove scripts

* replace isValidAddress
2021-10-04 14:10:11 -04:00
Mayukha Vadari
b53bc2bc97 Lints src/models (#1572)
* resolve src/models/methods

* PaymentTransaction => Payment, remove empty returns

* fix common, method signatures

* fix checkCash

* handle complexity complaints

* fix jsdocs

* handle magic numbers

* finish models/transactions

* fix models/utils

* fix models/ledger

* fix ts issues

* fix tests

* fix modifiedoffercreatetransaction

* remove comments, fix additional TODO
2021-10-04 14:10:11 -04:00
Nathan Nichols
8b95ee5fab build: Initial linting setup (#1560)
* sets up linting config and runs `yarn lint --fix` once, so that all changes will show up correctly in future PRs.

* Note that there are still a lot of linter errors.
2021-10-04 14:10:10 -04:00
Mayukha Vadari
12cfed5c17 refactor: clean up Client and associated files (#1556)
* remove _PRIVATE

* make requestAll public

* un-type connection.request

* fix lodash imports

* add comments

* Rename files to camelCase
2021-10-04 14:10:10 -04:00
Jackson Mills
da9feffada Remove deprecated functions from api.ts (aka client.ts) (#1534)
* Removed deprecated functions from client.ts

* Renamed files to be camelCase

* Created top-level utils folder and tied all sub-references to it

* Grouped tests for those utils into their own section

Co-authored-by: Nathan Nichols <natenichols@cox.net>
2021-10-04 14:10:09 -04:00
Mayukha Vadari
0b08de5956 Removes methods that were just rippled wrappers (#1550)
* remove getAccountInfo

* remove getAccountObjects

* remove getBalanceSheet (gateway_balances)

* remove getLedger

* remove getOrders (account_orders)

* remove getPaymentChannel (ledger_entry)

* remove getTransaction(s) (tx/account_tx)

* remove getSettings (account_info)

* remove getServerInfo (server_info)

* fix integ tests

* remove submit (also deprecated)

* fix integ tests

* add TODO
2021-10-04 14:10:09 -04:00
Mayukha Vadari
f49b9d4b0e Rewrite XrplClient.request and general cleanup (#1519)
* first attempt at overloading

* fix TS issues

* improve connection typing

* more cleanup

* edit all ledger files

* more renames

* fix all other request calls

* clean up serverinfo

* fixes more request calls

* remove old legacy browser stuff

* remove unused types

* remove exports from objects

* add type to method signatures

* add ledger requests

* fix most tests

* comment out formatBidsAndAsks

* fix proxy test

* comment out failing tests

* move client-related files into client

* add payment channel requests

* fix imports

* remove finished TODOs

* fix tests

* fix integ tests

* remove exported types

* better ci
2021-10-04 14:10:09 -04:00
Mayukha Vadari
73109295b4 Rename RippleAPI client to Client (#1520)
* rename RippleAPI -> XrplClient

* more renames

* move API stuff to client folder

* rename all api -> client

* fix tests

* make tests run

* fix integ tests

* fix urls

* fix merge issues

* XrplClient -> Client

* fix merge issues

* rename xrpl-client npm symlink to xrpl-local
2021-10-04 14:10:08 -04:00
Omar Khan
c431e70900 define Wallet class (#1509)
* define Wallet class
- Wallet class is a utility for deriving a wallet composed of a keypair (publicKey/privateKey).
- A wallet can be derived from either a seed, mnemnoic, or entropy (array of random numbers).
- It provides functionality to sign/verify transactions offline.
2021-10-04 14:10:08 -04:00
Nathan Nichols
decc395e5b docs: export and document asf Flags (#1525)
* docs: export and document asf Flags
2021-08-12 11:30:26 -07:00
Jackson Mills
8b79fe6ba1 Update sign docs with more info about keypairs (#1523)
* Add links to how to derive keypairs and examples of keypairs to the 'sign' docs
2021-08-11 13:01:53 -07:00
Florent
69113de552 Generate faucet wallet Testnet and Devnet (#1497)
* generate faucet wallet

* updated comments

* added example in documentation

* updated documentation

* Added xprl.org link in docs

* updated code snippet

* Made changes from comments

* new changes from comments

* yarn.lock

* removed axios and use https.request

* updated webpack to include http and https fallback

* fixed files formatting

* small fixes

* Fix typo for Testnet

Co-authored-by: Elliot Lee <github.public@intelliot.com>

Co-authored-by: Elliot Lee <github.public@intelliot.com>
2021-08-10 15:20:43 +08:00
Nathan Nichols
d9a42c8669 Allow XAddress Issuers (#1471)
* feat: Allow clients to use XAddresses for issuers
2021-07-30 13:16:01 -05:00
Mayukha Vadari
6e0fff2ad6 Reduce dependencies on lodash (#1467)
* assign -> Object.assign

* replace isundefined

* remove forEach

* remove some

* remove reduce

* remove keys

* remove map

* remove includes

* remove filter

* remove last

* remove isstring

* remove every

* remove rearg

* remove indexOf

* remove values

* remove startswith

* remove first and pick

* build smaller lodash

* remove lodash.isequal package

* add lodash-cli dev dependency

* add lodash script

* test fix

* Revert "build smaller lodash" This reverts commit 979446e57f60b29cb5d377b54efe91cfbeae0707.

* upgrade npm

* change ===/!== undefined to ==/!= null
2021-07-29 20:18:08 -04:00
Rome Reginelli
4e49b6a99c docs: edit style and update old URLs (#1420)
Use example.com instead of ripple.com

Co-authored-by: Elliot Lee <github.public@intelliot.com>
2021-07-27 16:15:56 -07:00
Elliot Lee
aa081a4348 refactor!: remove deprecated ledger fields (#1160)
Per https://github.com/ripple/rippled/issues/3214

The following fields are deprecated and may be removed without further notice: accepted, hash (use ledger_hash instead), seqNum (use ledger_index instead), totalCoins (use total_coins instead).
2021-07-26 16:10:55 -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
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
elmurci
650d722609 Fix #1353: add memos support for multiple transaction types in getTransactions (#1397)
* fix(#1353): adds memos support for the following transaction types in `getTransactions`:

- AccountDelete
- OfferCreate
- OfferCancel
- CheckCancel
- CheckCash
- CheckCreate
- DepositPreauth
- SetFee
- PaymentChannelFund
- PaymentChannelClaim
- PaymentChannelCreate
- TicketCreate
2021-04-08 11:46:54 +02:00
Elliot Lee
965dc4bd87 fix: allow connectionTimeout option to be customized (#1355)
- Ref #1044
- Fix #1174
- Fix #1196
2021-02-11 23:55:33 -08:00
Elliot Lee
5db1f5668c feat(types): add LedgerClosedEvent and export more types (#1333)
- Export AccountInfoResponse and other types
2020-11-23 19:58:54 -08:00
Rome Reginelli
dd4c6a0353 Improve descriptions of get-ledger response time fields. (#1326) 2020-11-23 19:58:54 -08:00
Javi
1c1a3fa583 fix(refactor): rename prepareTicket to prepareTicketCreate (https://github.com/ripple/ripple-lib/pull/1324#discussion_r519027049) 2020-11-08 09:53:17 +01:00
Javi
c985838cdd fix(docs): Update docs 2020-11-06 11:35:10 +01:00
Javi
81dfd99642 fix(docs): Update docs 2020-11-06 11:23:14 +01:00
Javi
9f6fa6a4fd fix: sequence 0 check, lint and format 2020-11-06 10:58:21 +01:00
Javi
c7e08378ac feat(tickets): first commit, preparePayment and prepareTicket 2020-11-05 12:41:54 +01:00
southbite
d96b0d3986 Clear awaiting response promises when handled (#1302)
* clearing of awaiting response promises when response handled

* Apply suggestions from code review

Co-authored-by: Elliot Lee <github.public@intelliot.com>
2020-09-28 12:57:01 -07:00
AGallouin
05411527ee Add failHard (fail_hard) option in submit method (#1029)
See https://xrpl.org/submit.html

Co-authored-by: Elliot Lee <github.public@intelliot.com>
2020-04-28 14:32:25 -07:00
Elliot Lee
3c13da66b3 Export hashing functions (#1275)
The now-deprecated ripple-hashes library provided a number of hash
functions for users to compute the hashes/IDs for various XRP Ledger
objects:

* Transactions (to generate transaction hashes, also known as IDs)
* Transaction signing hashes (to sign transactions)
* Ledger Object IDs (to look up specific ledger objects in a ledger's
  state tree; see https://xrpl.org/ledger-object-ids.html)

This commit exports these utility methods from ripple-lib as static
methods. Access them on the RippleAPI class. Example:

import {RippleAPI} from 'ripple-lib'
const hash = RippleAPI.computeBinaryTransactionHash(...)
2020-04-28 14:19:36 -07:00
Elliot Lee
547b63b891 Run prettier (yarn format) 2020-04-27 12:06:18 -07:00
Elliot Lee
c26ddb497e Add api.connection.getReserveBase() (#1259)
* Returns the current minimum reserve, in drops of XRP, that is required
for an account.

* Release 1.6.6-beta.2
2020-04-27 10:02:03 -07:00
Elliot Lee
2e81cfb56f Add type for parseAccountFlags (#1258)
* Return type is `Settings`
* Bump @typescript-eslint/parser to 2.27.0
* Bump yarn.lock
* Release 1.6.6-beta.1
2020-04-27 10:02:03 -07:00
Rahul Kulkarni
bf1a772e40 Fix typo in comment (#1236) 2020-03-20 14:36:24 -07:00
Elliot Lee
06a029b89c connection.ts: fix typo 2020-03-06 12:33:55 -08:00
Nicholas Smith
c17827e030 Assign event listener to socket close event on open before attempting post-open logic (#1186)
* Assign event listener to socket close event on open before attempting to execute post-connection logic, prottects possible unhandled rejection in disconnect
* Remove try/catch for linting failure
* Up timeout for CI failure
* Feedback emit error for disconnection failure on connect failure
* Feedback ignore error on disconnect, propagate root cause
* Feedback add extra test check for expected error on connect
* Feedback remove setTimeout for await reconnect
2020-01-28 09:08:47 -05:00
Nicholas Smith
e03b192fcc Catch possible error in reconnect() on _heartbeat(), emit reconnect error 2020-01-15 12:36:39 -05:00
Hans Bergren
7c6b8398cf Improve documentation for generateXAddress() (#1169)
It takes an optional property for including the classic address in the
return payload

Co-authored-by: Elliot Lee
2020-01-13 23:39:02 -08:00
FKSRipple
f6b3f661d6 Merge branch 'develop' into connection-cleanup-tests 2020-01-10 16:15:16 -08:00
FKSRipple
c564400ac4 Merge pull request #1119 from ripple/connection-cleanup-ledger
Add LedgerHistory to Connection
2020-01-10 16:07:08 -08:00
Hans Bergren
eea20a6eab Improve documentation for address generation (#1158)
The documentation previously just stated that any array of integers
was acceptable for providing as entropy, but it must be an array of
length 16 where the values are from 0-255 (uint8) to ensure we have
16 bytes of entropy.
2020-01-08 18:30:08 -05:00
Fred K. Schott
5f208801ee move backoff into codebase 2020-01-08 14:50:17 -08:00
Fred K. Schott
0a22697e5d Refactor the Connection 2020-01-08 12:21:37 -08:00
Fred K. Schott
20d3be0d1d nevermind, regression wasn't actually a regression 2020-01-08 12:20:40 -08:00
Fred K. Schott
1785863686 update docs, fix a regression 2020-01-08 11:53:33 -08:00