npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@lokavaluto/lokapi-backend-comchain

v0.1.1-alpha.202411221910

Published

Comchain backend for Lokavaluto API

Downloads

289

Readme

This is a backend for managing any comchain currency through LokAPI. The latter aims at providing a simple framework for building client app to manage currency payments. You can refer to @lokavaluto/lokapi's doc to get more knowledge of how to use it.

Adding @lokavaluto/lokapi-backend-comchain to your project

From the root of your project:

npm install --save @lokavaluto/lokapi-backend-comchain

Or better, as @lokavaluto/lokapi-backend-comchain is still in early release,

npm install --save Lokavaluto/lokapi-backend-comchain#master

To be sure to get the latest version, relaunch this last command whenever you want to update.

Usage

You can provide this backend when subclassing LokAPI:

For instance:

import LokAPIBrowserAbstract from "@lokavaluto/lokapi-browser"

import comchain from '@lokavaluto/lokapi-backend-comchain'

class LokAPI extends LokAPIBrowserAbstract {

  BackendFactories = {
    comchain,
  }

  requestLocalPassword = async function (state: string) {
    // ... your UI code to request password from user
  }

  requestLogin() {
    // ... your UI code to request password from user
  }

}

if (!process.env.VUE_APP_LOKAPI_HOST) {
  throw new Error("Please specify VUE_APP_LOKAPI_HOST in '.env'")
}

if (!process.env.VUE_APP_LOKAPI_DB) {
  throw new Error("Please specify VUE_APP_LOKAPI_DB in '.env'")
}

export var lokAPI = new LokAPI(
  process.env.VUE_APP_LOKAPI_HOST,
  process.env.VUE_APP_LOKAPI_DB,
)

For usage of @lokavaluto/lokapi, please refer to @lokavaluto/lokapi's documentation.

Developers

To get started developing and tinkering with this code, you can:

Install dependencies

npm install

Build the project

npx tsc -w

Launch tests

Tests are managed through vitest

## Run test once
npm run test

Note that you can also use npx vitest command to launch tests in watch mode.

Changelog

0.1.1-alpha.202411221910

New

  • Use bigint for amount to prevent any quirks in balances result. [Valentin Lab]

  • Update to use financial backend's Backend.activateAccount(..) [Valentin Lab]

  • Add check of transaction id format on recipient.transfer(..) [Valentin Lab]

  • Make {User,}Account.getBalance() to specify a block point as first argument. [Seddik]

  • Add Recipient.discardCreateRequest() [Seddik Kadi]

  • Add Backend.registerWallet() to register a new wallet. [Seddik Kadi]

  • Provide UserAccount.getPendingTopUp() for convenience. [Valentin Lab]

  • Use new base Account provided by lokapi [Valentin Lab]

Changes

  • Split description into senderMemo and recipientMemo [Seddik]

  • Make Recipient.transfer() return a full Transaction object. [Valentin Lab]

Fix

  • Allow reloading getCurrencyMgr on failure only. [Valentin Lab]

  • Improve error reporting on common mis-configuration. [Valentin Lab]

  • Add retry mechanism for fetching transaction info. [Seddik]

  • Move misplaced console.log [Valentin Lab]

  • Compatibility with latest credit-request API endpoint. [Valentin Lab]

    Value is not anymore a string representing a date, but a timestamp. As a consequence we get a full date and time information for pending top-up requests.

  • Maintain compatibility with new jsc3l throwing real Error [Valentin Lab]

0.1.0 (2023-05-08)

New

  • Add Transaction.pending implementation. [Valentin Lab]

  • Add compatibility with new smartcontract with pledge and property admin. [Valentin Lab]

  • Add date filter to getTransactions(..) [Valentin Lab]

  • Update odoo API calls from comchain/partners to comchain/contact [Valentin Lab]

  • Add Recipient.getSymbol() method implementation. [Valentin Lab]

  • Add Recipient.fromUserAccount property. [Valentin Lab]

  • Add UserAccount.requestCredentials(..) to check credentials and return them. [Valentin Lab]

    Note that UserAccount.unlockWallet(..) and UserAccount.requestCredentials(..) can both provide their override of the general .requestLocalPassword method.

  • Provide UserAccount.requiresUnlock() to advertise if an unlock is required on current userAccount [Valentin Lab]

  • Make Backend.createUserAccount(..) return a UserAccount [Valentin Lab]

  • Single out insufficient balance error to throw common exception. [Seddik Kadi]

  • Throw exception upon transfer of invalid amounts. [Valentin Lab]

  • Add .makeCreditRequest(..) on backend and user account. [Valentin Lab]

  • Add .isActiveAccount() on user account. [Valentin Lab]

  • Add .creditable property on money account. [Valentin Lab]

  • Add .hasCreditRequestValidationRights() [Valentin Lab]

  • Add .validateCreation() on recipient. [Valentin Lab]

  • Catch and properly throw InactiveAccount when account seems locked. [Valentin Lab]

  • Add .hasUserAccountValidationRights() support. [Valentin Lab]

  • Add createUserAccount(..) [Valentin Lab]

  • Inactive user account don't have any money account accessible. [Valentin Lab]

  • User accounts can now act as money accounts containing other accounts. [Valentin Lab]

    In comchain we want a global account view and 2 sub accounts, so we can exploit this new feature.

  • Bank account provide a type property. [Valentin Lab]

    type property can return string "Nant" or "Cm". These are the two bank account type that can be attached to a comchain wallet.

  • Api v12 changed structure of backend data bank_accounts -> accounts [Valentin Lab]

  • Backend.internalId is now provided by super class. [Valentin Lab]

Changes

  • Remove API point {creditRequest,Transacion}.relatedUser [Valentin Lab]

    Was not bringing anything more than already existing API point related.

Fix

  • Make validated account standard user. [Valentin Lab]

    It doesn't change anything in current contract but costs less for the smart-contract and is probably a better default value for most current users.

  • Return source user for incoming transaction. [Valentin Lab]

    Prior to this fix, current user was returned.

  • Correct .getCreditUrl() from bogus behavior due to copy-paste typo. [Valentin Lab]

  • Prevent exception coming from deciphering transaction memo to break and provide sane default. [Valentin Lab]

  • Correctly provide the currency for each type of account. [Valentin Lab]

  • Don't try to uncipher transaction messages if no message key is available. [Valentin Lab]

  • Use account hex address in transaction if not found in administrative backend. [Valentin Lab]

0.0.1 (2021-11-17)

Other

  • First import. [Valentin Lab]