sensible-sdk
Version:
Sensible-SDK
39 lines (38 loc) • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ContractAdapter = void 0;
const scryptlib_1 = require("scryptlib");
const bsv = require("../bsv");
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.setDataPart(dataPart);
}
//取OP_RETURN之前的hash
getCodeHash() {
let codePart = this.codePart.toBuffer();
return (0, scryptlib_1.toHex)(bsv.crypto.Hash.sha256ripemd160(codePart));
}
//取整体的hash
getScriptHash() {
return (0, scryptlib_1.toHex)(bsv.crypto.Hash.sha256ripemd160(this.lockingScript.toBuffer()));
}
}
exports.ContractAdapter = ContractAdapter;