meta-contract-debug
Version:
Meta Contract SDK
39 lines (38 loc) • 1.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ContractAdapter = void 0;
const mvc_scrypt_1 = require("mvc-scrypt");
const mvc = require("../mvc");
class ContractAdapter {
constructor(contract) {
this._contract = contract;
}
get lockingScript() {
return this._contract.lockingScript;
}
get txContext() {
return this._contract.txContext;
}
get dataPart() {
return this._contract.dataPart;
}
get codePart() {
return this._contract.codePart;
}
setTxContext(txContext) {
this._contract.txContext = txContext;
}
setDataPart(dataPart) {
this._contract.setDataPartInASM(dataPart);
}
//取OP_RETURN之前的hash
getCodeHash() {
let codePart = this.codePart.toBuffer();
return (0, mvc_scrypt_1.toHex)(mvc.crypto.Hash.sha256ripemd160(codePart));
}
//取整体的hash
getScriptHash() {
return (0, mvc_scrypt_1.toHex)(mvc.crypto.Hash.sha256ripemd160(this.lockingScript.toBuffer()));
}
}
exports.ContractAdapter = ContractAdapter;