Changelog
v0.6.0 - 2023-05-26
Bug Fixes
- docs package name
- docs-dev-server package name
- put nix result directly in result instead of result/build
- remove unused bindings
- .ignore uniond/vendor
- broken fmt hook
- broken fmt hook
- nil dagnostics
- don't pass filenames
- don't check pre-commit checks
- use --sequence for gentx
- don't crosscompile arion packages
- don't check *.svg
- nits
- all staticcheck errors
- docs readme incorrect codeblock start
- docs readme incorrect codeblock start
- move generated .go files to correct directory
- use dependencies similar to cosmos-sdk Dockerfile
- don't expose gen-proto dependency packages
- delete lodestar-cli app
- delete evm.nix apps
- public types
- bsl license
- 08-wasm types
- restore old filter_builds
- relaxed sandbox where needed
- put sandbox attribute in mkDerivation
- delete nixbuild attribute
- add node-pre-gyp
- add lerna
- add typescript
- still compile on tsc error
- test prepend path
- ensure we patch shebangs
- remove uniond binary from release artifacts
- pass args to
docker run uniond
- add coreutils-full
- handle legacy proposals
- call geth/lodestar commands directly
- add SSL_CERT_FILE
- move setupUpgradeHandlers
- upgrade handlers 2
- rename
App
toUnionApp
- restore old filter_builds
- relaxed sandbox where needed
- put sandbox attribute in mkDerivation
- delete nixbuild attribute
- add node-pre-gyp
- add lerna
- add typescript
- still compile on tsc error
- test prepend path
- ensure we patch shebangs
- remove uniond binary from release artifacts
- simplify
- pass args to
docker run uniond
- pass args to
docker run uniond
- add coreutils-full
- add coreutils-full
- handle legacy proposals
- handle legacy proposals
- shrink unused functions from light client
- call geth/lodestar commands directly
- unused trieproof lib
- add SSL_CERT_FILE
- add SSL_CERT_FILE
- move setupUpgradeHandlers
- move setupUpgradeHandlers
- upgrade handlers 2
- upgrade handlers 2
- rename
App
toUnionApp
- rename
App
toUnionApp
(Closes ) - rebase
- remove submodule
- dedup
- update filter_builds for release-candidate
- dedup protobuf generators
- update filter_builds for release-candidate
- add ,
- add
- fixes after merge
- vendor private forks
- filter devnets
- fitler builds mk 2
- update license for ibc-proto-rs
- only build what is needed for release candidates
- remove . before uniond-image
- cache output drv in var
- trim
- put everything in one run
- more bash fun
- get narinfo after nix copy
- incorrect NAR_URL
- correct dir for .narinfo
- rename binaries
- reintroduce backticks
- add
-linux
suffix - fix genesis URL for public release
- fix genesis URL for public release
- don't statically link on macOS
- don't statically link on macOS
- use forked ethereum.nix to build more aarches
- address review comments
- set
meta.mainProgram
- broken x86_64-linux build
- don't IFD by specifying
name
- don't IFD by specifying package
version
- apply
filter_builds
from main - filter in only x86 linux devnets
- use access-token for github credentials
- use main branch for workflow
- access-tokens
- properly format https urls
- add required build inputs for darwin
- use cargoTestCommand instead of checkPhase
- actually properly format https urls
- use git user for https authentication
- use github:/ syntax for private flake input
- properly use aforementioned syntax
- properly format ssh url
- filter out rust proto generation
- filter builds
- remove extraneous devnet filter
- moved eth.txt dictionary into dictionary.txt
- use version correctly when downloading prysm
- use correct prysm-validator for arm64
- removed prysm darwin support because of patchelf
- add missing
pkgs.fetchurl
- inherit versions and define
meta.mainProgram
- GitHub
- remove flake-utils input
- namespace checks
- ignore target
- add pkg-config and openssl for non-nix cargo builds
- properly ignore bundle-*
- regenerate flake.lock
- add --extra-experimental-features flakes
- update cspell ignorePaths after refactor
- use treefmt as defined in the root flake
- use outer attribute for prepended clippy attribute
- remove empty rust-toolchain.toml file
- fix unionvisor tests
- gen-contract - properly write file when generating contract
- ensure we use ssh for private repos
- forward trusted/untrusted validator root
- fix sidebar.js to render multiple items
- fix sidebar.js to render multiple items (#56)
- add missing components to
devShell
, purge olduniond
versions from inputs - remove components that are specified in
default
profile - spelling
- short option names must be unique for each argument
- rename monniker to moniker
- clippy warnings
- use
String
instead ofOsString
when deserializing - use gist link until public testnet
- re-enable and upgrade all cli tests
- adapt tests to bundle structure
- adapt supervisor tests to bundle structure, remove revert system
- fix symlink swap test
- update module
- broken systemd path
- /var/lib/unionvisor creation
- put systemd script in a derivation
- move to pkgs.writeShellApplication
- missing
--bundle cfg.bundle
in systemd script - set $HOME in systemd service
- update lockfile
impl Into
in argumentsclippy::pedantic
fixes- use
read_to_string()
, remove "FOOBAR" - address clippy errors
- ensure no invalid opcodes in wasm light client binary
- ensure no invalid opcodes in wasm light client binary (#92)
Documentation
- Removed imparative instructions from
docs/host-a-node.md
- Added 'Start the node'
- Added section for becoming a validator
- Added links to todo issues
nix
-based docusaurus commands- Moved host-a-node.md to docs/docs/nodevalidator
- Added section about env vars
- added chain id and example for setting
- added chain id and example for setting to 'setting-up-node.md`
- add testnet.md
- add testnet.md
- sources for proto gen process
- add mainnet overview
- added VERSIONING.md
- added VERSIONING.md
- added docks for running uniond with docker
- added docs for creating & sharing the genesis file
- networks structure
- added tips for running uniond with docker run
- updated create-testnet-genesis.md with info from testnet deployment
- added instructions for becoming a testnet validator
- added docks for running uniond with docker
- added docs for creating & sharing the genesis file
- added docs for creating & sharing the genesis file
- networks structure
- added tips for running uniond with docker run
- updated create-testnet-genesis.md with info from testnet deployment
- update docs with knowledge gained form union testnet deployment
- added instructions for becoming a testnet validator
- added instructions for becoming a testnet validator
- added GENESIS_URL options
- added GENESIS_URL options
- add CONTRIBUTING.md
- add ARCHITECTURE.md
- rename STRUCTURE.md to README.md
- explain how to programmatically find packages in nix
- use \ in example build command
- soften wording
- add CONTRIBUTING.md
- update README.md (#53)
- restructure guides (#71)
- update main README.md (#54)
- symlinker doccomments
- bundle doccomments
- populate cometbls.md (#85)
Features
- add PROTOC to devshell
- patch protoc to use the one from $PROTOC
- patch protoc to use SWAGGER_BIN
- patch swagger-combine
- upgrade cosmos to 0.47, use cometbft
- integrate
treefmt
- go-test and go-vet checks,
- Added Makefile for building/installing the node binary
- add uniond-image package
- uniond docker image
- Added cspell check to flake.nix
- add pre-commit-hooks
- add pre-commit-hooks
- enable nil hook
- treefmt commit hook
- spellcheck commit hook
- add nil diagnostics check
- add nil diagnostics check
- introduce command to generate validator bn254 keypair
- introduce command to generate validator bn254 keypair
- added union-arion-genesis.json
- generate genesis config
- generate keys and gentx
- build genesis configs for N validators
- wip aggregate
- generate dev-net genesis
- add
jq
andyq
- add
devnet-(genesis|validator-keys|validator-gentxs)
packages - invoke arion in devnet package
- run uniond in devnet
- add genesis config to home dir
- use priv_validator_key.json
- two validators
- generic devnet over validator count
- default to 3 validators for devnet
- expose rpc/grpc/rest endpoints
- add staticcheck
nix run .\#gen-proto
- simplify buf config
- repository root detection, .go source patching, improved logging
- use generated .pb.go sources
- initial fork of yui ibc
- introduce lodestar cli for local eth beacon node
- move and introduce
lodestart-local
andgeth-local
- introduce
geth
andlodestar
devnet services - remove initial fork of yui
- init ethereum light client
- add 08-wasm types
- reuse proto types and ics23
- add remaining ethereum types
- add
ConsensusState
- remove ibc params from client state
- add header verification impl with tests
- rust magic
- release-candidate workflow
- release-candidate workflow
- release workflow
- upload images to GHCR
- added docker manifest for multi-aarch
- added docker manifest job to release workflow
- upgrade system
- added unionfi dictionary
- use strangelove version of ibc-go
- upgrade ibc-go
- init ethereum light client
- release-candidate workflow
- release-candidate workflow
- initial scaffold of solidity contracts
- release workflow
- introduce cometbls light client proto
- upload images to GHCR
- added docker manifest for multi-aarch
- upgrade ibc contracts
- use ir for sol compiler
- introduce cometbls verification
- move tm to cometbls, fixup hmac and correctly unmarshal
- introduce canonical vote and simple devnet zkp test
- rebuild canonical vote header root
- introduce more tests from dummy devnet
- added docker manifest job to release workflow
- added docker manifest job to release workflow
- split zk tests
- refactor and end-to-end updateClient test
- optimise consensus storage
- disallow self registration and better error
- optimizations
- more optimizations
- optimize merkle root
- fine tune again
- extract constants
- added unionfi dictionary
- upgrade system
- replaced lodestar with teku & prysm
- genstateproof and ics23
- introduce prover over grpc
- add verify membership
- cleanup and improve
serve
command - ignore proto generation script
- gitignore compiled files
- introduce prover over grpc
- build static binary
- add static binaries
- wasmvm not package
- generate rust protos
- add
unionpd
- generate one crate instead of multiple
- add protoc-gen-tonic to the build inputs instead of manually adding it to PATH
- add
unionpd
- use + instead of - for the feature name package separator
- clean up rust/proto.nix
- move forks under rust/forks/
- ETHEREUM_CLIENT_STATE_TYPE_URL -> ClientState::TYPE_URL
- reintroduce example
- ensure we hash to scalar field
- reuse cometbft hash to scalar field
- cleanup and rename from
cometbls-prover
tounionpd
- upgrade example data
- upgrade gnark fork for proof serialization fixup
- refactor then introduce
Verify
andGenerateContract
- circuit for 16 validators max (testnet)
- implements
Verify
andGenerateContract
- make rust proto generation into a derivation
- clarify example commands
- migrate to scalar field modulus for hash to field
- add non membership proof
- introduce
download-circuit [network] [patħ]
command - replace lodestar with prysm
- static link on linux only
- verify argument for
download-circuit
- merge and vendor
- attempt to fix uniond build
- statically link uniond + wasmvm
- build statically on both x86_64-linux and aarch64-linux
- dynamically link on darwin
- move rust-toolchain.toml into rust/
- generate latest rust protos
- make cometbls & cosmos-sdk flake inputs
- init ethereum light client
- introduce
download-circuit [network]
command - use prysm static binaries
- prysm amd64 and arm64 support
- add darwin support for prysm
- re-enable darwin for prysm
- replaced lodestar with prysm
- add unionvisor
- enable rustfmt for treefmt
- add unionvisor
- ensure eth execution layer is auto-mining (#8)
- deliver static binaries in release
- introduce unionpd-image
- deliver unionpd-image on release to ghcr.io
- ensure eth execution layer is auto-mining
- ensure eth execution layer is auto-mining (#17)
- move from prysm to lodestar for beacon chain
- move from prysm to lodestar for beacon chain (#19)
- remove prysm packages
- forward
validatorCount
to lodestar - automatically format generated rust code
- normalize comments in generated rust code
- format generated Cargo.toml with taplo
- don't output genesis when collecting gentxs
- quiet genesis file generation (#30)
- deterministically generate app-keys (#28)
- remove obsolete prysm from shell
- introduce yarn lock
- introduce testnet verifier
- more consistent naming for commands files
- grpc over tls and introduce
EvmProof
for evm compatible zkp - remove devnet verifier, refactor testnet verifier
- avoid formatting foundry libs (submodules)
- don't listen to requests before setting up the circuit
- optional tls for prover/verify example commands
- limit concurrent connections, allow for overriding the config
- reorganize directories
- remove gas check
- cleanup main flake
- nixify contracts and get rid of submodules
- disable outdated test
- only build evm contracts on x86
- fast check for geth/wipe custom lodestar Dockerfile
- fast check for geth/wipe custom lodestar Dockerfile (#75)
- introduce a script to deploy contracts on devnet
- introduce a script to deploy contracts on devnet (#77)
- creates dummy contract to expose types
- creates dummy contract to expose types (#83)
- add relayer proof of concept to the repo
- build relayer in nix
- add allow_dirty option
- placeholder nixosModule
- add merge command
- better
serviceConig
- configurable bundle and monniker in NixOS module
- check for binary availability before running
- add
meta.json
to bundle - bump version to
nightly-2023-05-16
- create bundle with
v0.2.0
, re-addunionvisor
to bundle - put
uniond
files inroot/home/
instead of inroot/
- add
cargo-nextest
- make meta info bundle-specific
- store data in /var/lib/unionvisor
- reduce tags pushed to ghcr (#84)
- new bundle-testnet with only v0.6.0
Fix
- update
cd
path in docs
Miscellaneous Tasks
- bump ignite-cli to v0.26.1
- configure git-lfs
- [breaking] removed Makefile
- add nil, a nix language server
- add
marksman
, a markdown language server - delete todo and replace with issue
- remove ignite-cli, ,
- remove ignite-cli, ,
- add GOPRIVATE
- introduce projectile file to ignore vendor dir
- upgrade go to 1.20
- remove trailing whitespaces
- fixup wrong cosmos-sdk fork url
- fixup spellcheck
- avoid multi nixpkgs in flake
- update build badge url
- upgrade cometbls/cosmos-sdk for new
init
command - enable direnv
- update build badge url
- upgrade cometbls
- add LICENSE
- add LICENSE
- ignore result-1
- cleanup
- sort scaffold dict
- fix nil diagnostics
- add drawio and groth to dict
- upgrade cometbls
- upgrade cosmos-sdk fork
- delete msg_server_test
- remove unused deps
- disable hooks by default and introduce
githook
shell - avoid redundant nix dependency for utilities
- remove currently unused rust dependency
- upgrade flake lock
- introduce foundry in devshell
- remove trailing whitespaces
- remove hyphen from release candidate version
- update the language used in VERSIONING.md
- specify the start of rc versions
- use release-vX.Y.Z branches
- cleanup lodestar-cli.nix
- temporarily don't build lodestar-cli and devnet
- add status message
- spellcheck and constants
- upgrade ethereum-light-client-rs
- remove release-candidate workflow
- use 'latest-rc' for release candidates
- remove release-candidate workflow
- use 'latest-rc' for release candidates
- fmt
- fmt
- fix spellings
- add genesis
- split cosmos and eth devnets
- fmt
- spellcheck
- fmt
- cspell
- fix CODE_ID_B64 script
- re-structure the rust-based projects
- cleanup
- remove unwrap
- try on fix-rc-pipeline branch
- cleanup bash script
- delete scaffolded github workflow
- nix fmt
- delete push debug trigger
- ignore unionpd vendor for spellcheck
- remove old OUT dir
- spellcheck
- remove extra gitignore
- pin dev-dependendies
- latest release workflows from main
- upgrade cometbft
- spellcheck
- fmt
- ignore circuit and vendored directories
- update dictionary
- remove license header from contracts
- update dictionary
- update dict
- remove TODO
- fix spelling
- appease ci
- remove nested .envrc
- fmt
- .ignore unionpd/vendor
- remove debug branch
- formatting
- spellcheck
- nil and spellcheck
- fmt
- spellcheck
- spellcheck
- fmt
- fmt
- remove buf based code generation for uniond (#63)
- spellcheck
- fmt
- small fixes
- fmt
- add symlinker to dict
- fmt
- fix spelling
- fmt
Refactor
- move ignite-cli and swagger-combine into flake-parts
- move uniond packages/checks to uniond.nix
- rename inputs to tools
- simplify getExe
- mkUniondService
- don't overlay
pkgs
, use foundry'sdefaultPackage
instead - split genesis, networks, and tools
- separate geth-init and lodestar-init parts, move genesis
- restructure
- remove need for packages/lodestar-init.nix
- remove need for packages/geth-init.nix
- split genesis, networks, and tools
- separate geth-init and lodestar-init parts, move genesis
- restructure
- remove need for packages/lodestar-init.nix
- remove need for packages/geth-init.nix
- merge dictionaries
- build uniond binaries in parallel to docker images
- one workflow for both releases and release-candidates
- move to tools/
- use
pkgs.stdenv.isDarwin
- moved prysm tools to packages
- use
lib.getExe
, map binary names to derivation names - use
lib.getExe
in more places - move to monorepo root
- move cargo workspace to root of repo
- rename wasm-lc-types to wasm-light-client-types
- clean up and deduplicate rust and crane usage
- move cargo workspace to root of repo (#9)
- simplify flake part
- rename
Bindr
toBundle
, to match name of ourbundle-*
packages - new
Bundle
structure and type-level path validity tracking - introduce
Symlinker
, moreBundle
usage - let cli invocations create
Symlinker
s - more symlinker/bundle fixes
- [breaking] refactor repository structure
- [breaking] refactor repository structure (#89)
Testing
- disable unionvisor tests
Ci
- lint commit messages
- set permissions for github.token
- make permissions read-all
- do not run check.yml on merges into main
- ensure we ignore proto generators
- try with uniond-image
- debug logging
- more debug
- more debugging
- cat result.json
- tree
- use basename and cut instead of prefix/suffix
- only download uniond-image
- sanity check
- reintroduce -image postfix
- sanity check 2
- move -image out of
matrix.package
- more matrix.package substitutions
- reintroduce unionpd-image download
- build unionpd-image
- create manifests in matrix
- rename job names to be more succint
- add prettier (#11)
- enable unionvisor-tests (#16)
- add flow building the docs
- publish preview url
- publish preview url (#59)
- generate previews in separate flow
- only display a preview url if docs changed (#78)
- add testdata to ignorePaths for cspell