Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
50acc0e
fix(tests): fix regex parsing passphrase from .env file (#1931)
Sep 8, 2023
06a0957
chore(docs): run WASM tests with Cargo (#1965)
borngraced Sep 11, 2023
d055cba
test(zhtlc): Use alternative grpc service name for pirate lightwallet…
smk762 Sep 11, 2023
b34c91a
fix(zcoin): resume previous sync if sync_params are not provided (#1967)
borngraced Sep 18, 2023
b34e952
chore(release): bump mm2 version to 1.1.0-beta (#1969)
shamardy Sep 18, 2023
bd69fbd
fix(tests): fix failing tests due to RICK/MORTY (#1970)
shamardy Sep 18, 2023
6370fa5
feat(trading-proto-upgrade): swap UTXO PoC using Storable State Machi…
artemii235 Sep 21, 2023
2ce6e4a
fix(evm): reduce web3 request timeout to 20s (#1973)
shamardy Sep 28, 2023
e9559c2
feat(event streaming): implement push-only streaming channels and SSE…
onur-ozkan Sep 28, 2023
a2cb99b
feat(network): upgrade p2p layer (#1878)
onur-ozkan Oct 2, 2023
3c078b6
fix(fee): remove fixed 0.0001 min threshold for TakerFee (#1971)
shamardy Oct 3, 2023
1c8a9a8
fix(tests): p2p ctx mocking issue (#1981)
onur-ozkan Oct 3, 2023
a9f606d
refactor(chore): improve item uniqueness (#1988)
onur-ozkan Oct 10, 2023
1753849
fix(tests): fix unstable tbch tests and failing price threshold test …
shamardy Oct 11, 2023
5df7db3
fix(transactions): add cryptocondition script type (#1991)
shamardy Oct 12, 2023
222a851
fix(tests): refactor tbch electrums list and remove non working ones …
shamardy Oct 24, 2023
3e323df
fix(cli): make mm2-libp2p optional in mm2_net for adex-cli (#1997)
shamardy Oct 25, 2023
8276b7c
fix(web3): try next web3 node on response error (#1998)
shamardy Oct 27, 2023
cfd2799
fix(watchtower): fix watchtower taker-side restart bug (#1908)
caglaryucekaya Oct 27, 2023
1224c03
feat(channels): wasm, coin balance and socket impl (#1978)
onur-ozkan Oct 27, 2023
8d0a583
feat(trading-proto-upgrade): sql storage wip + protocol enhancement (…
artemii235 Oct 30, 2023
bc77f39
fix(rpc): add 'version' to PUBLIC_METHODS
smk762 Nov 1, 2023
30c5869
feat(nft): exclude spam and phishing, refactor db (#1959)
laruh Nov 6, 2023
c58edbc
chore(license): update copyright / license (#2002)
ca333 Nov 6, 2023
024b6f3
chore(containers and docs): update docs and container images (#2003)
onur-ozkan Nov 7, 2023
3ce3de1
refactor(cli): cli dependency updates and warn on bad config perm (#1…
rozhkovdmitrii Nov 17, 2023
1bafc7c
chore(docs): fix the link to simple market maker in README.md (#2011)
damascene Nov 17, 2023
0221505
feat(UTXO swaps): kmd burn plan impl (#2006)
onur-ozkan Nov 22, 2023
8a333a4
chore(release): bump mm2 version to 2.0.0-beta (#2018)
shamardy Dec 4, 2023
efa2426
feat(network): deprecate 7777 network (#2020)
onur-ozkan Dec 6, 2023
040df1d
chore(network): exclude `168.119.236.249` from the seednode list (#2021)
onur-ozkan Dec 7, 2023
bf96f22
chore(network): add todo on peer storage behaviour (#2025)
onur-ozkan Dec 8, 2023
2f63bd5
chore(network): update seednodes for netid 8762 (#2024)
smk762 Dec 11, 2023
52dab22
feat(nft): move db lock, add tx fee and confirmations (#1989)
laruh Dec 11, 2023
c66afb3
fix(config): accept a string as rpcport value (#2026)
shamardy Dec 14, 2023
da8a23b
deps(network): sync with upstream yamux (#2030)
onur-ozkan Dec 14, 2023
1755d57
fix(price_endpoints): add cached url (#2032)
smk762 Dec 14, 2023
6d7d05f
chore(network): write network information to stdout (#2034)
onur-ozkan Dec 14, 2023
f2efb10
chore(release): add changelog entries for v2.0.0-beta (#2037)
shamardy Dec 15, 2023
466d4f2
fix(p2p): handle encode_and_sign errors (#2038)
shamardy Dec 15, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
112 changes: 52 additions & 60 deletions .docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,60 +1,52 @@
# Happening in a well-defined setting the Docker builds should be somewhat
# more reproducible than builds relying on the local workstation environment.
# Hence we're going to use the Docker build as the reference one.
# CI and local builds might be considered a second tier build optimizations.
#
# docker build --tag mm2 .

# NB: The version here was picked to match the one tested in our CI. The latest Travis has (as of 2018-11) is Xenial.
FROM docker.io/ubuntu:xenial

RUN \
apt-get update &&\
apt-get install -y git build-essential libssl-dev wget &&\
apt-get install -y cmake &&\
# https://github.com/rust-lang/rust-bindgen/blob/master/book/src/requirements.md#debian-based-linuxes
apt-get install -y llvm-3.9-dev libclang-3.9-dev clang-3.9 lld &&\
# openssl-sys requirements, cf. https://crates.io/crates/openssl-sys
apt-get install -y pkg-config libssl-dev &&\
apt-get clean

RUN \
wget -O- https://sh.rustup.rs > /tmp/rustup-init.sh &&\
sh /tmp/rustup-init.sh -y --default-toolchain none &&\
. /root/.cargo/env &&\
rustup set profile minimal &&\
rustup install nightly-2020-02-01 &&\
rustup default nightly-2020-02-01 &&\
# It seems that bindgen won't prettify without it:
rustup component add rustfmt-preview &&\
rm -f /tmp/rustup-init.sh

ENV PATH="/root/.cargo/bin:${PATH}"

# First 7 characters of the commit ID.
ENV MM_VERSION="f236ad1"

RUN cd /tmp &&\
wget https://api.github.com/repos/KomodoPlatform/atomicDEX-API/tarball/$MM_VERSION &&\
tar -xzf $MM_VERSION &&\
ls &&\
mv KomodoPlatform-atomicDEX-API-$MM_VERSION /mm2 &&\
rm $MM_VERSION &&\
echo $MM_VERSION > /mm2/MM_VERSION

RUN cd /mm2 && cargo fetch

# This will overwrite the Git version with the local one.
# Only needed when we're developing or changing something locally.
#COPY . /mm2

# Build MM1 and MM2.
# Increased verbosity here allows us to see the MM1 CMake logs.
RUN cd /mm2 &&\
cargo build -vv &&\
mv target/debug/mm2 /usr/local/bin/marketmaker-mainnet &&\
# We currently need BOB_PASSPHRASE, BOB_USERPASS, ALICE_PASSPHRASE and ALICE_USERPASS for the tests…
#cargo test &&\
cargo clean

CMD marketmaker-testnet
FROM docker.io/debian:buster-slim

MAINTAINER Onur Özkan <onur@komodoplatform.com>

RUN apt-get update -y

RUN apt-get install -y \
build-essential \
cmake \
ca-certificates \
curl \
wget \
gnupg

RUN ln -s /usr/bin/python3 /bin/python

RUN apt install -y \
software-properties-common \
lsb-release

RUN curl --output llvm.sh https://apt.llvm.org/llvm.sh

RUN chmod +x llvm.sh

RUN ./llvm.sh 16

RUN rm ./llvm.sh

RUN ln -s /usr/bin/clang-16 /usr/bin/clang

ENV AR=/usr/bin/llvm-ar-16
ENV CC=/usr/bin/clang-16

RUN mkdir -m 0755 -p /etc/apt/keyrings

RUN curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg

RUN echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null

RUN apt-get update -y

RUN apt-get install -y \
docker-ce \
docker-ce-cli \
containerd.io \
docker-buildx-plugin

RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y

ENV PATH="/root/.cargo/bin:$PATH"
6 changes: 4 additions & 2 deletions .docker/Dockerfile.ci-container
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ RUN apt install -y \
lsb-release \
gnupg

RUN wget https://apt.llvm.org/llvm.sh
RUN curl --output llvm.sh https://apt.llvm.org/llvm.sh

RUN chmod +x llvm.sh

Expand Down Expand Up @@ -52,4 +52,6 @@ RUN apt-get install -y \
containerd.io \
docker-buildx-plugin

RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y

ENV PATH="/root/.cargo/bin:$PATH"
5 changes: 0 additions & 5 deletions .docker/Dockerfile.ubuntu.ci
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,6 @@ RUN \
wget -O- https://sh.rustup.rs > /tmp/rustup-init.sh &&\
sh /tmp/rustup-init.sh -y --default-toolchain none &&\
. /root/.cargo/env &&\
rustup set profile minimal &&\
rustup install nightly-2021-07-18 &&\
rustup default nightly-2021-07-18 &&\
# It seems that bindgen won't prettify without it:
rustup component add rustfmt-preview &&\
rm -f /tmp/rustup-init.sh &&\
chmod -R 777 /root

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/dev-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -374,7 +374,7 @@ jobs:
rustup target add aarch64-linux-android

- name: Setup NDK
run: ./scripts/ci/android-ndk.sh x86 21
run: ./scripts/ci/android-ndk.sh x86 23

- name: Calculate commit hash for PR commit
if: github.event_name == 'pull_request'
Expand Down Expand Up @@ -440,7 +440,7 @@ jobs:
rustup target add armv7-linux-androideabi

- name: Setup NDK
run: ./scripts/ci/android-ndk.sh x86 21
run: ./scripts/ci/android-ndk.sh x86 23

- name: Calculate commit hash for PR commit
if: github.event_name == 'pull_request'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -336,7 +336,7 @@ jobs:
rustup target add aarch64-linux-android

- name: Setup NDK
run: ./scripts/ci/android-ndk.sh x86 21
run: ./scripts/ci/android-ndk.sh x86 23

- name: Calculate commit hash for PR commit
if: github.event_name == 'pull_request'
Expand Down Expand Up @@ -396,7 +396,7 @@ jobs:
rustup target add armv7-linux-androideabi

- name: Setup NDK
run: ./scripts/ci/android-ndk.sh x86 21
run: ./scripts/ci/android-ndk.sh x86 23

- name: Calculate commit hash for PR commit
if: github.event_name == 'pull_request'
Expand Down
54 changes: 54 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,57 @@
## v2.0.0-beta - 2023-12-15
**Features:**
- KMD Burn [#2010](https://github.com/KomodoPlatform/komodo-defi-framework/issues/2010)
- Burn 25% of taker fee when paid in KMD [#2006](https://github.com/KomodoPlatform/komodo-defi-framework/pull/2006).
- Trading Protocol Upgrade [#1895](https://github.com/KomodoPlatform/atomicDEX-API/issues/1895)
- Implement successful swaps v2 of UTXO to UTXO coins in [#1958](https://github.com/KomodoPlatform/komodo-defi-framework/pull/1958).
- Add Swaps V2 message exchange using Protobuf in [#1958](https://github.com/KomodoPlatform/komodo-defi-framework/pull/1958).
- Storing upgraded swaps data to SQLite DB was partially implemented in [#1980](https://github.com/KomodoPlatform/komodo-defi-framework/pull/1980).
- Protocol enhancement for UTXO coins by adding one more funding tx for taker, which can be reclaimed immediately if maker back-outs was implemented in [#1980](https://github.com/KomodoPlatform/komodo-defi-framework/pull/1980).
- Event Streaming [#1901](https://github.com/KomodoPlatform/komodo-defi-framework/issues/1901)
- Streaming channels using mpsc and SSE to send data to clients continuously was implemented in [#1945](https://github.com/KomodoPlatform/komodo-defi-framework/pull/1945).
- NETWORK event was implemented to show this new functionality in [#1945](https://github.com/KomodoPlatform/komodo-defi-framework/pull/1945).
- Wasm event streaming using workers was added in [#1978](https://github.com/KomodoPlatform/komodo-defi-framework/pull/1978).
- `COIN_BALANCE` events for Tendermint Protocol were added in [#1978](https://github.com/KomodoPlatform/komodo-defi-framework/pull/1978).

**Enhancements/Fixes:**
- Network Enhancements:
- P2P layer now uses the latest stable libp2p version in [#1878](https://github.com/KomodoPlatform/komodo-defi-framework/pull/1878).
- `7777` network was deprecated in [#2020](https://github.com/KomodoPlatform/komodo-defi-framework/pull/2020).
- Seednodes for `netid` `8762` were updated in [#2024](https://github.com/KomodoPlatform/komodo-defi-framework/pull/2024).
- `libp2p-yamux` now uses yamux `v0.13` (new version) by default and fall back to yamux `v0.12` (old version) when setting any configuration options in [#2030](https://github.com/KomodoPlatform/komodo-defi-framework/pull/2030).
- The backpressure buffer cap was increased from `25` to `256` in [#2030](https://github.com/KomodoPlatform/komodo-defi-framework/pull/2030).
- New protocol version (Version2) was used for peer exchange and request-response behaviours in [#2030](https://github.com/KomodoPlatform/komodo-defi-framework/pull/2030).
- Network information is now written to stdout to find mm2 ports easily after [#2034](https://github.com/KomodoPlatform/komodo-defi-framework/pull/2034).
- NFT integration [#900](https://github.com/KomodoPlatform/atomicDEX-API/issues/900)
- `exclude_spam` and `exclude_phishing` params were added for `get_nft_list` and `get_nft_transfers` RPCs in [#1959](https://github.com/KomodoPlatform/komodo-defi-framework/pull/1959).
- `nft_cache_db` was added in `NftCtx` for non wasm targets in [#1989](https://github.com/KomodoPlatform/komodo-defi-framework/pull/1989).
- `AsyncConnection` structure that can be used as async wrapper for sqlite connection was added in [#1989](https://github.com/KomodoPlatform/komodo-defi-framework/pull/1989).
- `async_sqlite_connection` field was added to `MmCtx` in [#1989](https://github.com/KomodoPlatform/komodo-defi-framework/pull/1989).
- Spam transfers with empty meta no longer update after [#1989](https://github.com/KomodoPlatform/komodo-defi-framework/pull/1989).
- ARRR/Pirate:
- ARRR infrastructure for lightwallet servers uses a fork of lightwalletd, the grpc service was renamed `from cash.z.wallet.sdk.rpc` to `pirate.wallet.sdk.rpc` to use the lightwalletd fork in [#1963](https://github.com/KomodoPlatform/komodo-defi-framework/pull/1963).
- Previous blocks/wallet sync will be resumed if `sync_params` are not provided after restart in [#1967](https://github.com/KomodoPlatform/atomicDEX-API/issues/1967).
- Adex-CLI [#1682](https://github.com/KomodoPlatform/atomicDEX-API/issues/1682)
- Exact dependency versions of `hyper-rustls`, `rustls` and other deps was set in [#1956](https://github.com/KomodoPlatform/komodo-defi-framework/pull/1956).
- A warning was added on insecure cli configuration file mode in [#1956](https://github.com/KomodoPlatform/komodo-defi-framework/pull/1956).
- Storable State Machine abstraction was added while having few changes to existing state machines in [#1958](https://github.com/KomodoPlatform/komodo-defi-framework/pull/1958).
- EVM web3 requests timeout was reduced to 20s in [#1973](https://github.com/KomodoPlatform/komodo-defi-framework/pull/1973).
- Fixed 0.0001 min threshold for TakerFee was removed in [#1971](https://github.com/KomodoPlatform/komodo-defi-framework/pull/1971).
- The minimum trading volume for evm and tendermint was changed to be the smallest possible amount of the coin in [#1971](https://github.com/KomodoPlatform/komodo-defi-framework/pull/1971).
- Minimum trading price is reduced to be any value above 0 in [#1971](https://github.com/KomodoPlatform/komodo-defi-framework/pull/1971).
- Cryptocondition script type was added to utxo transactions in [#1991](https://github.com/KomodoPlatform/komodo-defi-framework/pull/1991).
- On response error the next web3 node is tried in [#1998](https://github.com/KomodoPlatform/komodo-defi-framework/pull/1998).
- Watchtower taker-side restart bug was fixed in [#1908](https://github.com/KomodoPlatform/komodo-defi-framework/pull/1908).
- 'version' method was added to `PUBLIC_METHODS` that require no login in [#2001](https://github.com/KomodoPlatform/komodo-defi-framework/pull/2001).
- `rpcport` value can now accept a string after [#2026](https://github.com/KomodoPlatform/komodo-defi-framework/pull/2026).
- An additional `PRICE_ENDPOINTS` url which is a cached copy of `https://prices.komodian.info/api/v2/tickers` and is updated every minute was added in [#2032](https://github.com/KomodoPlatform/komodo-defi-framework/pull/2032).

**NB - Backwards compatibility breaking changes:**
- `7777` Network deprecation and the upgrade to a new p2p layer breaks compatibility with previous versions of Komodo DeFi Framework. Connections between nodes/clients running an older version of Komodo DeFi Framework and nodes/clients running this latest version will not be possible. To avoid this, all nodes/clients must be upgraded to the latest version of Komodo DeFi Framework.
- Because of KMD burn of a part of the taker fee, the taker fee outputs for any `coin/KMD` swap are changed and makers running older versions will not be able to validate the taker fee, this will cause the swap to fail. This case will never happen anyway because older versions will not be able to connect to this latest version due to the network upgrade.
- Because of the removal of the fixed 0.0001 min threshold for TakerFee, taker fee validation will also fail for these cases. Again, this case will never happen as the previous case.


## v1.0.7-beta - 2023-09-08
**Features:**
- Trading Protocol Upgrade [#1895](https://github.com/KomodoPlatform/atomicDEX-API/issues/1895)
Expand Down
Loading