chedder
Version:
84 lines (82 loc) • 3.14 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ExtensionAPI = void 0;
const CLIConfig_js_1 = require("./CLIConfig.js");
const CommandsAPI_js_1 = require("./CommandsAPI.js");
const color = __importStar(require("./util/color.js"));
const near_rpc_js_1 = require("./near-api/near-rpc.js");
const conversion_js_1 = require("./util/conversion.js");
const chedder_js_1 = require("./contracts/chedder.js");
// -------------------------
// Commands API extensions
// -------------------------
class ExtensionAPI extends CommandsAPI_js_1.CommandsAPI {
constructor() { super(); }
;
// hm handy extension example
hm_HELP() {
return `
How much?
converts an amount in Yoctos into a more readable format.
Example:
>${CommandsAPI_js_1.nickname} hm 30037100000000000000000000
`;
}
hm(a) {
const str = a.consumeString("amount");
console.log(color.green, a.convertAmount(str + "Y", "N", "amount"), color.normal);
}
// where extension example
where_HELP() {
return `
Where is the contract?
show contract accountId
Example extension, gives the same information as: ${CommandsAPI_js_1.nickname} --info
Usage:
>${CommandsAPI_js_1.nickname} where [are] [you]
`;
}
where(a) {
a.optionalString("are");
a.optionalString("you");
a.noMoreArgs();
console.log("Contract is at ", color.green, CLIConfig_js_1.cliConfig.contractAccount, color.normal);
console.log("Default user is ", color.green, CLIConfig_js_1.cliConfig.userAccount, color.normal);
}
// balance extension example
state_HELP() {
return `
Get account
Usage:
>${CommandsAPI_js_1.nickname} state account_id
`;
}
async state(a) {
const receiverId = a.consumeString("receiverId");
let state = await near_rpc_js_1.queryAccount(receiverId);
let tokenBalance = await chedder_js_1.chedder.ft_balance_of(receiverId);
console.log(`Account:${receiverId}, Token Balance:${conversion_js_1.yton(tokenBalance)} CHDR, Native Balance:${conversion_js_1.yton(state.amount)} N`);
}
}
exports.ExtensionAPI = ExtensionAPI;
//# sourceMappingURL=ExtensionAPI.js.map