CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-bitcoinjs-lib

Client-side Bitcoin JavaScript library for node.js and browsers with comprehensive Bitcoin protocol support

Overall
score

99%

Overview
Eval results
Files

rubric.jsonevals/scenario-10/

{
  "context": "This criteria evaluates how well the engineer uses bitcoinjs-lib to handle transaction input sequence numbers for Replace-By-Fee (RBF) signaling, relative time locks, and transaction finality. The focus is on proper usage of the Transaction class and correct sequence number encoding according to Bitcoin protocol standards.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Transaction construction",
      "description": "Uses bitcoinjs-lib Transaction class or TransactionBuilder to create transactions with inputs and outputs",
      "max_score": 20
    },
    {
      "name": "Custom sequence setting",
      "description": "Correctly sets sequence numbers on transaction inputs using the sequence property (e.g., tx.ins[i].sequence or addInput with sequence parameter)",
      "max_score": 25
    },
    {
      "name": "RBF signaling",
      "description": "Implements Replace-By-Fee by setting sequence numbers below 0xfffffffe (specifically 0xfffffffd or lower) to signal replaceability per BIP 125",
      "max_score": 20
    },
    {
      "name": "Relative timelock encoding",
      "description": "Correctly encodes relative time lock values in sequence numbers according to BIP 68 (using the lower 16 bits for block count, with bit 22 disabled for block-based locks)",
      "max_score": 25
    },
    {
      "name": "Final sequence check",
      "description": "Correctly identifies final transactions by checking if sequence number equals 0xffffffff (the standard final sequence value)",
      "max_score": 10
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/npm-bitcoinjs-lib

tile.json