@axelar-network/axelar-cgp-sui
Version:
Axelar Sui Move contracts
48 lines • 2.46 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());
});
};
import { TxBuilderBase } from "./tx-builder-base";
import { addFile, getContractBuild as getMoveContractBuild, removeFile, writeInterchainToken } from './node-utils';
export class TxBuilder extends TxBuilderBase {
getContractBuild(packageName, moveDir = `${__dirname}/../../move`) {
return getMoveContractBuild(packageName, moveDir);
}
publishInterchainToken(moveDir, options) {
return __awaiter(this, void 0, void 0, function* () {
const { filePath, templateContent, templateFilePath } = writeInterchainToken(moveDir, options);
try {
// temporarily remove the template module to avoid publishing it unnecessarily
removeFile(templateFilePath);
return yield this.publishPackage('interchain_token', moveDir);
}
finally {
// remove the created module
removeFile(filePath);
// restore the template module
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);
});
}
}
//# sourceMappingURL=tx-builder.js.map