sensible-sdk
Version:
Sensible-SDK
46 lines (45 loc) • 2.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.hasProtoFlag = exports.getProtoVersioin = exports.getProtoType = exports.getFlag = exports.getHeaderLen = exports.PROTO_TYPE = exports.HEADER_LEN = exports.PROTO_VERSION_OFFSET = exports.PROTO_VERSION_LEN = exports.PROTO_TYPE_OFFSET = exports.PROTO_TYPE_LEN = exports.PROTO_FLAG_LEN = exports.PROTO_FLAG = void 0;
exports.PROTO_FLAG = Buffer.from("sensible");
exports.PROTO_FLAG_LEN = exports.PROTO_FLAG.length;
exports.PROTO_TYPE_LEN = 4;
exports.PROTO_TYPE_OFFSET = exports.PROTO_FLAG_LEN + exports.PROTO_TYPE_LEN;
exports.PROTO_VERSION_LEN = 4;
exports.PROTO_VERSION_OFFSET = exports.PROTO_TYPE_OFFSET + exports.PROTO_VERSION_LEN;
exports.HEADER_LEN = exports.PROTO_VERSION_OFFSET;
var PROTO_TYPE;
(function (PROTO_TYPE) {
PROTO_TYPE[PROTO_TYPE["FT"] = 1] = "FT";
PROTO_TYPE[PROTO_TYPE["UNIQUE"] = 2] = "UNIQUE";
PROTO_TYPE[PROTO_TYPE["NFT"] = 3] = "NFT";
PROTO_TYPE[PROTO_TYPE["NFT_SELL"] = 65537] = "NFT_SELL";
})(PROTO_TYPE = exports.PROTO_TYPE || (exports.PROTO_TYPE = {}));
function getHeaderLen() {
return exports.HEADER_LEN;
}
exports.getHeaderLen = getHeaderLen;
function getFlag(script) {
return script.slice(script.length - exports.PROTO_FLAG_LEN, script.length);
}
exports.getFlag = getFlag;
function getProtoType(script) {
if (script.length < exports.PROTO_TYPE_OFFSET)
return 0;
return script.readUIntLE(script.length - exports.PROTO_TYPE_OFFSET, exports.PROTO_TYPE_LEN);
}
exports.getProtoType = getProtoType;
function getProtoVersioin(script) {
if (script.length < exports.PROTO_VERSION_OFFSET)
return 0;
return script.readUIntLE(script.length - exports.PROTO_VERSION_OFFSET, exports.PROTO_VERSION_LEN);
}
exports.getProtoVersioin = getProtoVersioin;
function hasProtoFlag(script) {
const flag = getFlag(script);
if (flag.compare(exports.PROTO_FLAG) === 0) {
return true;
}
return false;
}
exports.hasProtoFlag = hasProtoFlag;