@tokenz/tokens-smartcontract-sdk
Version:
Smart Contract SDK for Tokenz STO platform
153 lines (135 loc) • 5.11 kB
JavaScript
'use strict'
const coreLib = require('./Core');
class KYC{
constructor(){
this.kycRegis = new coreLib("kycRegis");
this.setup = this.setup.bind(this);
this.setup();
this.fetchKYCDetails = this.fetchKYCDetails.bind(this);
this.setKYC = this.setKYC.bind(this);
this.fetchKYCDetails = this.fetchKYCDetails.bind(this);
this.setKYC = this.setKYC.bind(this);
this.fetchKYCProvider = this.fetchKYCProvider.bind(this);
this.enableServiceProvider = this.enableServiceProvider.bind(this);
this.disableSericeProvider = this.disableSericeProvider.bind(this);
this.setKYCdetails = this.setKYCdetails.bind(this);
this.disableKYC = this.disableKYC.bind(this);
this.checkKYCMap = this.checkKYCMap.bind(this);
this.fetchKYCStatus = this.fetchKYCStatus.bind(this);
}
async setup () {
return new Promise(async function (resolve, reject) {
try {
this.macContractAddress = await this.kycRegis.callData("maCAddr", []);
this.ruleEngineAddress = await this.kycRegis.callData("ruCAddr", []);
this.contractCategory = await this.kycRegis.callData("contractCategory", []);
this.contractType = await this.kycRegis.callData("contractType", []);
resolve(0);
} catch (err) {
window.Sentry.captureException(err);
console.log(err);
reject(0)
}
}.bind(this))
}
async fetchKYCDetails( address ) {
return new Promise(async function (resolve, reject) {
try {
let result = await this.kycRegis.callData( "kycDS", [address]);
resolve(result);
} catch (err) {
window.Sentry.captureException(err);
reject(0)
}
}.bind(this))
}
async setKYC() {
return new Promise(async function (resolve, reject) {
try {
let result = await this.kycRegis.sendTx("", []);;
resolve(result);
} catch (err) {
window.Sentry.captureException(err);
reject(0)
}
}.bind(this))
}
async fetchKYCProvider( address ) {
return new Promise(async function (resolve, reject) {
try {
let result = await this.kycRegis.callData("kycProvider", [ address ]);;
resolve(result);
} catch (err) {
window.Sentry.captureException(err);
reject(0)
}
}.bind(this))
}
async enableServiceProvider( address ) {
return new Promise(async function (resolve, reject) {
try {
let result = await this.kycRegis.sendTx("enableServiceProvider", [ address ]);
resolve(result);
} catch (err) {
window.Sentry.captureException(err);
reject(0)
}
}.bind(this))
}
async disableSericeProvider( address ) {
return new Promise(async function (resolve, reject) {
try {
let result = await this.kycRegis.sendTx("disableServiceProvider", [ address ]);;
resolve(result);
} catch (err) {
window.Sentry.captureException(err);
reject(0)
}
}.bind(this))
}
async setKYCdetails( address , hash , map , v , r , s) {
return new Promise(async function (resolve, reject) {
try {
let result = await this.kycRegis.sendTx("setKYCdetails", [ address , hash , map , v , r , s ]);;
resolve(result);
} catch (err) {
window.Sentry.captureException(err);
reject(0)
}
}.bind(this))
}
async disableKYC ( address ) {
return new Promise(async function (resolve, reject) {
try {
let result = await this.kycRegis.sendTx("disableKYC", [ address ]);;
resolve(result);
} catch (err) {
window.Sentry.captureException(err);
reject(0)
}
}.bind(this))
}
async checkKYCMap ( address , perm ) {
return new Promise(async function (resolve, reject) {
try {
let result = await this.kycRegis.callData("isValidKYCMap", [ address , perm ]);
resolve(result);
} catch (err) {
window.Sentry.captureException(err);
reject(0)
}
}.bind(this))
}
async fetchKYCStatus ( address ) {
return new Promise(async function (resolve, reject) {
try {
let result = await this.kycRegis.callData("isValidKYC", [address]);
resolve(result);
} catch (err) {
window.Sentry.captureException(err);
reject(0)
}
}.bind(this))
}
}
module.exports = KYC;