1.0.2 • Published 7 months ago
@getsafle/vault-concordium-controller v1.0.2
vault-concordium-controller
Concordium controller for Safle Vault - A module written in JavaScript for managing Concordium accounts, identity operations, and transactions in Safle Vault.
Installation
npm install --save @getsafle/vault-concordium-controllerInitialize the Concordium Controller class
const { KeyringController, NETWORKS } = require('@getsafle/vault-concordium-controller');
const concordiumController = new KeyringController({
// Optional configuration
mnemonic: 'your mnemonic here', // Optional, will generate new if not provided
network: 'Testnet', // Default is 'Testnet', can be 'Mainnet'
identityIndex: 0, // Default identity index
encryptor: {
// An optional object for defining encryption schemes
encrypt(password, object) {
return new Promise('encrypted!');
},
decrypt(password, encryptedString) {
return new Promise({ foo: 'bar' });
},
},
});Methods
Set Network
// Change between Testnet and Mainnet
await concordiumController.setNetwork('Mainnet');Get Network Configuration
// Get current network configuration
const networkConfig = concordiumController.getNetworkConfig();Identity Management
Get Identity Providers
// Fetch list of available identity providers
const providers = await concordiumController.getIdentityProviders();Set Identity Provider
// Set the identity provider to use
await concordiumController.setIdentityProvider(provider);Create Identity Request
// Create a new identity request
const identityRequest = await concordiumController.createIdentityRequest();Send Identity Request
// Send identity request to the provider
const redirectUrl = await concordiumController.sendIdentityRequest(identityRequest, 'your-redirect-uri');Retrieve Identity
// Retrieve the identity object after user completes verification
const identity = await concordiumController.retrieveIdentity(redirectUrl);Initialize Identity
// Initialize identity for account creation
await concordiumController.initializeIdentity(identity);Clear Identity Flow
// Clear current identity flow data
concordiumController.clearIdentityFlow();Account Management
Add Account
// Create a new account
const account = await concordiumController.addAccount();
// Returns: { address: 'account-address' }Get Accounts
// Get all accounts
const addresses = await concordiumController.getAccounts();Get Balance
// Get balance for an account
const { balance } = await concordiumController.getBalance('account-address');Transaction Operations
Create Transfer Transaction
// Create a transfer transaction
const transaction = await concordiumController.createTransferTransaction(
'receiver-address',
10, // Amount in CCD
'sender-address'
);Sign Transaction
// Sign a transaction
const signature = await concordiumController.signTransaction(transaction);Send Transaction
// Send a signed transaction
const { transactionDetails } = await concordiumController.sendTransaction(transaction, signature);Recovery Operations
Restore Identity
// Restore identity using seed phrase
const identity = await concordiumController.restoreIdentityDynamic();Restore Accounts
// Restore accounts from network
const accounts = await concordiumController.restoreAccounts();License
MIT