Skip to content

Releases: BitcreditProtocol/Bitcredit-Core

v0.4.9

02 Oct 14:52
591b77c
Compare
Choose a tag to compare
  • Identity Proof now requests URLs via nostr-relay HTTP proxy
  • Added identity and company blocks for identity proofs (breaking DB change)
  • Add job to regularly check identity proofs
  • Add default_court_url to config and add API to share a bill with a court
  • Add API to share company and identity details with an external party
  • Removed the concept of an Authorized Signer
  • Fix it so that Anon holders of a bill can do recourse (breaking DB and API change)
    • recourser went from BillIdentParticipant to BillParticipant
  • Added endpoints identityApi.dev_mode_get_full_identity_chain() and companyApi.dev_mode_get_full_company_chain(company_id) to show the full identity and company chains as JSON in dev mode
  • Fixed request to recourse validation
    • The bill is not blocked, if a req to recourse expired, or was rejected
    • It's now possible to recourse against the same person again
    • The last person in the chain can now reject a recourse (was broken before)
    • get_past_endorsees is calculated differently now - holders can only recourse against parties before the first block where they became a holder in the bill, even if they have multiple endorsement blocks in the bill
  • Cleanup deps, replace bcr-wdc-* deps with bcr-common, improve Github workflows
  • Implement the concept of logical contacts, which combine nostr contacts and contacts from the contact book (breaking DB change)
    • Added a contactApi.search call, where callers can search and filter for contacts from contact book, logical, or both

Version: v0.4.9

v0.4.8

17 Sep 11:00
90e61f6
Compare
Choose a tag to compare
  • Fix reject block propagation
  • Add last_block_time to LightBitcreditBillResult

Version: v0.4.8

v0.4.7

16 Sep 11:15
24b6a96
Compare
Choose a tag to compare
  • Added basic Dev Mode
    • Can be activated using the config flag dev_mode: true
    • If activated, it's possible to fetch a full JSON Bill Chain by ID with the bill data decrypted for debugging
      • Endpoint: dev_mode_get_full_bill_chain(bill_id: string): Promise<string[]> on Bill api
      • The resulting nested list of JSON strings can be consumed like this:
      await billApi.dev_mode_get_full_bill_chain(bill_id).map((b) => {
        const block = JSON.parse(b);
        return { ...block, data: JSON.parse(block.data) };
      })

Version: v0.4.7

v0.4.6

16 Sep 07:35
cef1114
Compare
Choose a tag to compare
  • Add basic logic for implementing (social) identity proofs
  • Add persistence, basic service layer and WASM API for identity proofs
  • Fix block propagation inconsistencies with company identities
  • Changed default relay to wss://bcr-relay-dev.minibill.tech
  • Change endorsements endpoint, making sure all endorsees (also anon) are displayed (breaking for API because of the return type)
  • Add last_block_time to status of BitcreditBillResult (breaking DB and API), so bill responses can be ordered by their last change
  • For the balance endpoint, don't add to contingency, if the current user is only in the guarantee chain as an anon endorsee (breaking DB change)

Version: v0.4.6

v0.4.5

05 Sep 11:38
0a3bc94
Compare
Choose a tag to compare
  • Add handling for RemoveSignatory from company, which flags the company as not active
  • Email Notifications
    • Add email notifications API
    • Add email notifications registration API
    • Add email notifications sending logic
  • Fix issue where the notification sender defaulted to the personal identity instead of the signer identity
  • Added app_url property to config - defaults to https://bitcredit-dev.minibill.tech (config break)
  • Small fix to WASM build addressing the rustwasm organization archiving
  • Added an API call sync_bill_chain, which re-synchronizes a bill via Nostr

Version: v0.4.5

v0.4.4

26 Aug 12:08
6b1fcea
Compare
Choose a tag to compare
  • Add num_confirmations_for_payment config flag and a payment_config part of the api config, to configure the amount of confirmations needed until an on-chain payment is considered paid
  • Rewrite payment logic to iterate transactions and calculate payment state based on the first transaction that covers the amount
    • We now are also able to differentiate between a payment not being sent, being in the mem pool, being paid and unconfirmed and paid and confirmed
    • Add payment state for sell, recourse and bill payments to DB (breaking DB change - reset IndexedDB)
    • Restructure BillCurrentWaitingState to remove duplication (breaking API change - check index.d.ts)
      • Add info for if a payment is in the mempool with it's transaction id, as well as how many confirmations it has, in the bill data (breaking DB change - reset IndexedDB)
  • Removed the gloo dependency, since it's going to be archived
  • Add chain propagation for company chains and identity chain
  • Implement recovery for personal identity, company identities and bills

Version: v0.4.4

v0.4.3

18 Jul 10:16
bf58b5c
Compare
Choose a tag to compare
  • Add endpoints to fetch files as base64 for identity, contacts, companies and bills
  • Add option to remove files for identity, contacts and companies - if the file upload id in the payload is missing, it's ignored, if it's explicitly set to undefined, the file is removed
  • Fix blank email validation for contacts and identities
  • Add different file size limits for pictures (avatar/logo - 20k) and documents (invoices, registration, passport - 1mb) as well as an upper limit for bill files (100)
    • This limit is checked at creation/update time, not at the time of uploading a temporary file
  • Add the address of the signer for the calls to endorsements and past_endorsees
  • Add api call active_notifications_for_node_ids on notification API, which returns for a set of node ids, whether they have active notifications
    • If the set of node ids is empty, only the node ids that have active notifications are returned

Version: v0.4.3

v0.4.2

15 Jul 09:15
f6edbe6
Compare
Choose a tag to compare
  • Add logic to get endorsees from plaintext chain
  • Use new payload for requesting to mint (Breaking - has to be coordinated with Wildcat deployment of this PR)

Version: v0.4.2

v0.4.1

04 Jul 14:39
ff135d8
Compare
Choose a tag to compare
  • Add file and pub key to bill to share with external party and add accessors to extract data
  • Upgrade wildcat and wallet-core dependencies

Version: v0.4.1

v0.4.0

30 Jun 12:14
9c2fae0
Compare
Choose a tag to compare
  • Switch to new chain transport leveraging public Nostr threads
  • Add plaintext_hash to Identity, Company and Bill Blocks, which is a hash over the plaintext data
    • (breaks all chains in the DB)
  • Add functionality for sharing a bill with an external party, encrypted, hashed, and signed, with the plaintext block data
  • Change visibility of bill_service::error and bill_service::service to private, moving the used types to bill_service
  • Add cargo deny

Version: v0.4.0