Skip to content

Latest commit

 

History

History
284 lines (123 loc) · 7.83 KB

script_buf.md

File metadata and controls

284 lines (123 loc) · 7.83 KB

Module 0x4::script_buf

Struct ScriptBuf

#[data_struct]
struct ScriptBuf has copy, drop, store

Constants

const BITCOIN_PUBKEY_SIZE: u64 = 33;

const BITCOIN_X_ONLY_PUBKEY_SIZE: u64 = 32;

const ErrorInvalidKeySize: u64 = 1;

Function empty

Function new

public fun new(bytes: vector<u8>): script_buf::ScriptBuf

Function single

Function is_empty

public fun is_empty(self: &script_buf::ScriptBuf): bool

Function bytes

public fun bytes(self: &script_buf::ScriptBuf): &vector<u8>

Function into_bytes

public fun into_bytes(self: script_buf::ScriptBuf): vector<u8>

Function is_p2sh

Checks if the given script is a P2SH script.

public fun is_p2sh(self: &script_buf::ScriptBuf): bool

Function p2sh_script_hash

Get the script hash from a P2SH script. This function does not check if the script is a P2SH script, the caller must do that.

Function is_p2pkh

Checks if the given script is a P2PKH script.

public fun is_p2pkh(self: &script_buf::ScriptBuf): bool

Function p2pkh_pubkey_hash

Get the public key hash from a P2PKH script. This function does not check if the script is a P2PKH script, the caller must do that.

Function is_witness_program

public fun is_witness_program(self: &script_buf::ScriptBuf): bool

Function witness_program

Get the witness program from a witness program script.

Function is_op_return

Checks if the given script is an OP_RETURN script.

public fun is_op_return(self: &script_buf::ScriptBuf): bool

Function push_opcode

public fun push_opcode(self: &mut script_buf::ScriptBuf, opcode: u8)

Function push_data

public fun push_data(self: &mut script_buf::ScriptBuf, data: vector<u8>)

Function push_int

public fun push_int(self: &mut script_buf::ScriptBuf, n: u64)

Function push_key

Push a Bitcoin public key to the script

public fun push_key(self: &mut script_buf::ScriptBuf, key: vector<u8>)

Function push_x_only_key

Push a Bitcoin x-only public key to the script

public fun push_x_only_key(self: &mut script_buf::ScriptBuf, key: vector<u8>)