Skip to content

Commit d273ba9

Browse files
authored
# Interledger BTP: Futures 0.3 Transition (#599)
* feat(btp): update traits to be async * refactor(btp/wrapped-ws): refactor WsWrap to a separate file Ideally, we would want to get rid of it by doing a `StreamExt::map_ok` and `SinkExt::with` to map both WebSocket return types to the same value. We also use `filter_map` to get rid of any errors from the WebSocket. The WsError type has been removed as a result of that. * feat(btp/client): port to async/await * feat(btp/server): move to async/await * feat(btp/service): move service to async/await * We refactored the service to be more readable. Basically, we split the websocket in a Sink (write) and a Stream (read). We also create a `tx`/`rx` pair per account. The rx receiver gets attached to the sink, meaning any data sent over by the `tx` sender will get forwarded to the sink, which will forward it to the other end of the websocket. Unfortunately, due to being unable to combine the read and write sockets, we have to spawn them separately. This means that we have to remove the hook which cancels the streams. # Interledger HTTP: Futures 0.3 Transition (#600) * feat(http): Update HttpStore trait to futures 0.3 and deserialize_json method * feat(http): Update HTTP Errors and client * feat(http): Update HTTP Server * docs(http): extend http docs # Interledger Stream: Futures 0.3 Transition (#601) * feat(stream): Update Stream server * feat(stream): Update Stream client * docs(stream): extend stream docs * fix(stream): add extra limits to ensure all the pending request futures are thread safe # Interledger Settlement: Futures 0.3 Transition (#602) * feat(settlement/core): Upgrade types and idempotency * feat(settlement/core): Upgrade engines API Warp interface * feat(settlement/core): Upgrade Redis backend implementation * feat(settlement/api): Upgrade the message service * feat(settlement/api): Upgrade the settlement client * feat(settlement/api): Upgrade the Settlement API exposed by the node * chore(settlement): remove need to pass future wrapped in closure * docs(settlement): extend settlement docs # Interledger SPSP: Futures 0.3 Transition (#603) * feat(spsp): move to futures 0.3 and async/await * docs(spsp): extend spsp docs * fix(spsp): tighten trait bounds to account for stream changes # Interledger Service Util: Futures 0.3 Transition (#604) * feat(service-util): update validator service * feat(service-util): update rate limit service * feat(service-util): update max packet amount service * feat(service-util): update expiry shortener service * feat(service-util): update exchange rate service and providers * feat(service-util): update echo service * feat(service-util): update balance service # Interledger API: Futures 0.3 Transition (#605) * feat(api): update trait definitions and dependencies * feat(api): update http retry client * test(api): migrate test helpers * feat(api): update node-settings route * test(api): update node-settings route tests * feat(api): update accounts route * test(api): update accounts route tests * chore(api): add missing doc # Interledger Store: Futures 0.3 Transition (#606) * feat(store): Update redis reconnect * feat(store): Update base redis struct * feat(store): Update AccountStore trait * feat(store): Update StreamNotificationsStore trait * feat(store): Update BalanceStore trait * feat(store): Update BtpStore trait * feat(store): Update HttpStore trait * feat(store): Update NodeStore trait * feat(store): Update AddressStore trait * feat(store): Update RouteManagerStore trait * feat(store): Update RateLimitStore trait * feat(store): Update IdempotentStore trait * feat(store): Update SettlementStore trait * feat(store): Update LeftoversStore trait * feat(store): Update update_routes * test(store): convert all tests to tokio::test with async/await * feat(store): update secrecy/bytes/zeroize * docs(store): add more docs # ILP CLI: Futures 0.3 Transition (#607) * feat(ilp-cli): update CLI to async/await # ILP Node: Futures 0.3 Transition (#608) (#609) * test(ilp-node): migrate tests to futures 0.3 * feat(ilp-node): move metrics related files to feature-gated module * feat(ilp-node): remove deprecated insert account function * feat(ilp-node): make the node run on async/await * ci(ilp-node): disable some advisories and update README * fix(ilp-node): spawn prometheus filter # Service * feat(service): Box wrapper methods to avoid exponential type blowup
1 parent 52c65cf commit d273ba9

File tree

99 files changed

+9664
-7924
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

99 files changed

+9664
-7924
lines changed

.circleci/config.yml

Lines changed: 30 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,11 @@ jobs:
4444
cargo clippy --all-targets --all-features -- -D warnings
4545
- run:
4646
name: Audit Dependencies
47-
command: cargo audit
47+
# Disable:
48+
# 1. lazy_static advisory: https://github.com/interledger-rs/interledger-rs/issues/588
49+
# 2. http/hyper advisory: outdated http due to yup-oauth2 3.1.1, tungstenite 0.9.2
50+
command: cargo audit --ignore RUSTSEC-2019-0033 --ignore RUSTSEC-2019-0034 --ignore RUSTSEC-2019-0031
51+
4852
test-md:
4953
docker:
5054
- image: circleci/rust
@@ -57,37 +61,34 @@ jobs:
5761
steps:
5862
- checkout
5963
- run:
60-
name: Disabled
61-
command: echo "temporarily disabled"
62-
# - run:
63-
# name: Install Dependencies
64-
# command: |
65-
# # install system dependeicies
66-
# sudo apt-get update
67-
# sudo apt-get install -y redis-server redis-tools lsof libssl-dev
64+
name: Install Dependencies
65+
command: |
66+
# install system dependeicies
67+
sudo apt-get update
68+
sudo apt-get install -y redis-server redis-tools lsof libssl-dev
6869
69-
# # install nvm
70-
# curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
71-
# export NVM_DIR="/home/circleci/.nvm"
72-
# source $NVM_DIR/nvm.sh
73-
# nvm install "v11.15.0"
70+
# install nvm
71+
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
72+
export NVM_DIR="/home/circleci/.nvm"
73+
source $NVM_DIR/nvm.sh
74+
nvm install "v11.15.0"
7475
75-
# # install yarn & components (ganache-cli ilp-settlement-xrp conventional-changelog-cli)
76-
# curl -o- -L https://yarnpkg.com/install.sh | bash
77-
# export PATH="/home/circleci/.yarn/bin:/home/circleci/.config/yarn/global/node_modules/.bin:$PATH"
78-
# yarn global add ganache-cli ilp-settlement-xrp conventional-changelog-cli
76+
# install yarn & components (ganache-cli ilp-settlement-xrp conventional-changelog-cli)
77+
curl -o- -L https://yarnpkg.com/install.sh | bash
78+
export PATH="/home/circleci/.yarn/bin:/home/circleci/.config/yarn/global/node_modules/.bin:$PATH"
79+
yarn global add ganache-cli ilp-settlement-xrp conventional-changelog-cli
7980
80-
# # env
81-
# echo 'export NVM_DIR="/home/circleci/.nvm"' >> ${BASH_ENV}
82-
# echo 'source $NVM_DIR/nvm.sh' >> ${BASH_ENV}
83-
# echo "export PATH=/home/circleci/.cargo/bin:$PATH" >> ${BASH_ENV}
84-
# - run:
85-
# name: Run run-md Test
86-
# command: |
87-
# scripts/run-md-test.sh '^.*$' 1
88-
# - store_artifacts:
89-
# path: /tmp/run-md-test
90-
# destination: run-md-test
81+
# env
82+
echo 'export NVM_DIR="/home/circleci/.nvm"' >> ${BASH_ENV}
83+
echo 'source $NVM_DIR/nvm.sh' >> ${BASH_ENV}
84+
echo "export PATH=/home/circleci/.cargo/bin:$PATH" >> ${BASH_ENV}
85+
- run:
86+
name: Run run-md Test
87+
command: |
88+
scripts/run-md-test.sh '^.*$' 1
89+
- store_artifacts:
90+
path: /tmp/run-md-test
91+
destination: run-md-test
9192
update-docker-images:
9293
docker:
9394
- image: circleci/rust

0 commit comments

Comments
 (0)