Commit Graph

167 Commits

Author SHA1 Message Date
Jon Häggblad fb2b7d3480 Fix rust-analyzer warnings (#3974)
* Fix rust-analyzer warnings

Fix some warnings that rust-analyzer emits due to enabling all features.
These are annoying when you try to list all warnings in the entire
workspace.

* Revert change to signing client

* Instead add nested feature
2023-10-10 12:02:00 +02:00
Jędrzej Stuczyński 56a384ea09 [wasm-client] keeping ownership over 'ReceivedBufferRequestSender' channel when spawning 'ResponsePusher' (#3945)
* [wasm-client] keeping ownership over 'ReceivedBufferRequestSender' channel when spawning 'ResponsePusher'

* Bump version of Typescript SDK to RC.10

* GitHub Actions workflow to publish SDK to NPM

* Bump package version manually

---------

Co-authored-by: Mark Sinclair <mmsinclair@users.noreply.github.com>
2023-10-03 09:36:25 +01:00
Jon Häggblad da404b636d Add sdk example for geo-aware topology provider (#3941)
* Add sdk example for geo-aware topology provider

* Re-export geo topology types
2023-10-02 14:21:53 +02:00
Jędrzej Stuczyński 5a0db2aea4 always using port 443 for tls gateway connection (#3927)
* always using port 443 for tls gateway connection

* bumping up rc version

* hack: additional hardcoded gateways

it disables topology refresh

* Add NPM packages to tool for bumping versions

* Bump RC versions of SDK packages

* Use manual gateway details

* Add progress to `publish.sh` script

* Add docs for WSS workaround

---------

Co-authored-by: Mark Sinclair <mmsinclair@users.noreply.github.com>
2023-09-22 15:35:14 +01:00
Jędrzej Stuczyński eccd6e16e2 Feature/mixfetch disconnect (#3890)
* js error message

* Ability to explicitly disconnect mixfetch

* removed unused import

* added disconnect method directly to sdk package

* simplifying error throw

Co-authored-by: Mark Sinclair <14054343+mmsinclair@users.noreply.github.com>

* added onunload event listener handler

* Using global instance of mixfetch to disconnect

Co-authored-by: Mark Sinclair <14054343+mmsinclair@users.noreply.github.com>

* Bump RC versions

* MixFetch, move unload handler to creation and check for undefined `window`

* Bump RC version

* Force TLS on mixFetch demo

* Add info about working around mixed content errors for mixFetch

---------

Co-authored-by: Mark Sinclair <14054343+mmsinclair@users.noreply.github.com>
Co-authored-by: Mark Sinclair <mmsinclair@users.noreply.github.com>
2023-09-22 10:25:46 +01:00
Jędrzej Stuczyński d3325c176f added forceTls argument to 'MixFetchOptsSimple' (#3907)
* Squashing commits

added forceTls argument to 'MixFetchOptsSimple'

made forceTls flag optional in mix fetch opts

whacking those moles

* GitHub Actions: install node

---------

Co-authored-by: Mark Sinclair <mmsinclair@users.noreply.github.com>
2023-09-21 16:13:31 +01:00
Mark Sinclair b97f8c1145 Mix Fetch RC Release (#3910)
* Bug fix `mixFetch` build

* Batch integration tests for mixFetch

* Bump RC version

* Tidy up READMEs

* Bump version to RC4 and fix up a few interfaces

* Bump version to RC5 and fix opts

* NodeJS SDK

* mixFetch usage example

* Update internal dev tester readme

* Add NodeJS packages to publish script

* Update lock file

* Upgrade `lerna`

---------

Co-authored-by: Mark Sinclair <mmsinclair@users.noreply.github.com>
2023-09-21 15:09:34 +01:00
Jędrzej Stuczyński 114d92f93f Feature/gateway inbuilt nr (#3877)
* changed NymConfigTemplate trait to call 'template' by reference

* network requester lib

* introduced generic parameter to 'MixTrafficController' to allow non-remote gateways

* allowing for custom gateway sender

* types cleanup

* minor gateway cmds refactor + initial NR work

* wip

* running a NR inside gateway

note: this NR isnt tied to the gateway yet

* rebase fixes

* propagating same shutdown handle

* wip

* starting NR with appropriate local transceiver

* fixed premature shutdown

* wiring up PacketRouter

* both ends wired together

* actually working

so much cleanup to do now

* started removing dead code

* wip

* temp: hardcode gateway

* further cleanup

* fixed build of other binaries

* setup-network-requester subcmd

* overriding NR config in gateway init/run

* wip making it wasm-compatible [again]

* refactored 'GatewaySetup'

* clippy and friends

* removed debug code

* rust 1.72 lints

* ensuring local gateway is available + some comments

* correctly putting network requester data in the same underlying details struct

* improved gateway errors

* changed 'network_requester_config' deserialization

* missing clap annotation for 'enabled' flag in 'setup-network-requester' command

* saving config file after 'setup-network-requester'

* removed dead code

* review comments

* make embedded NR wait for gateway to come online (for at most 70min)

* fixed shutdown on successful gateway wait

* updated NR config override
2023-09-20 15:47:05 +01:00
Tommy Verrall 9d8280986d Merge pull request #3899 from nymtech/jon/fix-profile-warnings
Fix all the cargo warnings
2023-09-20 09:34:16 +02:00
Mark Sinclair 685f26792f Typescript SDK Nextra Docs (#3880)
* Remove pnpm-lock.yaml

* Add initial documentation

* updating packages and disconnecting on mixFetch when unmount

* handle the mixFetch error

* remove the mixfetch disconexion

* using now rc5 version

* Update overview

* Update installation page

* wip startong

* Copy edits and improving some of the formatting and styling

* Improve naming

* Add CosmosKit example

* Linting

* Update next.js

* Remove lock file

* More CosmosKit docs

* wip

* cleaninig a bit

* quick fix for wallet error

* wip wallet ui

* wip wallet ui

* more wallet ui

* fixing key error

* wip

* Example code

* Add custom style for code blocks to limit their height and scroll

* Change bg on darkmode

* Add styling to darkmode

* Reorg CSS - tbc

* Move example code

* Ledger support in Cosmos Kit - wip

* Change default app to Typescript

* Remove static export

* Tidy up wallet UI

* Set theme colour by hue

* Force dark mode theme

* some wallet ui

* Style buttons sidebar

* Sidebar colors

* Links styling

* Style callouts

* Add styling to button, chips, progress motion component

* Style agenda

* adding loaders

* wallet loaders

* traffic styles

* Fix colours

* Add links to methods

* Add execute code block

* Add traffic codeblock

* Add mixfetch codeblock

* Add Cosmokit codeblock

* Update info on getting started

* fixing build

* Fix build error

* Fix theme

* Fix filenames on examples

* Add copy to CosmosKit example

---------

Co-authored-by: Mark Sinclair <mmsinclair@users.noreply.github.com>
Co-authored-by: Gala <calero.vg@gmail.com>
Co-authored-by: Lorexia <alexia.lorenza.martinel@protonmail.com>
2023-09-18 19:46:32 +01:00
Jon Häggblad 42d2ecca3c Fix all the rust warnings about ignored profile directives
You can't specify profile in the manifest of a crate when it's part of a
workspace. Move the profile directives that cargo complains about to the
top-level workspace Cargo.toml
2023-09-17 22:29:08 +02:00
Jędrzej Stuczyński 63b0658c65 [feat] Socks5 and Native client: run with hardcoded topology (#3866)
* allow running clients using hardcoded topology

* fixed sdk/lib/socks5-listener build

* fixed nym-connect build

* allow for both snake_case and camelCase deserialization
2023-09-14 14:26:11 +02:00
Jon Häggblad 96b54db060 Wireguard listener (#3868)
* wip

* wip

* Most channels are in place

* tidy

* Send data to tunnel

* wip: adding in boringtun

* Handle timers

* Add consume_wg

* Split into mod

* Reorder

* Comments

* Refine channel handling

* Sort out dependency conflict

* Move wireguard listener in gateway beind a feature flag
2023-09-12 14:14:46 +02:00
Mark Sinclair 7d1cb6ca19 Remove unused import 2023-09-07 14:51:55 +01:00
Mark Sinclair 90a925ee62 Add auto-generated contract client (#3861)
* Add auto-generated contract client

* Use HTTPS instead of websockets

---------

Co-authored-by: Mark Sinclair <mmsinclair@users.noreply.github.com>
2023-09-07 12:45:48 +01:00
Jędrzej Stuczyński 4890c528bc feat: mixFetch - the final countdown (#3737)
* mixFetch

* clippy

* removed redundant Arc over 'WasmStorage' in the 'ClientStorage'

---------

Co-authored-by: Fouad <fmtabbara@hotmail.co.uk>
2023-09-07 12:45:03 +01:00
Tommy Verrall 584c902f93 Merge pull request #3809 from nymtech/feature/ncandroid-state
fix(nc-android): state sync cross ffi
2023-08-31 11:52:18 +02:00
pierre f53e5c42c3 fix fmt 2023-08-29 11:20:41 +02:00
Jon Häggblad b537a7c2c7 Add some minor comments 2023-08-29 11:13:36 +02:00
pierre 9fb8b1d7c0 clean code 2023-08-29 11:06:39 +02:00
pierre 9c68de64a0 fix lint 2023-08-28 22:17:56 +02:00
pierre 2fdd09deee fix lint 2023-08-28 22:14:58 +02:00
pierre 5f9a514bc7 fix state 2023-08-28 21:14:07 +02:00
pierre 7741a3fea1 wip 2023-08-25 17:16:36 +02:00
Fran Arbanas 2f6617daac Feature/issue credentials (#3691)
* Move the functionality to issue credentials from the credential binary and connect it with nym-cli

* finished CLI part, trying to fit SDK part

* finished Rust SDK

* fix: cleanup

* linting

* linting

* linting

* remove one layer of coconut in nym-cli

* linting

* Fixes based on PR comments

* formatting

* fixes based on PR comments

* formatting

* fixing clippy errors

* fixed post-rebasing issues and converted the lib into shared dep for other binaries

* removed credentials client in favour of moving the functionality to nym-cli

* removed redundant 'issue_credential' example (it did the same thing as 'bandwdith')

* removed credentials client from build server

* made the coconut cli also accept nym-api configs

* fixed support for socks5 and NR

---------

Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
2023-08-25 17:13:52 +02:00
pierre 017d536d35 wip 2023-08-25 16:30:05 +02:00
pierre eb444f73ce dont uwnrap blocking_run_client result 2023-08-24 16:10:14 +02:00
pierre d108919cf6 wip implement pingClient call 2023-08-24 13:06:16 +02:00
Jędrzej Stuczyński b429c64168 [demo] libp2p example with nym-sdk (#3763)
* imported libp2p to monorepo

* fixed vanilla ping example

* added libp2p client to workspace

* naively replaced dockerised client with the sdk

* moved libp2p code to sdk examples

* reduced number of dependencies required for libp2p example

* updated readmes

* added protobuf compiler to build dependencies

* added protoc dependency to readme for chat and ping examples

---------

Co-authored-by: mfahampshire <maxhampshire@pm.me>
2023-08-22 13:12:13 +02:00
Tommy Verrall c8cee9b56e Merge remote-tracking branch 'origin/develop' into feature/rust-sdk-concurrent-send-receive 2023-08-17 15:01:34 +02:00
Jędrzej Stuczyński 2993e85c7a removed redundant notify and instead awaiting the task futures 2023-08-17 12:21:15 +01:00
Jędrzej Stuczyński d13c8bde57 Feature/wasm tendermint rpc client (#3744)
* wasm-compatible reqwest-based rpc client

* better constructors for the reqwest based client

* fixed usages of the client

* introduced /network/details endpoint to nym-api to return used network information (#3758)

* introduced /network/details endpoint to nym-api to return used network information

* introduced endpoints for nym contract information
2023-08-17 10:56:10 +01:00
Jędrzej Stuczyński 8ef9560843 all binaries compiling 2023-08-17 10:52:37 +01:00
Jędrzej Stuczyński 55f3fc278f new GatewaySetup variant to reuse the connection 2023-08-15 14:43:52 +01:00
Jędrzej Stuczyński f12f6b29cd Chore/rustsec (#3764)
* RUSTSEC-2023-0044

* RUSTSEC-2023-0034
2023-08-14 12:17:54 +01:00
Jędrzej Stuczyński 75bb9140b0 fixed doc tests 2023-08-09 14:49:16 +01:00
Jędrzej Stuczyński b63f5409db cargo fmt 2023-08-09 14:43:43 +01:00
Jędrzej Stuczyński de6c1ba1f0 made the Stream return a single message at each call 2023-08-09 14:39:57 +01:00
Jędrzej Stuczyński e705b76b36 unified sending interface + example of split sending 2023-08-09 14:27:17 +01:00
Jędrzej Stuczyński a1295a316b utility 'Stream' implementation for MixnetClient 2023-08-09 12:50:34 +01:00
Fouad e97a068bf0 Type documentation for NymSDK (#3701)
* set up development process for docs

* set up development process for docs

* Add local installs for Typedoc on gitignore

* Add Typedoc comments on types.ts file

* add typedoc config file

* update types and add annotations

* Add updates on types file

* add examples + manage sort order for doc items

* update client methods with examples

* add description of NymMixnetClientOptions

* add description of NymMixnetClientOptions

* fix linting

---------

Co-authored-by: Lorexia <alexia.lorenza.martinel@protonmail.com>
2023-08-01 16:21:12 +01:00
mfahampshire c38c5c2f0d fixed clippy warning 2023-07-26 17:37:25 +02:00
mfahampshire 2fe5401a38 ran fmt 2023-07-26 17:37:22 +02:00
mfahampshire d8a44cd9c1 added reply with surbs example to rust sdk examples dir 2023-07-26 17:37:22 +02:00
mfahampshire a0b41db22d added rust sdk surb example 2023-07-26 17:37:22 +02:00
Jędrzej Stuczyński 516561dcf9 Feature/wasm nyxd client (#3708)
* separated signing and nyxd-client features

* updated cosmrs to the most recent version

* using tendermint_rpc directly for the Client trait

* fixed rest of the codebase

* removed nyxd-client feature

* export more types

* clippy that seems to have been skipped in makefile
2023-07-26 15:49:45 +01:00
Mark Sinclair 9d5b582908 SDK - fix unsubscribe function for events (#3659)
Co-authored-by: Mark Sinclair <mmsinclair@users.noreply.github.com>
2023-07-18 14:12:00 +01:00
Fouad c12b20f1d6 Feature/sdk browser extension examples (#3673)
* New TypeScript SDK example: Google Chrome

Example of a simple manifest v3 extension to load a Nym client within  a
popup view.

* Firefox Extension example for Nym TypeScript SDK

* Fix typo

* Add basic install script

* fix up html files

* remove unnecessary background page

* bundle extensions with webpack

* use icons from shared assets

* ignore sdk index file

* import sdk lib

* create new build script for non-inline workers

* import workers and build as separate files using webpack

* update html titles

* create react app node tester example

* add readme file

* update readme for FF extension

* code formatting

---------

Co-authored-by: Nadim Kobeissi <nadim@symbolic.software>
Co-authored-by: Mark Sinclair <mmsinclair@users.noreply.github.com>
2023-07-18 14:09:40 +01:00
Jędrzej Stuczyński b2b0a1478b exposed methods for sending replies in rust-sdk (#3658) 2023-07-10 09:49:32 +01:00
Fouad ad995b1934 Node Tester SDK examples (#3641)
* create parcel example

* update plain html example

* move chat examples into own dir

* add examples to workspace

* update tsconfig path

* move webpack base to parent dir
2023-07-05 16:14:21 +01:00