import "ordinal.scrypt"; contract OrdiNFTP2PKH { @state bool isOneSatNFT; const Ripemd160 addr; constructor(Ripemd160 addr) { this.isOneSatNFT = true; this.addr = addr; } function buildStateOutputNFT() : bytes { bytes stateScript = Ordinal.removeInsciption(this.getStateScript()); return Utils.buildOutput(stateScript, 1); } static function buildInscribedOutput(bytes script, bytes content, bytes contentType) : bytes { bytes part1 = Ordinal.createInsciption(content, contentType); bytes part2 = Ordinal.removeInsciption(script); return Utils.buildOutput(part1 + part2, 1); } public function unlock(Sig sig, PubKey pubkey) { require(hash160(pubkey) == this.addr); require(checkSig(sig, pubkey)); } }