Commit Graph

29 Commits

Author SHA1 Message Date
al8n eafecdfc92 fix #32: add discv5 functions 2022-12-21 00:23:19 +13:00
gusto b26eb9b22e
ci: codecov and badges (#30)
* ci: codecov and badges

* Add missing waku tests to codecov

* Reverted binary copies; running ignored tests for coverage
2022-12-19 11:11:16 +01:00
Daniel Sanchez aa06fcc969
Make topics const initializable (#28)
* Make topics const initializable

* Fix test

* Derive Eq, PartialEq for topics
2022-12-05 18:42:55 +01:00
Felicio Mununga 3f85a09b88
Replace deprecated `chrono::TimeZone::timestamp` for `timestamp_opt` in examples (#27)
* Replace deprecated `chrono::TimeZone::timestamp` for `timestamp_opt` in examples

* Use `.unwrap()`

* Use `expect`

* Use `LocalResult` for `Chat2Message.timestamp`

* Use `unwrap()` in `format()`
2022-12-01 16:28:19 +01:00
Felicio Mununga 35f787d2ae
Fix `timestamp` attribute of `WakuMessage` in examples (#26) 2022-12-01 12:30:42 +01:00
gusto 18436dfc21
Set GOCACHE variable to off for crates.io (#25)
* Set GOCACHE variable to off for crates.io

* Modify GOCACHE only for crates.io builds
2022-11-30 09:45:22 +01:00
Daniel Sanchez Quiros 718c28725d Refactor waku crate to waku-bindings 2022-11-29 10:28:32 +01:00
Daniel Sanchez 533619670f
Publish build (#22)
* Fix build errors when publishing

* Set VAC licences

* Set beta version to bindings
2022-11-28 17:57:20 +01:00
Daniel Sanchez b59bf33933
Information prior to publishing (#21) 2022-11-28 10:18:42 +01:00
Daniel Sanchez 56759d2320
Added release ci file (#19) 2022-11-22 07:53:06 -08:00
Giacomo Pasini 3edf9d5d0c
derive Debug for public structs (#18) 2022-11-03 11:04:44 +01:00
Daniel Sanchez d006ef4ecd
Crates publish setup (#17)
* Added config.toml to waku crate

* Update gitignore

* Update readme

* Remove private items docs

* Fix docs links

* Refactor waku to waku-bindings crate
Added badges

* Fix links

* Add usage
2022-11-02 08:21:15 -07:00
Daniel Sanchez c3ced48966
Added loglevel to waku config (#16) 2022-10-26 14:56:03 +02:00
Daniel Sanchez 0333d3256c
Dns discovery (#15)
* Updated vendor source

* Added dns discovery method

* Use latest Go in check workflow

* Use host for nameserver

* Use reference instead of move Host
2022-10-25 11:25:23 +02:00
Daniel Sanchez 9993d2d991
Chat example (#11)
* Added main skeleton for toy-chat example

* Implement chat example main block

* Polish chat and add necessary fixes

* Added author info to crates
2022-10-19 15:58:09 +02:00
Daniel Sanchez c82f4ebe4a
Main test and extended fixes (#10)
* Pipe protocol id

* Fix peer id connect

* Fix WakuPubSubTopic parsing

* Use optional timeout on publish messages

* More test cases

* Update vendor

* Use connect with peer_id

* Fix signal -> event -> message deserialization

* Actively wait for result to arrive the test node

* Clippy happy

* Clippy happy on tests

* Cleaning and adjusting types

* Updated vendor

* Fix keys dance

* Fix lightpush

* Add disconnect test

* Ignore node test for CI

* Add gcc on gh actions

* Reverse installing gcc

* Bring back gcc just for ubuntu and windows

* Removed rust-crypto unused dependency

* Clippy happy
2022-10-17 19:30:07 +02:00
Daniel Sanchez 94e643a250
Implement remaning stack (#9)
* Wrapped lightpush

* Optional signing key on relay a/symmetric publish

* Added lightpush docs

* Implemented filter methods wrappers

* Implemented store methods wrappers

* WakuHandle docs

* Plumbing filter, lightpush and store into node

* Callback RwLock -> Mutex

* Removed wrong todo

* Docs modules titles and links

* Missing link

* Implemented message decoding

* Decrypt docs header

* Added message and payload todos

* Added missing structs fields exposures and constructors

* Payload as base64

* Deserialize base64 encoded strings
Use proper types on payload

* Added MessageIndex type doc header

* Added missing documentation

* Added main lib header doc
2022-10-09 16:50:40 +02:00
Daniel Sanchez aefe45ad65
Relay (#8)
* Refactor node -> management

* Pipe peers methods to waku node handle

* Added relay topic types

* Added content topic, update pubsub topic

* Relay create content/pubsub topic

* Impl Display for topics

* Added symmetric and asymmetric publish

* Implement relay subscriptions methods

* Impl Serialize/Deserialize for Content/Pubsub topic

* Missing serde de::Error import

* Fix enconding typo

* Derive clone for general types

* Plumb relay methods to node

* Add docs to node methods

* Methods should be thread-safe

* Missing thread-safe methods

* Implement send + sync for the node handle

* Stylish space
2022-10-06 15:51:00 +02:00
Daniel Sanchez fb0805ce40
Peers handling (#7)
* Refactor node -> management

* Implemented peers

* Pipe peers methods to waku node handle
2022-10-06 15:28:25 +02:00
Daniel Sanchez 98350f4e1f
Use shared state to store callback closures for waku callbacks (#6)
* Use shared state to store callback closures for waku callbacks

* Cargo lock after rebase
2022-10-03 15:39:50 +02:00
Daniel Sanchez d320e55701
Node management (#5)
* Add modules

* Implemented waku config struct

* Implemented waku management functions

* Use optional config in waku_new

* Added config docs

* Fix tests

* Dbg error on gh actions

* Added fail result to dbg

* Removed gh actions dbg

* NodeConfig -> WakuNodeConfig

* Removed duplicated test

* Implemented safety layer on top of node

* Add exclusive running test

* Use static instead of const for global flag

* Do not allow for double initialization

* Update submodule to latest master commit with responses fixes

* Merge tests
2022-10-03 15:21:19 +02:00
Daniel Sanchez 84d251ff1b
Hide waku-sys binding warnings (#4) 2022-09-29 16:22:06 +02:00
Daniel Sanchez ba74c68c60
Events (#3)
* Added topics type aliases

* More general type aliases

* Implement event module

* Added public interface for WakuMessageEvent

* Skip fat pointers in event callback

* Nitpick and docs for set_event_callback
2022-09-29 15:17:52 +02:00
Daniel Sanchez 7b7ba2975d
General types (#1)
* Added JsonResponse type

* Add dependencies

* Added wakumessage

* Adjust go build to link with missing simbols on osx

* Added general types

* Nitpick in docs
2022-09-28 16:03:47 +02:00
Daniel Sanchez 7ce8cadaa5
Ci and multiplatform build (#2)
* Make go discoverable in unix systems

* Refactor build script

* Fix which path

* Fix typo in error message

* Added gh actions ci

* Fix lib_dir path

* Use checkout v3

* Use recursive submodules

* Filter branches
Use submodule force update

* Use git directly instead of action

* Build go with relative paths

* Added missing cargo config file

* Use target os instead of family

* Add targets to matrix

* Try to use default for target

* Set toolchain

* Fix toolchain matrix
2022-09-28 15:45:26 +02:00
danielsanchezq 5c35417f49 Tiny docs 2022-09-23 08:47:28 +02:00
danielsanchezq 1dd73da1be Make c bindings from go lib build, compile and link 2022-09-22 15:13:16 +02:00
danielsanchezq 1b132c8a1f Moved go-waku submodule to v0.2.2 2022-09-21 16:09:32 +02:00
danielsanchezq 0de795496b Main project structure 2022-09-21 16:06:27 +02:00