@payburner/keyburner-sidewinder-core
Version:
Core library for Keyburner Sidewinder
123 lines • 5.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TestTokenService = void 0;
const npm_1 = require("@payburner/keyburner-sidewinder-model/dist/npm");
class TestTokenService {
constructor() {
this.tokens = {};
this.accounts = {};
}
tokenId(environment, token_symbol) {
return environment + '/' + token_symbol;
}
createToken(token) {
const self = this;
return new Promise((resolve, reject) => {
if (typeof self.tokens[self.tokenId(token.environment, token.token_symbol)] === 'undefined') {
self.tokens[self.tokenId(token.environment, token.token_symbol)] = token;
resolve(token);
}
else {
reject('Token already exists.');
}
});
}
getToken(environment, token_symbol) {
const self = this;
return new Promise((resolve, reject) => {
if (typeof self.tokens[self.tokenId(environment, token_symbol)] === 'undefined') {
reject('Token not found.');
}
else {
const token = JSON.parse(JSON.stringify(this.tokens[self.tokenId(environment, token_symbol)]));
resolve(token);
}
});
}
getTokenAccount(environment, token_symbol, address) {
const self = this;
return new Promise((resolve, reject) => {
const account = self.accounts[npm_1.AccountUtils.calculateTokenAccountId(environment, token_symbol, address)];
if (typeof account === 'undefined') {
resolve(null);
}
else {
resolve(JSON.parse(JSON.stringify(account)));
}
});
}
isAddressPermissionedOnToken(environment, token_symbol, address) {
return new Promise((resolve) => {
resolve(false);
});
}
createTokenAccount(token_account) {
const self = this;
const environment = token_account.environment;
const address = token_account.account_owner_address;
const token_symbol = token_account.token_symbol;
return new Promise((resolve, reject) => {
if (typeof self.accounts[npm_1.AccountUtils.calculateTokenAccountId(environment, token_symbol, address)] !== 'undefined') {
reject('Account already exists.');
}
else {
self.accounts[npm_1.AccountUtils.calculateTokenAccountId(environment, token_symbol, address)] = token_account;
resolve(token_account);
}
});
}
setAmounts(environment, address, token_symbol, total_balance, available_balance) {
console.log('SET AMOUNTS:' + npm_1.AccountUtils.calculateTokenAccountId(environment, token_symbol, address) + ' ' + total_balance + ' ' + available_balance);
const self = this;
return new Promise((resolve, reject) => {
if (typeof self.accounts[npm_1.AccountUtils.calculateTokenAccountId(environment, token_symbol, address)] === 'undefined') {
reject('Account not found');
}
else {
self.accounts[npm_1.AccountUtils.calculateTokenAccountId(environment, token_symbol, address)].available_balance = available_balance.toFixed(0);
self.accounts[npm_1.AccountUtils.calculateTokenAccountId(environment, token_symbol, address)].total_balance = total_balance.toFixed(0);
resolve(true);
}
});
}
updateToken(token) {
const self = this;
const environment = token.environment;
const token_symbol = token.token_symbol;
return new Promise((resolve, reject) => {
if (typeof self.tokens[self.tokenId(environment, token_symbol)] === 'undefined') {
reject('Token not found.');
}
else {
this.tokens[self.tokenId(environment, token_symbol)] = token;
resolve(this.tokens[self.tokenId(environment, token_symbol)]);
}
});
}
freezeTokenAccount(environment, token_symbol, address) {
const self = this;
return new Promise((resolve, reject) => {
if (typeof self.accounts[npm_1.AccountUtils.calculateTokenAccountId(environment, token_symbol, address)] === 'undefined') {
reject('Account not found');
}
else {
self.accounts[npm_1.AccountUtils.calculateTokenAccountId(environment, token_symbol, address)].frozen = true;
resolve(self.accounts[npm_1.AccountUtils.calculateTokenAccountId(environment, token_symbol, address)]);
}
});
}
unFreezeTokenAccount(environment, token_symbol, address) {
const self = this;
return new Promise((resolve, reject) => {
if (typeof self.accounts[npm_1.AccountUtils.calculateTokenAccountId(environment, token_symbol, address)] === 'undefined') {
reject('Account not found');
}
else {
self.accounts[npm_1.AccountUtils.calculateTokenAccountId(environment, token_symbol, address)].frozen = false;
resolve(self.accounts[npm_1.AccountUtils.calculateTokenAccountId(environment, token_symbol, address)]);
}
});
}
}
exports.TestTokenService = TestTokenService;
//# sourceMappingURL=TestTokenService.js.map