@axelar-network/axelar-cgp-sui
Version:
Axelar Sui Move contracts
52 lines • 2.63 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.TxBuilder = void 0;
const tx_builder_base_1 = require("./tx-builder-base");
const node_utils_1 = require("./node-utils");
class TxBuilder extends tx_builder_base_1.TxBuilderBase {
getContractBuild(packageName, moveDir = `${__dirname}/../../move`) {
return (0, node_utils_1.getContractBuild)(packageName, moveDir);
}
publishInterchainToken(moveDir, options) {
return __awaiter(this, void 0, void 0, function* () {
const { filePath, templateContent, templateFilePath } = (0, node_utils_1.writeInterchainToken)(moveDir, options);
try {
// temporarily remove the template module to avoid publishing it unnecessarily
(0, node_utils_1.removeFile)(templateFilePath);
return yield this.publishPackage('interchain_token', moveDir);
}
finally {
// remove the created module
(0, node_utils_1.removeFile)(filePath);
// restore the template module
(0, node_utils_1.addFile)(templateFilePath, templateContent);
}
});
}
publishPackage(packageName_1) {
return __awaiter(this, arguments, void 0, function* (packageName, moveDir = `${__dirname}/../../move`) {
const { modules, dependencies } = this.getContractBuild(packageName, moveDir);
return this.tx.publish({
modules,
dependencies,
});
});
}
publishPackageAndTransferCap(packageName_1, to_1) {
return __awaiter(this, arguments, void 0, function* (packageName, to, moveDir = `${__dirname}/../../move`) {
const cap = yield this.publishPackage(packageName, moveDir);
this.tx.transferObjects([cap], to);
});
}
}
exports.TxBuilder = TxBuilder;
//# sourceMappingURL=tx-builder.js.map