@fewcha/web3
Version:
The `@fewcha/web3` library aims to be an all-in-one toolkit to enable developers interact with Aptos Blockchain and its ecosystem.
178 lines (177 loc) • 7.47 kB
JavaScript
"use strict";
// Copyright 2022 Fewcha. All rights reserved.
Object.defineProperty(exports, "__esModule", { value: true });
exports.MartianMask = exports.MartianMaskToken = exports.MartianMaskSDK = void 0;
const types_1 = require("./types");
class MartianMaskSDK {
provider;
constructor(provider) {
this.provider = provider;
}
async getAccountResources(accountAddress, query) {
const res = await this.provider.getAccountResources(accountAddress);
return (0, types_1.createReponse)("getAccountResources", 200, res);
}
async getAccount(accountAddress) {
const res = await this.provider.getAccount(accountAddress);
return (0, types_1.createReponse)("getAccount", 200, res);
}
async getTransactions(query) {
let res = null;
if (query) {
res = await this.provider.getTransactions(query);
}
else {
res = await this.provider.getTransactions();
}
return (0, types_1.createReponse)("getTransactions", 200, res);
}
async getAccountTransactions(accountAddress, query) {
const res = await this.provider.getAccountTransactions(accountAddress);
return (0, types_1.createReponse)("getAccountTransactions", 200, res);
}
async getTransactionByHash(txnHash) {
const res = await this.provider.getTransaction(txnHash);
return (0, types_1.createReponse)("getTransactionByHash", 200, res);
}
async getChainId() {
const res = await this.provider.getChainId();
return (0, types_1.createReponse)("getChainId", 200, res);
}
}
exports.MartianMaskSDK = MartianMaskSDK;
class MartianMaskToken {
provider;
constructor(provider) {
this.provider = provider;
}
async createCollection(name, description, uri, maxAmount) {
const txnHash = await this.provider.createCollection(name, description, uri);
return (0, types_1.createReponse)("createCollection", 200, txnHash);
}
async createToken(collectionName, name, description, supply, uri, max, royalty_payee_address, royalty_points_denominator, royalty_points_numerator, property_keys, property_values, property_types) {
const txnHash = await this.provider.createToken(collectionName, name, description, supply, uri, 1);
return (0, types_1.createReponse)("createToken", 200, txnHash);
}
}
exports.MartianMaskToken = MartianMaskToken;
class MartianMask {
//todo: [generateRawTransaction,generateSignSubmitRawTransaction,BCS,generateSignSubmitWaitForTransaction]
provider;
user;
sdk;
token;
constructor(provider) {
this.provider = provider;
this.sdk = new MartianMaskSDK(provider);
this.token = new MartianMaskToken(provider);
}
setUser(user) {
this.user = user;
}
async reConnect() {
const response = await this.provider.connect();
if (response) {
const user = {
address: response.address,
publicKey: response.publicKey,
};
this.setUser(user);
}
}
async connect() {
const response = await this.provider.connect();
if (response) {
const user = {
address: response.address,
publicKey: response.publicKey,
};
this.setUser(user);
}
return (0, types_1.createReponse)("connect", 200, response);
}
async disconnect() {
const response = await this.provider.disconnect();
this.setUser(null);
return (0, types_1.createReponse)("disconnect", 200, response);
}
async isConnected() {
if (this.user.address && this.user.publicKey) {
return (0, types_1.createReponse)("isConnected", 200, true);
}
return (0, types_1.createReponse)("isConnected", 200, false);
}
async account() {
if (!this.user) {
await this.reConnect();
}
return (0, types_1.createReponse)("account", 200, this.user);
}
async getNetwork() {
const res = await this.provider.network();
console.log("7s62::getNetwork:", res);
return (0, types_1.createReponse)("getNetwork", 200, res);
}
async getNetworkURL() {
const res = await this.provider.network();
console.log("7s62::getNetworkURL:", res);
return (0, types_1.createReponse)("getNetworkURL", 200, res);
}
async getBalance() {
console.log("7s62::getBalance");
const res = await this.provider.legacy.getAccountBalance();
console.log("7s62::getBalance:", res);
return (0, types_1.createReponse)("getAccountBalance", 200, res);
}
async generateTransaction(payload, options) {
console.log("7s62::generateTransaction");
if (!this.user) {
await this.reConnect();
}
const res = await this.provider.generateTransaction(this.user.address, payload);
return (0, types_1.createReponse)("generateTransaction", 200, res);
}
async signTransaction(txnRequest) {
const res = await this.provider.signTransaction(txnRequest);
return (0, types_1.createReponse)("signTransaction", 200, res);
}
async submitTransaction(signedTxnRequest) {
const res = await this.provider.submitTransaction(signedTxnRequest);
return (0, types_1.createReponse)("submitTransaction", 200, res);
}
async generateSignSubmitTransaction(payload, extraArgs) {
console.log("7s62::generateSignSubmitTransaction");
if (!this.user) {
await this.reConnect();
}
const gen = await this.provider.generateTransaction(this.user.address, payload);
const sign = await this.provider.signTransaction(gen);
const sub = await this.provider.submitTransaction(sign);
return (0, types_1.createReponse)("generateSignSubmitTransaction", 200, sub);
}
async signAndSubmitTransaction(txnRequest) {
const res = await this.provider.signAndSubmitTransaction(txnRequest);
return (0, types_1.createReponse)("signAndSubmit", 200, res);
}
async signMessage(message) {
const res = await this.provider.signMessage(message);
return (0, types_1.createReponse)("signMessage", 200, res);
}
async createCollection(name, description, uri, maxAmount) {
const res = await this.provider.createCollection(name, description, uri, maxAmount);
return (0, types_1.createReponse)("createCollection", 200, res);
}
async createToken(collectionName, name, description, supply, uri, max, royalty_payee_address, royalty_points_denominator, royalty_points_numerator, property_keys, property_values, property_types) {
const res = await this.provider.createToken(collectionName, name, description, supply, uri, max, royalty_payee_address, royalty_points_denominator, royalty_points_numerator, property_keys, property_values, property_types);
return (0, types_1.createReponse)("createToken", 200, res);
}
async getTransactionByHash(txnHash) {
const res = await this.provider.getTransaction(txnHash);
return (0, types_1.createReponse)("getTransactionByHash", 200, res);
}
async getLedgerInfo() {
const res = await this.provider.getLedgerInfo();
return (0, types_1.createReponse)("getLedgerInfo", 200, res);
}
}
exports.MartianMask = MartianMask;