@argonprotocol/mainchain
v0.0.24
Published
A client for accessing the Argon mainchain apis.
Downloads
1,146
Readme
This is a Node.js client for the Argon Protocol (https://argonprotocol.org). It is mostly autogenerated from the polkadot.js api (https://polkadot.js.org/api/).
Usage
To create a client, you can use the getClient(host)
function in the main module. This will return a client object that
is typed to the argon apis.
Wage Protector
If you want to protect wages against inflation or deflation of the Argon, there is a WageProtector
class that can be
used. You can use it a single time:
const {WageProtector} = require('@argonprotocol/mainchain');
const basePrice = 1_000_000n; // 1 Argon
const protector = await WageProtector.create(client);
const protectedPrice = protector.getProtectedWage(basePrice);
Or you can subscribe to changes (for instance, to track a series of valid cpi adjustments):
const {WageProtector} = require('@argonprotocol/mainchain');
const basePrice = 1_000_000n; // 1 Argon
const {unsubscribe} = await WageProtector.subscribe(client, (protectedPrice) => {
console.log(`Protected price: ${protectedPrice.getProtectedWage(basePrice)}`);
});
Each WageProtector
instance has the details of the Argon Target Price and USD price at the time of creation.
interface IArgonCpiSnapshot {
// The target price of the argon as a fixed point number (18 decimals)
argonUsdTargetPrice: bigint;
// The current price of the argon as a fixed point number (18 decimals)
argonUsdPrice: bigint;
// The block hash in which the cpi was finalized
finalizedBlock: Uint8Array;
// The tick that the cpi applies to
tick: bigint;
}