Skip to content

Latest commit

 

History

History
263 lines (206 loc) · 15.7 KB

CHANGELOG.md

File metadata and controls

263 lines (206 loc) · 15.7 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased changes

v0.5.1 - 2024-10-04

Consensus Breaking Changes

  • (x/warden) #660 Added Nonce field to Space to avoid race conditions
  • (x/warden) Keychain fees are deducted with escrow account
  • (wardend) Bump Cosmos SDK to v0.50.9
  • (wardend) Bump ibc-go to v8.5.0
  • (wardend) Bump slinky to v1.0.10
  • (x/warden) #570 Added more metadata to Keychain
    • Replaced Description by Name field (required, non-empty)
    • Added new Description field instead of replaced one
    • Added Url field
    • Added Keybase Id field (16 symbols)
  • (x/act) #631 Add pruning of timed-out actions
  • (x/warden) Make KeychainFees fields non-nullable, use an empty list of coins to indicate no fees
  • (evm) Resolve dependencies issues. For go-ethereum use evmos fork patched with c1b68f1d05a7ee8eee1bde3c4054f49f5d3e3b9f from original repository to support slinky.
  • (evm) To adopt ethsecp256k1 use fork of evmos's cosmos-sdk. Fork patched runtime/module adding into ProvideApp two arguments to customize registering interface registry and legacy amino codec.
  • (evm) Introduce award denomination to adjust units with Ethereum
  • (evm) Using ethsecp256k1 signature for all transactions. Users should reimport their seeds to get new addresses.
  • (x/act) Introduce Votes and Approve/Reject expressions for Actions
  • (x/act) Add expected expressions to MsgAddAction
  • (x/act) Set approve/reject expressions in MsgNewAction. Change rules registry to keep approve/reject expressions.
  • (x/act) Rename Rule to Template
  • (x/act) Remove Template and Approvers from Action.
  • (x/act) Remove TemplateId from Key, AdminTemplateId and SignTemplateId from Space
  • (evm) Bump evmOS to V20

Features (non-breaking)

  • (x/act) Add support for sdk.Coins fields in autogenerated CLI commands for new actions
  • (x/warden) Add the ability for the user to specify the maximum keychain fee size to be deducted
  • (x/warden) Return error if analyzer's address is not bech32
  • (x/act) 724 Add creator filter param to Rules query
  • (wardend) Validate bech32 format in add-genesis-keychain and add-genesis-space

Bug Fixes

  • (x/gmp) Remove the GMP default params from genesis
  • (go-client) Use ethsecp256k1 instead of Cosmos secp256k1

Misc

  • (wardend) Bump CometBFT to v0.38.11

v0.4.1 - 2024-08-07

Consensus Breaking Changes

  • (x/warden) Implemented AddKeychainAdmin, RemoveKeychainAdmin features
  • (x/warden) Add AddKeychainAdmin and RemoveKeychainAdmin to manage Keychain's admins
  • (cosmwasm) Add interoperability with the following messages, that can now be used in CosmWasm contracts:
    • MsgNewSignatureRequest
    • KeysBySpaceId
    • KeyById
    • SignRequests
    • SignRequestById

Bug Fixes

  • (wardend) Upgrade Cosmos SDK to v0.50.8
  • (wardend) Upgrade cosmos/iavl to v1.2.0
  • (x/act) When an Action is approved, the new approval was not recorded in the database
  • (x/warden) Fixed a bug where UpdateKey could be used to set RuleID to a non-existent Rule
  • (x/warden) Fixed a bug where Keychains fees could be set to negative or invalid amounts
  • (x/warden) Fixed a bug in v3 migrations where some insertions in the database were performed in a non-deterministic order. From our tests this didn't lead to any problem, in this particular case, but we want to play it safe.

Misc

  • (x/warden) Register error codes
  • (x/act) Register error codes

v0.4.0 - 2024-07-17

Consensus Breaking Changes

  • (shield) #225 Fix shield to handle grouped expression
  • (shield) Add new operators: <, >, <=, >=, ==, != for comparing integers to each others.
  • (shield) Add support for string objects
  • (shield) Add contains(elem, array) builtin function for checking if elem is contained in the array
  • (shield) Add +, -, *, / math operators for basic integer arithmetic
  • (shield) Add negative prefix operator to handle negative expressions and integers
  • (shield) Change integer representation from int64 to big.Int
  • (x/act) Add MsgNewAction as unique entrypoint for creating Actions
  • (x/act) Fix bug where Actions' Results were being wrapped in Any twice
  • (x/act) Add SimulateRule query request
  • (x/act) Add the following events:
    • EventCreateRule
    • EventUpdateRule
    • EventCreateAction
    • EventApproveAction
    • EventActionStateChange
  • (x/act) Improve CLI flags allowing to specify enums using their names instead of their numeric values
  • (x/warden) Ensure only Keychain's parties can update a SignRequest
  • (x/warden) Change Keychain.Fees type to Coins instead of uint64s. This makes possible to receive any token as a fee, not just uward.
  • (x/warden) Remove Keychain.IsActive field. This field was used to determine if a Keychain was active or not, to automatically reject incoming requests, but it was never used.
  • (x/warden) Add the following events:
    • EventCreateSpace
    • EventUpdateSpace
    • EventAddSpaceOwner
    • EventRemoveSpaceOwner
    • EventNewKeyRequest
    • EventNewKey
    • EventRejectKeyRequest
    • EventUpdateKey
    • EventNewSignRequest
    • EventFulfilSignRequest
    • EventRejectSignRequest
    • EventNewKeychain
    • EventUpdateKeychain
    • EventAddKeychainParty
  • (x/warden) Rename UpdateKeyRequest to FulfilKeyRequest
  • (x/warden) Rename SignatureRequest to SignRequest
  • (x/oracle) Integrate Slinky
  • (faucet) New version of the web based Faucet

Features

  • (wardend) Add wardend genesis add-genesis-space and wardend genesis add-genesis-keychain commands to prepare the genesis file
  • (wardend) analyzers smart contract: a way for 3rd party builders to provide metadata to shield's intents during new signature requests
  • (wardend) Initial version Ethereum analyzer
    • can be used to pass an Ethereum unsigned transaction, and will return the correct DataForSigning
  • (faucet/v2) New web-based version of the faucet that uses recaptcha.
  • (faucet/v2) UI/UX tweaks.
  • (x/warden) #377 Add keychain_fees field to MsgUpdateKeychain message
  • (x/warden) Remove Keychain.AdminIntentId field. This field was used to choose an Intent for operations, but it was never used.
  • (x/warden) Add autogenerated CLI subcommands for MsgNewAction. These make it easier to send transactions such as AddSpaceOwner, etc.
  • (x/warden) Add an option EncryptionKey to SignRequests. If set, the Keychain is requested to encrypt the signature before sending it back to the Warden Protocol.
    • This is useful for users who want to keep their signatures private, allowing them to use in dApps such as dYdX, where the signature is used to "login".
  • (x/warden) Remove deprecated SignMethod field from MsgNewSignatureRequest. Use analyzers instead.
  • (x/act) Fix bug for Rules hooks not having the creator of the Action in the context
  • (x/act) Added a new MsgCheckAction for manually re-checking the action rule status
  • (x/act) Added Export/Import for the State the module (Rules, Actions)
  • (x/gmp) Added a new module to make Axelar GMP requests from Warden.
  • (cosmwasm) Installed IBC-Hooks to be able to call CosmWasm contracts from the other chains.

Bug Fixes

  • (shield) fix possible occurring panic in case of nil env
  • (x/act) Prevent Rules from being created with an empty name
  • (x/warden) Handle analyzers that return string values correctly
  • (x/warden) Fix KeyRequests query when KeychainId filter is not set
  • (x/warden) Fix SignRequests query when KeychainId filter is not set
  • (x/warden) Ensure that SpacesByOwner index is updated when an owner is removed

Misc

  • (build) Add just localnet command to replace ignite chain serve
  • (shield) Improved error messages when parsing an unknown token type
  • (shield) Add unit tests for AST preprocessor
  • (x/warden) Rename Keychain "parties" to "writers" for clarity, as they are the only ones that can write on-chain data on behalf of the Keychain.

v0.3.0 - 2024-03-16

Consensus Breaking Changes

  • (x/act) #139 Ability for modules to dynamically resolve variables on Action creation
    • x/warden can now resolve warden.space.owners in Intent definitions into the list of owners of the space
  • (x/act) #151 Store Intents' AST, instead of the raw string
  • (x/warden) #152 Prevent adding invalid addresses as Keychain parties
  • (cosmwasm) #156 Add support for smart contracts by integrating CosmWasm
  • (x/warden) #173 Remove SignTransactionRequests in favor of just SignRequests

Features

  • (shield) #148 Use protobufs for defining the AST
  • (x/act) #155 Add MsgUpdateIntent, creators of an Intent can use it to change name and definition of their Intents.
  • (x/warden) #159 Resolve warden.space.owners in Intent definitions for MsgNewSignRequest and MsgNewSignTransactionRequest
  • (x/warden) #160 Add Osmosis support
    • Derive Osmosis addresses from ECDSA_SECP256K1 keys
    • Extract DataForSigning for Osmosis Amino JSON transactions
  • (cosmwasm) #171 Add support for executing NewKeyRequest from contracts
  • (cosmwasm) #185 Add support for querying AllKeys from contracts

Bug Fixes

  • (x/act) #187 Fix QueryActionsByAddress to not reuse the pointer of iterating variable, causing the query to return the same action multiple times

Misc

  • (docs) #127 Add CHANGELOG.md
  • (ci) #137 Add CodeRabbit configuration file, copied from Cosmos SDK's repo
  • (perf) #138 Add benchmarks for most hit queries in x/warden and x/act (ActionsByAddress, AllKeys, KeysBySpaceId)
  • (chore) #180 Update to use pnpm v9.0.0
  • (docs) #185 Add CosmWasm integration related docs.

v0.2.0 - 2024-03-26

Consensus Breaking Changes

  • (x/warden) #77 Use uint64 IDs for Space and Keychain, instead of string bech32 addresses
  • (x/act) #55 Initial release of the shield intent engine, replacing the old boolparser and cleaning up the API
  • (x/act) #112 Store a list of referenced addresses when a new intent is created. This is useful for querying all intents that reference a given address.
  • Refactor of x/act's and x/warden's store design to improve queries performance:
    • (x/act) #117 Pin the intent definition when an Action is created instead of just referencing it. This allows faster queries "by address" by storing the list of addresses directly inside the action, instead of having to re-evaluate the linked intent for each action.
    • (x/warden) #121 Separate Keys queries into AllKeys, KeysBySpaceId, and KeyById. This allowed some improvements, especially in the KeysBySpaceId that can benefit from a new "space id -> key id" index.
    • (x/warden) #122 Improve SpacesByOwner query by adding a new "owner -> space id" index.

Features

  • (client) #116 Add warden q wait-tx command to wait for a transaction to be included in a block
  • (clichain) #113 Initial release of clichain, a CLI for acting as a Keychain from the command line
  • (x/warden) #109 Add ability to assign an intent to a key, overriding the SignIntent of the Space
    • #110 Add MsgUpdateKey for updating a key's intent
  • (keychain-sdk) #92 Increase Keychain SDK's throughput by batching requests into a single transaction
  • (snap) #83 Initial release of Warden Protocol's MetaMask snap
  • (build) #69 Add Makefile for building wardend
  • (faucet) #99 Rate limit faucet requests by IP address, not only by account
  • (faucet) #66 Batch multiple faucet request in a single transaction

Bug Fixes

  • (x/warden) #120 Don't stop Keys query if one key is invalid (i.e. fails to derive a layer 1 address)

v0.1.0 - 2024-03-06

Initial release of wardend and launch of the Alfama testnet.