* feat: rename verification message to support additional protocols in the future
* chore: add changeset
* refactor: change signature for verification message
Currently, if you call `getInfo` the version falls back to `1.0.0`,
which is confusing since users want to know which version of the hub
they are communicating with.
The reason this happens is because the `npm_package_version` environment
variable trick only works if you run via `npm`/`yarn`. Since we don't
want those as PID 1 (it interferes with signal processing) we build and
run directly with the `node` executable.
To get this to work, we create a symlink to `package.json` in the `src`
directory so that we can still reference the version specified in that
file.
This required some adjustments to have TypeScript not error (including
upgrading Jest), but should now work.
* feat: Initial fname registry provider class
* flesh out fname registry provider functionality
* Update to match fip
* Use new query params and gradefully handle errors
* feat: add support for verifying username proofs
* Validate server signatures before submitting username proofs
* Add changeset and default fname server url
* Fix import mapping to work with built JS files
This allows us to ship a Docker image that runs using `node` directly,
rather than via `tsx`.
* Remove use of top-level `await` expressions
These were only used in tests and weren't critical. Switch away so we
have the optional to convert to CommonJS if we need.
* Switch all imports to use relative paths instead of ~ shortcut
The ~ shortcut doesn't work in some contexts, which makes our lives more
difficult when trying to output ESM.
Since we were already using relative paths in some part of the codebase
and not others, just switch to using relative paths everywhere for
simplicity.
* Switch imports to append .js extension
And update Jest configuration to work with this extension.
* Build single image instead of two separate ones
We originally created the other image so that we could build an image
using only packages published to NPM, but this proved problematic when
wanting to test those changes without publishing.
Since there are more situations where we'd want to ship an image using
unpublished packages (i.e. for testing) remove the "public" image and
update our "testing" image to also be used as the public image. However,
a key difference is that the testing image will now run compiled JS
instead of using a TypeScript interpreter.
We want to make it easier for developers to get started with hubs.
Add a separate optimized Docker image which we'll distribute for both
AMD and ARM architectures.
For now the publishing process is manual, but once hubs are fully open
(no peering allowlists) we'll be able to auto-publish with each hubble
release on NPM.
With more Macs running ARM via Apple Silicon, the significantly slow
package installation was problematic. Fix by using our fork which
includes the prebuilt binary to reduce install time.
* remove grpc-js dependency from protobufs, refactor hubble to use hub-nodejs
* hub-web to use @farcaster/protobufs and utils
* add yarn.lock
* refactor hubble app to only use hub-nodejs
* update readme
* update export order
* update export order
* fix protobufs namespace build issue
* update codecov
* fix protobufCommand naming
---------
Co-authored-by: Paul Fletcher-Hill <pfletcherhill@gmail.com>
* chore: update all devDependencies to the latest versions
* chore: update @noble/hashes to 1.3.0
* chore: update @swc/core to 1.3.41
* chore: update @noble/ed25519 by a patch version
* chore: update ts-proto and eslint/parser dev deps
* chore: upgrade pino minor version
* chore: upgrade tsx minor version
* chore: add changeset
* fix: relative path on hubble docs not resolving to contributing.md
* add: initial table structure of the docs
* remove: link on first column
* add: docs/Ed25519Signer.md
* fix: wrong links in Ed25519Signer.md
* fix: wrong link again
* add: constructor to ed25519signer.md
* add docs/Eip712Signer.md
* update: replace ambiguous description with TODO
* update: code example on readme
* add: a comment about neverthrow
* add: js docs to interact with hub
* update: wrong import on docs
* remove: make Data and Amp functions
* update: clarify the eddsa private key part
* update: move signer docs to readme
* update: readme table
* fix: wrong path
* add: docs for eip signer but in js
* remove: ambiguous descriptions
* add: doc generation with TypeDoc
* add: docs for ed25519 signer
* update: build first before running docs
* update: only use packages/js for typedoc entrypoint
* remove: function name in tsdoc comments
* update: move examples up for clarity
* add: typedoc.json
* add: description for properties of signers
* update: link to classes in readme
* update: move make message explanation above
* remove: ambiguous description in readme
* add: a line in contributing.md about generating docs for packages/*
* remove: old docs
* update: recompiled docs and add plugin on typedoc.json
* add: description to sign verification
Co-authored-by: Anthony D'Addeo <tony@tavour.com>
* update: use yarn instead of npm
Co-authored-by: Anthony D'Addeo <tony@tavour.com>
* update: disable typedoc source
* update: contributing.md packages/* to packages/js
* update: TODO to TODO DOCS
* fix: eip712 signer not rendering properly
* add: docs to message builders
* add: docs to client
---------
Co-authored-by: Anthony D'Addeo <tony@tavour.com>