aboutsummaryrefslogtreecommitdiffstats
path: root/src/ark/board.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-08-05 12:24:03 -0700
committerAdam Soltys <[email protected]>2026-08-05 12:24:03 -0700
commit68fd614f8cb404904e1939ab711f7c7ba4350c32 (patch)
tree861637d85964802e37211d98d536d35d796ca1bd /src/ark/board.js
parent1307f8930283393fcf987cfa7e5cfa054676396a (diff)
downloadcoinosv3-68fd614f8cb404904e1939ab711f7c7ba4350c32.tar.gz
coinosv3-68fd614f8cb404904e1939ab711f7c7ba4350c32.zip
hal speaks pver 5: preimages prove their size, and fees round up as one
0.6.0 servers require the new hashlock clauses (OP_SIZE 32 guard) for Lightning and rounds. New policies/transitions carry the v1 scripts and type bytes; _v0 variants keep old vtxos reconstructing and exiting. The retired third-party HTLC policy is dropped (upstream took 0x08). Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01M5kFodm9azZJVTQxnkDdKe
Diffstat (limited to 'src/ark/board.js')
-rw-r--r--src/ark/board.js3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/ark/board.js b/src/ark/board.js
index f71c0b3..7544353 100644
--- a/src/ark/board.js
+++ b/src/ark/board.js
@@ -23,8 +23,9 @@ const u64le = (n) => {
// Fee fields are absent when zero (proto3) — e.g. Second's signet server
// boards for free — so every term defaults to 0.
+// pver >= 4 rounds the ppm component UP to the satoshi (server-side calculate()).
export const boardFee = (amountSat, fees = {}) =>
- Math.max(fees.minFeeSat || 0, (fees.baseFeeSat || 0) + Math.floor((amountSat * (fees.ppm || 0)) / 1_000_000));
+ Math.max(fees.minFeeSat || 0, (fees.baseFeeSat || 0) + Math.ceil((amountSat * (fees.ppm || 0)) / 1_000_000));
export const p2trAddress = (programXOnly, hrp = 'bcrt') =>
bech32m.encode(hrp, [1, ...bech32m.toWords(programXOnly)], 1023);