test: indexer (#26)

* test: indexer can hash, validate and index

* test: indexer can hash, validate and index

* bitcoin block and proof

* ERR-TOO-MANY-TXINS?

* clarity-bitcoin supports up to 32 vins/vouts/witnesses
This commit is contained in:
fiftyeightandeight
2023-09-21 16:16:58 +08:00
committed by GitHub
parent d6158b6368
commit e1b5eacb3d
5 changed files with 689 additions and 34 deletions

View File

@@ -9,7 +9,6 @@
(define-constant ERR-INVALID-COMMITMENT (err u1008))
(define-constant ERR-WITNESS-TX-NOT-IN-COMMITMENT (err u1009))
;; Reads the next two bytes from txbuff as a little-endian 16-bit integer, and updates the index.
;; Returns (ok { uint16: uint, ctx: { txbuff: (buff 4096), index: uint } }) on success.
;; Returns ERR-OUT-OF-BOUNDS if we read past the end of txbuff
@@ -129,7 +128,7 @@
(response {
ctx: { txbuff: (buff 4096), index: uint },
remaining: uint,
txins: (list 8 {
txins: (list 32 {
outpoint: {
hash: (buff 32),
index: uint},
@@ -161,7 +160,7 @@
index: (get uint32 parsed-index) },
scriptSig: (unwrap! (as-max-len? (get varslice parsed-scriptSig) u256) ERR-VARSLICE-TOO-LONG),
sequence: (get uint32 parsed-sequence)})
u8)
u32)
ERR-TOO-MANY-TXINS)}))
(ok state))
error
@@ -177,9 +176,9 @@
(parsed-num-txins (try! (read-varint ctx)))
(num-txins (get varint parsed-num-txins))
(new-ctx (get ctx parsed-num-txins)))
(if (> num-txins u8)
(if (> num-txins u32)
ERR-TOO-MANY-TXINS
(fold read-next-txin (unwrap-panic (slice? (list true true true true true true true true) u0 num-txins)) (ok { ctx: new-ctx, remaining: num-txins, txins: (list)})))))
(fold read-next-txin (unwrap-panic (slice? (list true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true) u0 num-txins)) (ok { ctx: new-ctx, remaining: num-txins, txins: (list)})))))
;; Read the next transaction output, and update the index in ctx to point to the next output.
;; Returns (ok { ... }) on success
@@ -191,7 +190,7 @@
(state-res
(response
{ ctx: { txbuff: (buff 4096), index: uint },
txouts: (list 8 {value: uint, scriptPubKey: (buff 128)})}
txouts: (list 32 {value: uint, scriptPubKey: (buff 128)})}
uint)))
(match state-res
state
@@ -206,7 +205,7 @@
(append (get txouts state)
{ value: (get uint64 parsed-value),
scriptPubKey: (unwrap! (as-max-len? (get varslice parsed-script) u128) ERR-VARSLICE-TOO-LONG)})
u8)
u32)
ERR-TOO-MANY-TXOUTS)}))
error (err error)))
@@ -220,14 +219,14 @@
(parsed-num-txouts (try! (read-varint ctx)))
(num-txouts (get varint parsed-num-txouts))
(new-ctx (get ctx parsed-num-txouts)))
(if (> num-txouts u8)
(if (> num-txouts u32)
ERR-TOO-MANY-TXOUTS
(fold read-next-txout (unwrap-panic (slice? (list true true true true true true true true) u0 num-txouts)) (ok { ctx: new-ctx, txouts: (list)})))))
(fold read-next-txout (unwrap-panic (slice? (list true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true) u0 num-txouts)) (ok { ctx: new-ctx, txouts: (list)})))))
(define-read-only (read-next-element
(ignored bool)
(state-res (response
{ctx: { txbuff: (buff 4096), index: uint }, elements: (list 8 (buff 256))}
{ctx: { txbuff: (buff 4096), index: uint }, elements: (list 32 (buff 256))}
uint)))
(match state-res
state
@@ -239,7 +238,7 @@
elements: (unwrap!
(as-max-len?
(append (get elements state) (unwrap! (as-max-len? (get varslice parsed-script) u256) ERR-VARSLICE-TOO-LONG))
u8)
u32)
ERR-TOO-MANY-TXOUTS)}))
error
(err error)))
@@ -247,7 +246,7 @@
(define-read-only (read-next-witness
(ignored bool)
(state-res (response
{ctx: {txbuff: (buff 4096), index: uint}, witnesses: (list 8 (list 8 (buff 256)))}
{ctx: {txbuff: (buff 4096), index: uint}, witnesses: (list 32 (list 32 (buff 256)))}
uint)))
(match state-res
state
@@ -256,28 +255,28 @@
(ctx (get ctx parsed-num-items))
(varint (get varint parsed-num-items)))
(if (> varint u0)
(let ((parsed-elements (try! (fold read-next-element (unwrap-panic (slice? (list true true true true true true true true) u0 varint)) (ok { ctx: ctx, elements: (list)})))))
(let ((parsed-elements (try! (fold read-next-element (unwrap-panic (slice? (list true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true) u0 varint)) (ok { ctx: ctx, elements: (list)})))))
(ok {
witnesses: (unwrap-panic (as-max-len? (append (get witnesses state) (get elements parsed-elements)) u8)),
witnesses: (unwrap-panic (as-max-len? (append (get witnesses state) (get elements parsed-elements)) u32)),
ctx: (get ctx parsed-elements)}))
(begin
(ok {
witnesses: (unwrap-panic (as-max-len? (append (get witnesses state) (list)) u8)),
witnesses: (unwrap-panic (as-max-len? (append (get witnesses state) (list)) u32)),
ctx: (get ctx parsed-num-items)}))))
error (err u1)))
(define-read-only (read-witnesses (ctx { txbuff: (buff 4096), index: uint }) (num-txins uint))
(fold read-next-witness
(unwrap-panic (slice? (list true true true true true true true true) u0 num-txins))
(unwrap-panic (slice? (list true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true) u0 num-txins))
(ok { ctx: ctx, witnesses: (list) })))
;; Helper functions for smart contract that want to use information of a Bitcoin transaction
;;
;; Parses a Bitcoin transaction, with up to 8 inputs and 8 outputs, with scriptSigs of up to 256 bytes each, and with scriptPubKeys up to 128 bytes.
;; Parses a Bitcoin transaction, with up to 32 inputs and 32 outputs, with scriptSigs of up to 256 bytes each, and with scriptPubKeys up to 128 bytes.
;; Returns a tuple structured as follows on success:
;; (ok {
;; version: uint, ;; tx version
;; ins: (list 8
;; ins: (list 32
;; {
;; outpoint: { ;; pointer to the utxo this input consumes
;; hash: (buff 32),
@@ -286,7 +285,7 @@
;; scriptSig: (buff 256), ;; spending condition script
;; sequence: uint
;; }),
;; outs: (list 8
;; outs: (list 32
;; {
;; value: uint, ;; satoshis sent
;; scriptPubKey: (buff 128) ;; parse this to get an address

View File

@@ -27,8 +27,8 @@
;; 'chain-id': uintCV(new StacksMainnet().chainId) | uintCV(new StacksMocknet().chainId),
;; }),
;; );
;; (define-constant message-domain 0x6d11cd301d11961e7cfeabd61e3f4da17f42f3d627362c8878aa9cbb5c532be2) ;;mainnet
(define-constant message-domain 0x84deb9a3b41b870d85819000deefa999f43b1bf2c3d80c3ea19d4b83b7b10fbc) ;; testnet
(define-constant message-domain 0x6d11cd301d11961e7cfeabd61e3f4da17f42f3d627362c8878aa9cbb5c532be2) ;;mainnet
;; (define-constant message-domain 0x84deb9a3b41b870d85819000deefa999f43b1bf2c3d80c3ea19d4b83b7b10fbc) ;; testnet
(define-data-var contract-owner principal tx-sender)
(define-map approved-relayers principal bool)

View File

@@ -32,8 +32,8 @@ const domainHash = structuredDataHash(
tupleCV({
name: stringAsciiCV('ALEX BRC20 Indexer'),
version: stringAsciiCV('0.0.1'),
// 'chain-id': uintCV(new StacksMainnet().chainId),
'chain-id': uintCV(new StacksMocknet().chainId),
'chain-id': uintCV(new StacksMainnet().chainId),
// 'chain-id': uintCV(new StacksMocknet().chainId),
}),
);

View File

@@ -27,6 +27,12 @@ const boolCV = types.bool;
const stringUtf8CV = types.utf8;
const listCV = types.list;
export const trimUintCV = (input: string | number) =>
typeof input === 'string'
? uintCV(input[input.length - 1] === 'n'
? input.substring(0, input.length - 1) : input)
: uintCV(input)
export const buff = (input: string | ArrayBuffer) =>
typeof input === 'string'
? input.length >= 2 && input[1] === 'x'
@@ -34,17 +40,32 @@ export const buff = (input: string | ArrayBuffer) =>
: `0x${input}`
: bufferCV(input);
export function txPackToTuple(txPack: { [key: string]: any }) {
const expected_struct = {
tx: txToTupleCV,
block: headerToTupleCV,
proof: proofToTupleCV,
"signature-packs": (input: any) => listCV(input.map((e: any) => signPackToTupleCV(e)))
}
const txPackTuple: { [key: string]: any } = {};
for (const [key, func] of Object.entries(expected_struct))
if (key in txPack) txPackTuple[key] = func(txPack[key]);
else throw new Error(`TxPack object missing '${key}' field`);
return txPackTuple;
}
export function txToTuple(tx: { [key: string]: any }) {
const expected_struct = {
'bitcoin-tx': (input: any) => buff(input),
output: uintCV,
offset: uintCV,
output: (input: any) => trimUintCV(input),
offset: (input: any) => trimUintCV(input),
tick: stringUtf8CV,
amt: uintCV,
amt: (input: any) => trimUintCV(input),
from: (input: any) => buff(input),
to: (input: any) => buff(input),
'from-bal': uintCV,
'to-bal': uintCV
'from-bal': (input: any) => trimUintCV(input),
'to-bal': (input: any) => trimUintCV(input)
};
const txTuple: { [key: string]: any } = {};
for (const [key, func] of Object.entries(expected_struct))
@@ -61,8 +82,8 @@ export function txToTupleCV(tx: { [key: string]: any }) {
export function proofToTuple(proof: { [key: string]: any }) {
const expected_struct = {
hashes: (input: any) => listCV(input.map((e: any) => buff(e))),
"tree-depth": uintCV,
"tx-index": uintCV
"tree-depth": (input: any) => trimUintCV(input),
"tx-index": (input: any) => trimUintCV(input)
}
const proofTuple: { [key: string]: any } = {};
for (const [key, func] of Object.entries(expected_struct))
@@ -79,7 +100,7 @@ export function proofToTupleCV(proof: { [key: string]: any }) {
export function headerToTuple(header: { [key: string]: any }) {
const expected_struct = {
header: (input: any) => buff(input),
height: uintCV
height: (input: any) => trimUintCV(input)
}
const headerTuple: { [key: string]: any } = {};
for (const [key, func] of Object.entries(expected_struct))
@@ -184,3 +205,5 @@ export function prepareChainBasicTest(
)
]);
}

View File

@@ -12,6 +12,7 @@ import {
proofToTuple,
proofToTupleCV,
signPackToTupleCV,
trimUintCV,
Tx,
txToTuple,
txToTupleCV,
@@ -108,7 +109,7 @@ const transfer_data =
const transfer_event =
{
"amt": "2000000000000000000000",
"bitcoin-tx": "0x5760346ab0ebb18084432eea1c8f921f36e2517e0e3fea9741a1523cd5e47feb",
"bitcoin-tx": "020000000001023b60360302413eb08aa015bcc108474eaa2aa4b5fb1e420a4abc5c170410952e0000000000ffffffffad4836f6077e2a02a2ac0198a70374759f8fece545d2c0e12b5ba9ca9efc3fc50400000017160014770dea24279344035fbb90eab3a156b43c183decffffffff022202000000000000225120c981bdfa5eaab9d6d0da158144e1c519411e76bf11e4c5deba73b358431b53b70a7300000000000017a914fe8b7a0c78c3af44ceea9e2b033d9220631ecf9e8701401442fa68d11c85791ffd3a7efa5ceedaa4bb51ee280c0b428f4ce2c6041261a1bee22084c073efff332d6264db9e84533d8aed41ddaee96cb166fdbb70a634f802483045022100eedf43522e4fb9c7c8aa1daddf31f2f48aaefb0741a14d5b1dc390420b8bca2c02207718fe6f3dfd1291bc4cafd6ef73c58237df20528737029dd15f35d18d611ef6012103f7cefdc7515124973cb02a6f17704e254e08f6025636e68f43ebee86fe3c724100000000",
"output": "0",
"offset": "0",
"tick": "igli",
@@ -220,11 +221,11 @@ Clarinet.test({
const proof = transfer_data.proof;
// ts-node scripts/generate-tx-hash.ts 'tx'
const txHash = "0x787e5295574228227cecc76ad31d42600ceb494c476ab57f73c8c15f0acf0205";
const txHash = "0xdf96392c1af8d28720f1d6bed1bc2299d320f3d5081af39cd87385f2908aeb06";
// ts-node scripts/sign-tx-hash '7287ba251d44a4d3fd9276c88ce34c5c52a038955511cccaf77e61068649c17801' 'txHash'
const signaturePack = {
signature: "0x54bbe36fcee982fc7535ff1aaaaae8da69b5ecbd181423a6c14efaf5caae6e6442e2002082c957f07569a766f9db1ff2e1b9d77f9f37e8ab3bf771efba39ddf200",
signature: "0xe254e50e3437a6c6b6f9803530574b3db6dfba2d1667775553448bbc25c0c05f4491d2323ca61b835dbb3f952032333cb652b37ff1008487e11eeceafcb61cfd01",
signer: validator.address,
"tx-hash": txHash
};
@@ -257,5 +258,637 @@ Clarinet.test({
block.receipts.map((e: any) => {
e.result.expectOk()
});
const rawData = [
{
"block": {
"header": "0x0020fe30595c9963a63c1549cc212ad519ee7a68d72decbb0d39020000000000000000009a37c2013e67d266ca248bbe83b32b744ec5ad01633965954e8e34588033a38c2ed20a657fed04173aad24d1",
"height": "808561n"
},
"proof": {
"hashes": [
"0x9fd2d1b8032388ac8e99757c935ebc2c94886dc0fcee47a93dceac263ef13714",
"0x9ee7e1f3f9097249190e9e6d10321ff158fd7e077b29259323fcab53a0036db9",
"0xbabb42639bc7416b5a10703212cdd593480537f8295b348a99d64d6062f96a60",
"0xb7fea121c52df49d84c2324c3c23bb605d9b7f406ba1620bbbd946c148380e61",
"0xc4b53e96e7e11b6dda990672e65e6ae5c3790a12ac42aa12be2ddeffa6f2669d",
"0x470889e314c79af1167c7474cc1cc3fc04c2a9ef08d35ed2fb5b6805f9e78c0c",
"0xab3c926bac5744e02c98f1533771a25ece7685453a55979f956304ad80325732",
"0xd9c0034f9dac736a02457d2114799b47859b6df538dfd4e815a637d90f724c0f",
"0x4d79cd81a31744b1710a661273972c3067716602ea50ac38cd218dea77f89694",
"0x867ca09cc3d005f97584c87553a4ac9a87d14c18aa9762bf5f2802324c832241",
"0xcc92d4509daf32e41eaf6437abd0ec0b3ce1d763ec1bf4fc52b6dbf0250d2526",
"0xadfffa40fa81a7a3064837d9f825a1819972313d7c4eded0a1f28b1a9be52b44"
],
"tree-depth": "12n",
"tx-index": "2039n"
},
"signature-packs": [
{
"signature": "0x4e45261f82b8cbde5bd183933abb0c9712dba862372ea6e3e34397c3721ef9e75a33f1c5daa99ee56875254763a6d1a8e7198ace9dc142d372ba5ec7deafe05900",
"signer": "SP1B0DHZV858RCBC8WG1YN5W9R491MJK88QPPC217",
"tx-hash": "0x8fe3b3a806c16984396b0f1bdfaba168ffdcd026ed528334320cecbf701059d0"
}
],
"tx": {
"amt": "200000000000000000000000000000n",
"bitcoin-tx": "0x020000000001051c1ec62749726eba28224d15e798690f54685b8829253b1944b8d2ccdfce55bd0400000000ffffffff1c1ec62749726eba28224d15e798690f54685b8829253b1944b8d2ccdfce55bd0500000000ffffffff7a77b2ab70ae2076f4cfca31d810bd41e3016ce1dff48b803437ae9ccd0c1a920000000000ffffffff673925e67cb0728039b3f66c99eb0ac1904294efed265dc74b6a60223eecc84f0400000000ffffffff1c1ec62749726eba28224d15e798690f54685b8829253b1944b8d2ccdfce55bd0000000000ffffffff075802000000000000160014b869cde74736699a4dac1deaf405a267e8c6fc9d2202000000000000160014b08fa6e51d1d600c0b1256cea8e771adef96feb250fe8800000000001600145724f67bf087dcf5d402d83c7fcf97bb512c8ec890180100000000001600149064406dd1b4babae07001ecb381c1f40053a1776e0d570200000000160014b08fa6e51d1d600c0b1256cea8e771adef96feb22c01000000000000160014b869cde74736699a4dac1deaf405a267e8c6fc9d2c01000000000000160014b869cde74736699a4dac1deaf405a267e8c6fc9d024730440220764163c7fec97bf6e7c46424da398d1a8abd15534501b3fba6b070846b62bd5c022070b1ebeb6ab1e1872cc760a66ace94dd478669dab7e35081767a4dce8dc09bdc012103f0b2a2512f5fbc16fdccc016fc475e8f7c5f070556678c843e43bdacdafe6c4702483045022100c2866ecf80662f3b12b1c6228161e1f921b93051ea35ec7ec914dedd6414024a02203af51eac69040e237fb6ec72599ba45ba5cf01ceeb91cab63668e704d6e7e173012103f0b2a2512f5fbc16fdccc016fc475e8f7c5f070556678c843e43bdacdafe6c470247304402207beb949cf424cce801c1f8e1f579931314aa0ea8ed819daf3498e340e813c64602205d7f0f3f46317c5ee523249f959b80b84b49b782b24466dda6610c126913c80b8321021da7884c702f4a1a9053adda6c1ee7adc48876ef3b69d54ef66e8def0a42e07d02473044022044b6085c20971edfcce0e5d8b3ef79b6cd1deda9681509d6007504a4a92e0ff602205de33f135f5e69359f3fd4fdd304162c6f8dad9ca4f48df8419a2de4ae6853e701210312dca113083db2dc74e90404e560bf3a6519d6e83231f6b5a2c5aef51388c463024730440220777f411ba89871adcd796931207ed38cab97f0bb6479a5214bc076888796b27802206e39830ab5b9cbaca9171bf4bea0b9cc7118a52ecfa762724e3ce46ac06e1add012103f0b2a2512f5fbc16fdccc016fc475e8f7c5f070556678c843e43bdacdafe6c4700000000",
"from": "0x00145724f67bf087dcf5d402d83c7fcf97bb512c8ec8",
"from-bal": "437496000000000000000000000000n",
"offset": "0n",
"output": "1n",
"tick": "sats",
"to": "0x0014b08fa6e51d1d600c0b1256cea8e771adef96feb2",
"to-bal": "950000000000000000000000000000n"
}
},
{
"block": {
"header": "0x0020fe30595c9963a63c1549cc212ad519ee7a68d72decbb0d39020000000000000000009a37c2013e67d266ca248bbe83b32b744ec5ad01633965954e8e34588033a38c2ed20a657fed04173aad24d1",
"height": "808561n"
},
"proof": {
"hashes": [
"0x0ea8e893cbee96fbd7cd50f3a11cc08cfb4a43ca0ebf46c0ed4150c429871ba7",
"0x3e4097279db3a422dc522c7545060fe85b547e381cee0f9b10c3ebe277412997",
"0x786f1d50ba81cc207cd762e584737a6f3183c1316f6209eb81a75a96a07fc68c",
"0x43062b11305e5e888f46ea66a9d32a68a40198274967361c4a6db9acbcf5b6cd",
"0xc4b53e96e7e11b6dda990672e65e6ae5c3790a12ac42aa12be2ddeffa6f2669d",
"0x470889e314c79af1167c7474cc1cc3fc04c2a9ef08d35ed2fb5b6805f9e78c0c",
"0xab3c926bac5744e02c98f1533771a25ece7685453a55979f956304ad80325732",
"0xd9c0034f9dac736a02457d2114799b47859b6df538dfd4e815a637d90f724c0f",
"0x4d79cd81a31744b1710a661273972c3067716602ea50ac38cd218dea77f89694",
"0x867ca09cc3d005f97584c87553a4ac9a87d14c18aa9762bf5f2802324c832241",
"0xcc92d4509daf32e41eaf6437abd0ec0b3ce1d763ec1bf4fc52b6dbf0250d2526",
"0xadfffa40fa81a7a3064837d9f825a1819972313d7c4eded0a1f28b1a9be52b44"
],
"tree-depth": "12n",
"tx-index": "2040n"
},
"signature-packs": [
{
"signature": "0x94cb72bd57da8712c1ccbb3d8a577737e1f16249b81bdcc893c8154a3a4b79cd49ac968ba73e21288b72c6c3d94a181543fae9b60f6200c97e54a2bac63cd9cd01",
"signer": "SP1B0DHZV858RCBC8WG1YN5W9R491MJK88QPPC217",
"tx-hash": "0xf4ef0098753363b9d74257ad469a73fc513429315c501863c10a1f35b9001a8c"
}
],
"tx": {
"amt": "200000000000000000000000000000n",
"bitcoin-tx": "0x02000000000105e49b742235fb0990cbb8af144c328fc58c1238a83823ef262b3f19c5eba1fdb80400000000ffffffffe49b742235fb0990cbb8af144c328fc58c1238a83823ef262b3f19c5eba1fdb80500000000ffffffff2fa64006ecb092508df9047a0ba4acf30b885a5ffecd9a7bc1d96f25dd44ca6c0000000000ffffffff7d147443fb9120e3d816bfc648fcd14d472ffed095f64488fa966728d51a3bad0400000000ffffffffe49b742235fb0990cbb8af144c328fc58c1238a83823ef262b3f19c5eba1fdb80000000000ffffffff075802000000000000160014b5680b1069f237f729e9eed21b1e7d23f7f72d2e2202000000000000160014b08fa6e51d1d600c0b1256cea8e771adef96feb220068900000000001600145724f67bf087dcf5d402d83c7fcf97bb512c8ec8a0180100000000001600149a02eb437636598c4146f90fca678ad936030c6864bacc0100000000160014b08fa6e51d1d600c0b1256cea8e771adef96feb22c01000000000000160014b5680b1069f237f729e9eed21b1e7d23f7f72d2e2c01000000000000160014b5680b1069f237f729e9eed21b1e7d23f7f72d2e02473044022069eb4bbb69942798cec786be10e202b5edac4bc8b145196ecca3ee2a8b62e73e022047205ea8320ff52d399f1c8584048d87c64d79b5f5d67ead6d04aa1a041187380121037633e9fa2bfec14120d994358cfd4df362b288d6de8c1d68604fcaac9f982f6d02483045022100f7d6cecc16d87d806e906923526210659bd5e29bd6b76cc2e1559c7b2ecd069102205c563cba8671b895f10120e6b0ea56ef0e6531e861cad81e665555bdd216bbf30121037633e9fa2bfec14120d994358cfd4df362b288d6de8c1d68604fcaac9f982f6d024830450221009586ea48d0d077ca1702301dbea46db2c4808e2558f5eb6c39e241b08527718d02204bf94bf15f82e1f60a2ffe32f30a9f9d0a500f09c21a534bda82d70287892a0e8321021da7884c702f4a1a9053adda6c1ee7adc48876ef3b69d54ef66e8def0a42e07d0247304402200f571a9ee694184996efe470d96a1178d57aa06b391ab53ccf49843b82b983b302207131e0c3a5185046459c17d0c8259b4629db11d90077cc26ad6d285d33741c4601210312dca113083db2dc74e90404e560bf3a6519d6e83231f6b5a2c5aef51388c46302473044022067ecfcbf5aeb3994d57232b2115845fa383c1f9b41b69613596659ee6163f6c9022000fa90ec1212d91cfed05c5828f636d4c5b61eb0f911b36df8a6510e0020407d0121037633e9fa2bfec14120d994358cfd4df362b288d6de8c1d68604fcaac9f982f6d00000000",
"from": "0x00145724f67bf087dcf5d402d83c7fcf97bb512c8ec8",
"from-bal": "437496000000000000000000000000n",
"offset": "0n",
"output": "1n",
"tick": "sats",
"to": "0x0014b08fa6e51d1d600c0b1256cea8e771adef96feb2",
"to-bal": "950000000000000000000000000000n"
}
},
{
"block": {
"header": "0x0020fe30595c9963a63c1549cc212ad519ee7a68d72decbb0d39020000000000000000009a37c2013e67d266ca248bbe83b32b744ec5ad01633965954e8e34588033a38c2ed20a657fed04173aad24d1",
"height": "808561n"
},
"proof": {
"hashes": [
"0x90c0f8b5d744fc0e9686780332aa2a2e0fe8cbff1ccc8467d8725ad45de841d6",
"0xf8267c387fe2f77283a003c2416692408442f2346142d6c2184688e295f5b642",
"0x786f1d50ba81cc207cd762e584737a6f3183c1316f6209eb81a75a96a07fc68c",
"0x43062b11305e5e888f46ea66a9d32a68a40198274967361c4a6db9acbcf5b6cd",
"0xc4b53e96e7e11b6dda990672e65e6ae5c3790a12ac42aa12be2ddeffa6f2669d",
"0x470889e314c79af1167c7474cc1cc3fc04c2a9ef08d35ed2fb5b6805f9e78c0c",
"0xab3c926bac5744e02c98f1533771a25ece7685453a55979f956304ad80325732",
"0xd9c0034f9dac736a02457d2114799b47859b6df538dfd4e815a637d90f724c0f",
"0x4d79cd81a31744b1710a661273972c3067716602ea50ac38cd218dea77f89694",
"0x867ca09cc3d005f97584c87553a4ac9a87d14c18aa9762bf5f2802324c832241",
"0xcc92d4509daf32e41eaf6437abd0ec0b3ce1d763ec1bf4fc52b6dbf0250d2526",
"0xadfffa40fa81a7a3064837d9f825a1819972313d7c4eded0a1f28b1a9be52b44"
],
"tree-depth": "12n",
"tx-index": "2042n"
},
"signature-packs": [
{
"signature": "0xfc6dd6740ebc0caaf7df4d8a52e51148ac7ed907db38112939b6c27c214d44480cf06cfb824545f3fe10d802ed993c91dbeb19b5846978a43d6c1b62cf2f3bff00",
"signer": "SP1B0DHZV858RCBC8WG1YN5W9R491MJK88QPPC217",
"tx-hash": "0x43e3023542228134d59b9bc67ffb916843d899f0bb98a45fea3920d9ec0c9031"
}
],
"tx": {
"amt": "100000000000000000000000000000n",
"bitcoin-tx": "0x0200000000010562870cf4ae9a077010cf6c95d5a706dbc2b1c671abd0cc181c6e851b1dc6eafe0400000000ffffffff62870cf4ae9a077010cf6c95d5a706dbc2b1c671abd0cc181c6e851b1dc6eafe0500000000ffffffff638ee1007662358e3e8a303952ea376807dfa4e72436a098291046f6d43191180000000000ffffffff86911d129f4924e99bc5dd4b5676347dabf4ecd9db144fe9565bd23cf15d94251500000000ffffffff62870cf4ae9a077010cf6c95d5a706dbc2b1c671abd0cc181c6e851b1dc6eafe0000000000ffffffff0758020000000000001600144ed4f0bacdbd7592e28d71bc2487cb66ffc5e5f32202000000000000160014acd8dac027dfb3b733e44d91b973381dfdabbfc3407b440000000000160014eb27cff1956f955b59e98b63df0c4e7d0f6bb6f4408c000000000000160014132be1a33dda18cb6a3fef96aa9282ea40834a0e7fa12f0000000000160014acd8dac027dfb3b733e44d91b973381dfdabbfc32c010000000000001600144ed4f0bacdbd7592e28d71bc2487cb66ffc5e5f32c010000000000001600144ed4f0bacdbd7592e28d71bc2487cb66ffc5e5f302483045022100f9feefa08a01072fa0c6e57318d730e11f4a3486aa99b102b90a31637b11bcf50220575f3c45ed12a75471aca2cd18b40e18c4810705740cc6e550e3c6cf62a4d47401210239000597c951da8f4050c7a9a5e7d0e745ebe49c47da53fb0570e10342d800190247304402203c122bb0f4b92f0595710bc1ba0c737194272468a9e080b27d16019bc7e7f87d02202342296b1c24cba26051840d5cd3ae0d4a95a7c3fcca4b1482c8a1e1b900e20801210239000597c951da8f4050c7a9a5e7d0e745ebe49c47da53fb0570e10342d8001902483045022100993344f186a8788e8c082be245860fb6797391df827a300bad61a89c132609e40220624483ed8d8b6e37282b562c71ea2b3b9f7c8e6f21d79525746cd90c0c1f26388321023c1206bba1c9cd2455ff708eb0ae318180425cb21436ec33e93308dc45b53a550248304502210084fc802c09652d61f85874efe1bf669b884984162cd8d6d282fc2eb5fa1af1c7022004c8dfcc18ba06fb5fe276549e75eb59b6ced011d8b04ea6f5e1970996a5ac48012102dd0389ab04823e57102370f12e6d4ed1041c927d3f4c372787c8e17eec4b81c002483045022100bb32ad294da8ad2ec1edde8928a53b1313143103d38c022ec7460e14ea543bba02204b57c7d85da4d5682910c093b62f80658eb8e567751ee4f2e96f8822021f638a01210239000597c951da8f4050c7a9a5e7d0e745ebe49c47da53fb0570e10342d8001900000000",
"from": "0x0014eb27cff1956f955b59e98b63df0c4e7d0f6bb6f4",
"from-bal": "391499792285000000000000000000n",
"offset": "0n",
"output": "1n",
"tick": "sats",
"to": "0x0014acd8dac027dfb3b733e44d91b973381dfdabbfc3",
"to-bal": "275000000000000000000000000000n"
}
},
{
"block": {
"header": "0x0020fe30595c9963a63c1549cc212ad519ee7a68d72decbb0d39020000000000000000009a37c2013e67d266ca248bbe83b32b744ec5ad01633965954e8e34588033a38c2ed20a657fed04173aad24d1",
"height": "808561n"
},
"proof": {
"hashes": [
"0x02f5948ff76e3be42ed288cf9ca1cad9ae44ef13123d201bdc3b5fdd579095bc",
"0xf8267c387fe2f77283a003c2416692408442f2346142d6c2184688e295f5b642",
"0x786f1d50ba81cc207cd762e584737a6f3183c1316f6209eb81a75a96a07fc68c",
"0x43062b11305e5e888f46ea66a9d32a68a40198274967361c4a6db9acbcf5b6cd",
"0xc4b53e96e7e11b6dda990672e65e6ae5c3790a12ac42aa12be2ddeffa6f2669d",
"0x470889e314c79af1167c7474cc1cc3fc04c2a9ef08d35ed2fb5b6805f9e78c0c",
"0xab3c926bac5744e02c98f1533771a25ece7685453a55979f956304ad80325732",
"0xd9c0034f9dac736a02457d2114799b47859b6df538dfd4e815a637d90f724c0f",
"0x4d79cd81a31744b1710a661273972c3067716602ea50ac38cd218dea77f89694",
"0x867ca09cc3d005f97584c87553a4ac9a87d14c18aa9762bf5f2802324c832241",
"0xcc92d4509daf32e41eaf6437abd0ec0b3ce1d763ec1bf4fc52b6dbf0250d2526",
"0xadfffa40fa81a7a3064837d9f825a1819972313d7c4eded0a1f28b1a9be52b44"
],
"tree-depth": "12n",
"tx-index": "2043n"
},
"signature-packs": [
{
"signature": "0xdf8efdd42ceaab5f9655079a60e99da2b504b5060da00f33de3305fcb131105825b4438725a75c80d2cd4a0d4ec8cc7c42c4e7ffedcfb519dda3a1bc1c6ea94201",
"signer": "SP1B0DHZV858RCBC8WG1YN5W9R491MJK88QPPC217",
"tx-hash": "0xef39c152aed83983ac9694f667fe9c946bf2ca94f111095196f8904b55645fc4"
}
],
"tx": {
"amt": "50000000000000000000000000000n",
"bitcoin-tx": "0x0200000000010502dfbd29140084547c40fd5f421d3424dd1a7e74785ec589bf19c500527b808d0400000000ffffffff02dfbd29140084547c40fd5f421d3424dd1a7e74785ec589bf19c500527b808d0500000000ffffffff7b154135577dedf9ad3f21620a32789319c65809ae7f21bad038ff0362c7c9120000000000ffffffff02f5948ff76e3be42ed288cf9ca1cad9ae44ef13123d201bdc3b5fdd579095bc0400000000ffffffff02dfbd29140084547c40fd5f421d3424dd1a7e74785ec589bf19c500527b808d0000000000ffffffff0758020000000000001600141681765cd25442498280c444115decf2b9b2e4cf2202000000000000160014acd8dac027dfb3b733e44d91b973381dfdabbfc31c53220000000000160014ee01edd0dc129fe1085fd9ecec0306c72e2b7a154c460000000000001600141ef6ba18a3bc036b0e09c152d7dac0ef681a2dcbcdd30c0000000000160014acd8dac027dfb3b733e44d91b973381dfdabbfc32c010000000000001600141681765cd25442498280c444115decf2b9b2e4cf2c010000000000001600141681765cd25442498280c444115decf2b9b2e4cf02483045022100f0845eb245e543d76d1b747beae23cb1744174ad5786d50ed483373b16863c730220156b6181f09b7c3f1f61c9f79ce5dae6019cbcbbfa62160351989212eb71a61301210248ca6acaef935769a7117771ecf1055c754fcd6b6b61d9cb3fcd3ccfc890685d024830450221009c89e2ccd81aaf14ee4fee8d0ff56560da9e5f585c3c226fe72c0229a376c86102201540026ae038ab33ced6ad46ed8be49fa46d00ee7388f64718b4b7b59bf722b901210248ca6acaef935769a7117771ecf1055c754fcd6b6b61d9cb3fcd3ccfc890685d0247304402201c7a2e37ebef1417a4509a17b8e10a97a32ce7b3a94eb261218113bccd10211b02206a738f2826c20194b031a18a35c489d0ea42dbf8798081b6829f45970017ae4f832102b03b604763160b2174f1067c0d6fff67a18f28169afecf391cdb208ce6080c04024730440220495d3434b102c7f636bed94f7e50be6025b1bcc25f81b13f68855b668323a056022069ddfe4c75b85a19d1a430efa62892ac3bc8d93925264b29fc874b5798922af3012102dd0389ab04823e57102370f12e6d4ed1041c927d3f4c372787c8e17eec4b81c002473044022020b9e12c5ca214a7cdc235852065260dac0913c5cfdc8f382442b7dc379843b90220714df6571739194542e2009a8d121dc4ffbdad90d258d671232558de6c9dd64a01210248ca6acaef935769a7117771ecf1055c754fcd6b6b61d9cb3fcd3ccfc890685d00000000",
"from": "0x0014ee01edd0dc129fe1085fd9ecec0306c72e2b7a15",
"from-bal": "427999990220000000000000000000n",
"offset": "0n",
"output": "1n",
"tick": "sats",
"to": "0x0014acd8dac027dfb3b733e44d91b973381dfdabbfc3",
"to-bal": "275000000000000000000000000000n"
}
},
{
"block": {
"header": "0x00e0b82cbe5b50b5a97861ca31d1665877639dd9c3296bf812510200000000000000000043bf2335fded19b14f5217930c05732b13cd2a234b956726710e0f88fb68ffdd3cd40a657fed041754b6ef76",
"height": "808562n"
},
"proof": {
"hashes": [
"0xe7079bf04b059ec3ae2a6d2c15017801c2dbe1c97002e2b8c5ba8f4a8ac63a5b",
"0xb77fa7764a3f029d92b93f382533c1321e9bb7b202831a22f635149361506bfd",
"0xdcb5ab446d43aebe9683da9244dcedcc36e7182a9f3bf57de6367c8074082225",
"0xb914831d21973b517e820013edf7d4fd12d62d64c9091bb2dfb94bf814192e8b",
"0x25c131978e68f27d5996d894e08cd3cb81b9e415d6b772035e2ee7daddf00bd9",
"0x2ba1d7738cf2b79b86d99b8ee2011f414d6b2bfa643dec34e2a62937d065e92d",
"0xceda8485a2e93c5af06a14280376fcea6e0566895c52b701f21da4346e9f84a3",
"0x1fb2a1fbe9a10021387df9efb9d105c17e80d64ac0bb5bd7da4b831c5a1bcc17",
"0x5eb912d6aadd670a08bf1111cb8834c688043a31fd88739c5aceeec6429d66ec",
"0x04139ebd34f94272d2c620be5d2631a3fa8c30e32e2095986e61e0ea21eaf32c",
"0x9ef7bda35c9dffb6d6c2a33fba572dcb22e843bd82856e6cd6bd0c9e402c913d",
"0x35f2f55c0f19d7cb21773340e07dd59cfe850ad7b0a110091afee5d11aa80d17"
],
"tree-depth": "12n",
"tx-index": "1406n"
},
"signature-packs": [
{
"signature": "0x27e0d69294f034441119b2c27f4dec983a5ff8f5b6d2bf8511b8a566e32fb985673e92f1d924e125416a81a11b04ffae5aa3f9e69711a2950b3596697580deba01",
"signer": "SP1B0DHZV858RCBC8WG1YN5W9R491MJK88QPPC217",
"tx-hash": "0x332192d85635cae44672972bf45749287de1986a25cf70924f6aca92a3a9bfd6"
}
],
"tx": {
"amt": "10000000000000000000000000000n",
"bitcoin-tx": "0x02000000000102efea5226919cc57d677aa9d5edf0c51acd75acc1d971e6e3936aace04373ac950000000000fdffffffa50e05eaec48b0ee09c151a5a536cea6921dbe3e8606a93f41ce1b5dd170703b0000000000fdffffff024d0100000000000022512083e83a960d0b76e44b340a6a86f8912a31b2d188c09ef72ac69f96ff0ec1c2f3706b010000000000160014133045c63fe6b1d4a1454b3687713aecb517e89c0247304402200682b403cabd2228b54217eafecc15faceafff7775aa074ddbd198df0ea2aec802202cd75cd677a20e4a8050478a859b7e57a76ef4c31de49619cf6919cca95c517d81210319742c09bf7910140a67d69d3ef989ccee0a79632c9e38208964bba1bfabfac10247304402202313509a25a4b4ff39f581c13c363304b80c9a344abf52580fdc5dff8661f8f202203840a0fa507ce242c2571a62f8709fe7884bc51e982f6c17022742d283cb16de81210319742c09bf7910140a67d69d3ef989ccee0a79632c9e38208964bba1bfabfac100000000",
"from": "0x0014133045c63fe6b1d4a1454b3687713aecb517e89c",
"from-bal": "5414599881754000000000000000000n",
"offset": "0n",
"output": "0n",
"tick": "sats",
"to": "0x512083e83a960d0b76e44b340a6a86f8912a31b2d188c09ef72ac69f96ff0ec1c2f3",
"to-bal": "10000000000000000000000000000n"
}
},
{
"block": {
"header": "0x00e0b82cbe5b50b5a97861ca31d1665877639dd9c3296bf812510200000000000000000043bf2335fded19b14f5217930c05732b13cd2a234b956726710e0f88fb68ffdd3cd40a657fed041754b6ef76",
"height": "808562n"
},
"proof": {
"hashes": [
"0x58d472186f2b34c1542f5fd0e16dc072e44dd69951709d580305b301fccc0254",
"0xe27687009f9014160dbbc08653ca34ca4acc39f480f918913c9499fcf28a916f",
"0x1add933bd28d912695fae9411c7b640f795aa03cb09c1ad6b0413a13d16cd1cf",
"0x7de6266a1e66ee0472f4393ce663c34a04b727098176527f048a377a55377cd3",
"0x3a5210e575f523d56b6f59aa083d7235960ec6d7a96d62f8f47874b70707efb4",
"0x07119aba6ab9095ef500f33e0b727e9ec119551ace4ed99d221452ea08152325",
"0xe8519601f409921132329e8af9d8ad8b441f28701f40efe6897e7bcf78f6bc58",
"0x04bf4b81e0f946d171736ea1d4bd8483a83d4839c0338db33150bc6b0092de75",
"0x5eb912d6aadd670a08bf1111cb8834c688043a31fd88739c5aceeec6429d66ec",
"0x04139ebd34f94272d2c620be5d2631a3fa8c30e32e2095986e61e0ea21eaf32c",
"0x9ef7bda35c9dffb6d6c2a33fba572dcb22e843bd82856e6cd6bd0c9e402c913d",
"0x35f2f55c0f19d7cb21773340e07dd59cfe850ad7b0a110091afee5d11aa80d17"
],
"tree-depth": "12n",
"tx-index": "1476n"
},
"signature-packs": [
{
"signature": "0x3cbdfc32561aa1f564cf9e3f86dc65f0e6bd6e6fdda471e019cc6fb55eea0d09642b4ee563d0ec8d54c2c6a9ea36dc14adf325b6b5ac7f1dedda533d412e770f00",
"signer": "SP1B0DHZV858RCBC8WG1YN5W9R491MJK88QPPC217",
"tx-hash": "0x817f34515a03399ec503ba37c87e22e5ec8f716608593c3b61fd68e311f127e4"
}
],
"tx": {
"amt": "1589569000000000000000000n",
"bitcoin-tx": "0x02000000000102e98508a842577643db19bea562380601ca72a52526756024bf4a7229f7c1b84c0000000000010000807dedecd7f0aec08185579ec7be42fe128275b5f5677bc370ea0149d69279943001000000000100008003220200000000000022512054fdb11f9b5dff4e65b37b3df6e23803b0decc5c4a48231449ca6d340d8edd400000000000000000166a146f6d6e69000000000000001f00000000000005dc4c64550700000000225120c209d8e352423940d4fe2b3a028a5e5575b80812b9562cac9d6e39d6af84199001401bedc236ad8a1163210aff4091ca277f105200ec3b4e8532d5e8437d47a2d340c6b5d323873e20b279918e0e27626571f3315c9f0663febd9d1f69bddeb008c801405db01518cf742c6497a50104919d496cb398ca143caa6cdc34fc2ebec05670eecfcb4172b4cb41b45a9937e4d4506540986bb3e43918b06470d03dbca6630ef700000000",
"from": "0x5120c209d8e352423940d4fe2b3a028a5e5575b80812b9562cac9d6e39d6af841990",
"from-bal": "6810431000000000000000000n",
"offset": "0n",
"output": "0n",
"tick": "fram",
"to": "0x512054fdb11f9b5dff4e65b37b3df6e23803b0decc5c4a48231449ca6d340d8edd40",
"to-bal": "1589569000000000000000000n"
}
},
{
"block": {
"header": "0x00e0b82cbe5b50b5a97861ca31d1665877639dd9c3296bf812510200000000000000000043bf2335fded19b14f5217930c05732b13cd2a234b956726710e0f88fb68ffdd3cd40a657fed041754b6ef76",
"height": "808562n"
},
"proof": {
"hashes": [
"0x82c2b8e20da0746adcbfee91d0cf9435e2b9bd82709baa493a6eb74fde366564",
"0x5359a2c2a8cd4f8ed24027cc0615ae3a635ff3b8575338d9fc64b7db3dcbc815",
"0xefebd2125d241a7640c2267feed3c21ad7c72c9160df9de1c47aeefe5942c90d",
"0x693c186c24339d5f787937803482af1d152edecc5d794d56f7aa8ea3504fb66e",
"0xbd2782fa4ad175bb8ec725dc83905c1c453b91e10c573e703f1b946fa935ef94",
"0x6b57699194d901c2b0f3d963dd5d13a5c818e74feffeacb5f7a48da743aca14e",
"0x03f2b6d5aa1583e1c341e900754ff6efc5d8fd61d1b0034d6503889242e583f2",
"0x7b02396168842a7b11b80e479a990a9c4cc8872912554d395947e2c738d5ec2c",
"0x77e097e9a7ade101f8f8c15351f15c5753765596fffc141619dc1300bd603b10",
"0x64b2b76a687a8e4b8fccd925c679d2040fce759060b49a3b2cf2992b1d79df04",
"0x9ef7bda35c9dffb6d6c2a33fba572dcb22e843bd82856e6cd6bd0c9e402c913d",
"0x35f2f55c0f19d7cb21773340e07dd59cfe850ad7b0a110091afee5d11aa80d17"
],
"tree-depth": "12n",
"tx-index": "1544n"
},
"signature-packs": [
{
"signature": "0x5c9bc09df3f719bceba703de822d8408bbe16b25789ff451490ada0de8026c5e10be8db4fdcbbf90740e0d58131de2ea2fed882c719e7230b1d3b2502edb2bb700",
"signer": "SP1B0DHZV858RCBC8WG1YN5W9R491MJK88QPPC217",
"tx-hash": "0x1796943825b333b5dd27fcece47898399f093b61d7ca9ccb21f039b2c5ba2590"
}
],
"tx": {
"amt": "189999995000000000000000000000n",
"bitcoin-tx": "0x02000000000104a6af401532affa69e377e7a76cfebbe2f1c656118fc8dc6ddabbb625ff9bb40f0400000000ffffffffa6af401532affa69e377e7a76cfebbe2f1c656118fc8dc6ddabbb625ff9bb40f0300000000ffffffff347e851d68c9cc11a246b935b4d96e29faa28bba188a60fc95cca8e8800f10b70000000000ffffffffe6021858e20b1e5fb5e76ec6b97568cc8b37902def351802ea1e9c208d54d6b00200000000ffffffff06b0040000000000001600145724f67bf087dcf5d402d83c7fcf97bb512c8ec822020000000000001600145724f67bf087dcf5d402d83c7fcf97bb512c8ec83f907f0000000000225120c092177a778ddde4232abd61486a4c5d83206fb2d07cb9f00128229f88ad534558020000000000001600145724f67bf087dcf5d402d83c7fcf97bb512c8ec858020000000000001600145724f67bf087dcf5d402d83c7fcf97bb512c8ec821450900000000001600145724f67bf087dcf5d402d83c7fcf97bb512c8ec802473044022078e7874a25ce360a852648dcb548ceea6422aae60bf589963bac5d311aae1330022065a9545f97e8e50b00b7f07daef3f428107a0ed881eec709d6ed12007cb20a7d0121021da7884c702f4a1a9053adda6c1ee7adc48876ef3b69d54ef66e8def0a42e07d0247304402201fb4be1ec23020dc7e555a46f16274589c42e257cbfe95571e00d4ffef0139d50220544ac20d191b0db03f1a0e113602234bfd98003c90e6c38b694b322d5d677d3d0121021da7884c702f4a1a9053adda6c1ee7adc48876ef3b69d54ef66e8def0a42e07d0141b4514502f8731f4e5bd74d9b995473971df477321496680ce9959d657d7933c63d44ca4955589b5af3f76f3e363d38ff8dd7314c1b971c6bf97a7e36b7b2a8388302483045022100b28a45275175538b6a57c24a59d5de9513ab5fccbad5a16608630beb6c2dc808022069c58e28b35ebadbc9ccd2b113ed3c2452809fce2f9ca1f9b4c7bfffe255784f0121021da7884c702f4a1a9053adda6c1ee7adc48876ef3b69d54ef66e8def0a42e07d00000000",
"from": "0x5120c092177a778ddde4232abd61486a4c5d83206fb2d07cb9f00128229f88ad5345",
"from-bal": "400000000000000000000000000000n",
"offset": "0n",
"output": "1n",
"tick": "sats",
"to": "0x00145724f67bf087dcf5d402d83c7fcf97bb512c8ec8",
"to-bal": "627495995000000000000000000000n"
}
},
{
"block": {
"header": "0x00e0b82cbe5b50b5a97861ca31d1665877639dd9c3296bf812510200000000000000000043bf2335fded19b14f5217930c05732b13cd2a234b956726710e0f88fb68ffdd3cd40a657fed041754b6ef76",
"height": "808562n"
},
"proof": {
"hashes": [
"0xc22a672815930eaaf443cae37772171527a52370269e0dc7c4cb967b2b3a5f5a",
"0xbf42f35954c151e39e9886550f2ce6e122c6f45c65a1628ef542e29f48825cb6",
"0x538c796a102d0c5aa82b878fdbfa86e74f7a861bdc03dfd0eec0ee74965a911d",
"0x65cebfae5c07979cab59c78dfc1eeacfab55bb3e12ab9b3c7e6d92240ad5e202",
"0xf0c2a923a0235397a59d03579efe8538cccb64875a66dfbcd0729c5f72b03795",
"0x6b57699194d901c2b0f3d963dd5d13a5c818e74feffeacb5f7a48da743aca14e",
"0x03f2b6d5aa1583e1c341e900754ff6efc5d8fd61d1b0034d6503889242e583f2",
"0x7b02396168842a7b11b80e479a990a9c4cc8872912554d395947e2c738d5ec2c",
"0x77e097e9a7ade101f8f8c15351f15c5753765596fffc141619dc1300bd603b10",
"0x64b2b76a687a8e4b8fccd925c679d2040fce759060b49a3b2cf2992b1d79df04",
"0x9ef7bda35c9dffb6d6c2a33fba572dcb22e843bd82856e6cd6bd0c9e402c913d",
"0x35f2f55c0f19d7cb21773340e07dd59cfe850ad7b0a110091afee5d11aa80d17"
],
"tree-depth": "12n",
"tx-index": "1553n"
},
"signature-packs": [
{
"signature": "0x7141972a3588a594e8609c0858c607553895aeac537e300d2807c04894dc4df220866c68bbdfd67cced303cf6cd89addf0167b0de2566dac70d611356df7bdc900",
"signer": "SP1B0DHZV858RCBC8WG1YN5W9R491MJK88QPPC217",
"tx-hash": "0xe45d826799fd3fd07ac57af55e318197476508fd5cd5c90621087801a3926f3e"
}
],
"tx": {
"amt": "3350000000000000000000n",
"bitcoin-tx": "0x02000000000104b545c017c952fb5de0174a4a873aae4374f4b6a04eab35ecfa178f986929c0a20000000000ffffffffb545c017c952fb5de0174a4a873aae4374f4b6a04eab35ecfa178f986929c0a20100000000ffffffff6f99bc9e50812d71e899e7429e170374e0bd3500d8417a224210bdd47733f0ad0000000000ffffffffb545c017c952fb5de0174a4a873aae4374f4b6a04eab35ecfa178f986929c0a20200000000ffffffff06b004000000000000225120f8b920037cfcb2c15391da0cb22c3e4bdbf087c7bbc65ace8cd90d825dc4f8252202000000000000225120f8b920037cfcb2c15391da0cb22c3e4bdbf087c7bbc65ace8cd90d825dc4f825ac001700000000002251208cae24541256f80596cf75ecc586b532172eb464fc173951b680d651506d2b4f5802000000000000225120f8b920037cfcb2c15391da0cb22c3e4bdbf087c7bbc65ace8cd90d825dc4f8255802000000000000225120f8b920037cfcb2c15391da0cb22c3e4bdbf087c7bbc65ace8cd90d825dc4f825ab0a100000000000225120f8b920037cfcb2c15391da0cb22c3e4bdbf087c7bbc65ace8cd90d825dc4f82501408600a03248fcfee446aed36c915555caf9459608059bec80ffb1696689209406de83a8602e37b01cc70e5d24c7236f87e87ed6dd8c5ca99b3ec7618bcd8bc62901407dd8a8b60f870d605be0ea54ed36a328a31c67bb8e4c7710fc5f2dda39b2d160b3fa2c518fdbfd885e7d2ad9e335db493df572ccfe8211eda647567da4be62a60141a32b79edde4c07aece47680ab18e5195c4a798742ced57c66970887cd60224f85b429ae0d56bf27d94b4be6ece8449d3f0dc657e4e69b55cd3592a6803efcabf830140964a72e93f3fd759777ee47a1f9cdf5d90a42d9e98461f292d4f50cc7743a1069b25a26872e781ae78024a3823687d4ceea2d8d18ac786cc196bc532122ae62900000000",
"from": "0x51208cae24541256f80596cf75ecc586b532172eb464fc173951b680d651506d2b4f",
"from-bal": "3900000000000000000000n",
"offset": "0n",
"output": "1n",
"tick": "nttt",
"to": "0x5120f8b920037cfcb2c15391da0cb22c3e4bdbf087c7bbc65ace8cd90d825dc4f825",
"to-bal": "3350000000000000000000n"
}
},
{
"block": {
"header": "0x00e0b82cbe5b50b5a97861ca31d1665877639dd9c3296bf812510200000000000000000043bf2335fded19b14f5217930c05732b13cd2a234b956726710e0f88fb68ffdd3cd40a657fed041754b6ef76",
"height": "808562n"
},
"proof": {
"hashes": [
"0xa29234431021c73d6303fb79fb5d9608d7f34bd5e37c49b7162359f6f3ec12c6",
"0x75e186e7107ffae0bab5948cb890796acace6d7083b47296656da638a916433a",
"0xc68f20f8521cf2ce0af2a27141c340e1fd211120642506ddab0de679a448f14a",
"0x693c186c24339d5f787937803482af1d152edecc5d794d56f7aa8ea3504fb66e",
"0xbd2782fa4ad175bb8ec725dc83905c1c453b91e10c573e703f1b946fa935ef94",
"0x6b57699194d901c2b0f3d963dd5d13a5c818e74feffeacb5f7a48da743aca14e",
"0x03f2b6d5aa1583e1c341e900754ff6efc5d8fd61d1b0034d6503889242e583f2",
"0x7b02396168842a7b11b80e479a990a9c4cc8872912554d395947e2c738d5ec2c",
"0x77e097e9a7ade101f8f8c15351f15c5753765596fffc141619dc1300bd603b10",
"0x64b2b76a687a8e4b8fccd925c679d2040fce759060b49a3b2cf2992b1d79df04",
"0x9ef7bda35c9dffb6d6c2a33fba572dcb22e843bd82856e6cd6bd0c9e402c913d",
"0x35f2f55c0f19d7cb21773340e07dd59cfe850ad7b0a110091afee5d11aa80d17"
],
"tree-depth": "12n",
"tx-index": "1548n"
},
"signature-packs": [
{
"signature": "0x1652289c3a4788c3d16d375f39cc6f63f942ee9a951fc6f1949227daa69c7f650cce16674c7a701c2eeeb1e9c9c4968b4bd2b253431dac60ab7fc2be3c82c5b901",
"signer": "SP1B0DHZV858RCBC8WG1YN5W9R491MJK88QPPC217",
"tx-hash": "0x7974016e5288354e82e9cf2a311732cdeed131180789cbfa5d1a5cc1f1a93aa2"
}
],
"tx": {
"amt": "100000000000000000000000000000n",
"bitcoin-tx": "0x02000000000104d138905fe6fea4a8a8c86949346c80512643244bc058fe823e70fd1b5e751e3f0000000000ffffffffd138905fe6fea4a8a8c86949346c80512643244bc058fe823e70fd1b5e751e3f0100000000ffffffff2c4bcac62f37de715687099b8b1e9c307d948f72eb3b85cafc3cbb54224dd8540000000017160014094ecd7b1844287f7424eca2dcdfe1d36db73c79ffffffffd138905fe6fea4a8a8c86949346c80512643244bc058fe823e70fd1b5e751e3f0200000000ffffffff06b004000000000000225120a27a01ad0db8ee7ba21ea9e9f6b06a491d8019db6de142ab09d75fabcbe48dff2202000000000000225120a27a01ad0db8ee7ba21ea9e9f6b06a491d8019db6de142ab09d75fabcbe48dffe09c41000000000017a91486e6369ea54fd5f39ac7735b6f2ff43c80a497d7875802000000000000225120a27a01ad0db8ee7ba21ea9e9f6b06a491d8019db6de142ab09d75fabcbe48dff5802000000000000225120a27a01ad0db8ee7ba21ea9e9f6b06a491d8019db6de142ab09d75fabcbe48dff0fac0f0000000000225120a27a01ad0db8ee7ba21ea9e9f6b06a491d8019db6de142ab09d75fabcbe48dff0140225292ab4fe5462bcce2fc0d2a9983e73ea319f7f56c5fca9e6c51df2aaf129355bf2c6319f93b43644f57ae6357465b1583a616e83ce5c448d5efb3c2b66d630140d16b3d061bea664c54eadbd59f4b1602f7eab687d1e8890a6c755eb42e6f6e6f6d813bce8716cb5e70564944a3781a7c2b7b04b7c1599f5af01f39001bf94335024730440220409428598a23536dd01a8f904740c2adb447924d5ec602eb96859c203313e6dc02205ec7ddd1a8019b5a7e9b326ad66539755980936b50cc9657144ea721358b62aa832102c6716eb0729797c1124589474ce11474269c7a356c8ec48cfa7fe922b5d6f6a101409113a0a7377a7574f39515648e3f172be3b9f896df67047fb213333fa7112cbbbef4a30305324fdfd1655987274cbe5d783ddffbd115e370c7194bffb538773900000000",
"from": "0xa91486e6369ea54fd5f39ac7735b6f2ff43c80a497d787",
"from-bal": "0n",
"offset": "0n",
"output": "1n",
"tick": "sats",
"to": "0x5120a27a01ad0db8ee7ba21ea9e9f6b06a491d8019db6de142ab09d75fabcbe48dff",
"to-bal": "100000000000000000000000000000n"
}
},
{
"block": {
"header": "0x00e0b82cbe5b50b5a97861ca31d1665877639dd9c3296bf812510200000000000000000043bf2335fded19b14f5217930c05732b13cd2a234b956726710e0f88fb68ffdd3cd40a657fed041754b6ef76",
"height": "808562n"
},
"proof": {
"hashes": [
"0x25a111a3c515afb86b8083115c7851cc920a81937187ae29831c1e821532b96e",
"0xc54d294253fff5ff095950adfc08f1cd7c40e9adc8dc8e3b350fbe16e0b702cc",
"0xc47c5eb1238f8fac4df81796cb98d906ad36c9074d51c4540b5910dbf991ee61",
"0x30186202a5ad892195b66d06f391f7a698f669e913c670fdd11262df75f7c5dc",
"0x2ded4ea3b0fbe2795ac7cb7299bfc76a0df77fb0c68f4f6b716c5050410265be",
"0x5085f16ea224e0fab20f1a9ec0587810f85a837fec26b9d0c671dcd8b49222cd",
"0x03f2b6d5aa1583e1c341e900754ff6efc5d8fd61d1b0034d6503889242e583f2",
"0x7b02396168842a7b11b80e479a990a9c4cc8872912554d395947e2c738d5ec2c",
"0x77e097e9a7ade101f8f8c15351f15c5753765596fffc141619dc1300bd603b10",
"0x64b2b76a687a8e4b8fccd925c679d2040fce759060b49a3b2cf2992b1d79df04",
"0x9ef7bda35c9dffb6d6c2a33fba572dcb22e843bd82856e6cd6bd0c9e402c913d",
"0x35f2f55c0f19d7cb21773340e07dd59cfe850ad7b0a110091afee5d11aa80d17"
],
"tree-depth": "12n",
"tx-index": "1570n"
},
"signature-packs": [
{
"signature": "0xf631e599273043b48340c78117ce7eafeeb7fbacfb9677d7896f392083c8eb54689cb9c52151be2defaf0fb1f7af76910b404b1fe4e582e958f88ebe720d092800",
"signer": "SP1B0DHZV858RCBC8WG1YN5W9R491MJK88QPPC217",
"tx-hash": "0x80458fd2ba78ffcbb0e38516bb997975c7d7b18a5b09e1ff126e1eb8e354f0ec"
}
],
"tx": {
"amt": "1000000000000000000000n",
"bitcoin-tx": "0x02000000000104209bc7ed833f0c842a834a1b4e09236110bf98e0c4e567022e5ed2aec7c6e1170300000000ffffffff209bc7ed833f0c842a834a1b4e09236110bf98e0c4e567022e5ed2aec7c6e1170400000000fffffffff13cc2ac61b92fe906514b4908c16078cf71b9f453210ffed158f78c664d71610000000000ffffffff209bc7ed833f0c842a834a1b4e09236110bf98e0c4e567022e5ed2aec7c6e1170500000000ffffffff06b004000000000000225120320d7b690ca37b78600ffb6daf1bc6078d24532587de3ccc511661712b54a2c32202000000000000225120320d7b690ca37b78600ffb6daf1bc6078d24532587de3ccc511661712b54a2c3c045040000000000160014dbda4bf265029abfb993c512e2cfd96f4f7985db5802000000000000225120320d7b690ca37b78600ffb6daf1bc6078d24532587de3ccc511661712b54a2c35802000000000000225120320d7b690ca37b78600ffb6daf1bc6078d24532587de3ccc511661712b54a2c3d6bbc00100000000225120320d7b690ca37b78600ffb6daf1bc6078d24532587de3ccc511661712b54a2c301415b30ebe801ad43f6073049352af4dabc514cc1d9eda726b03132e27003db1f3d9cc8a17c753093609d5f6d4e3bf16ecf3db72c03cca993eb0a1801d9d4b6db8e0101415cba694853aa356b0c2132c43362aab71a052209c3e1f36de6ef7f99cd7454076c9cca89d7d66261cc97817c144762387f5dfe8967e2c4bcf49b938169df209b0102483045022100db156b35a8b1b3d8eae63dafba3cc699a602006b8408d26119661ce82e4a904502200fb20658919f64042e0322a1eab653201391fe34e3aeb4f24c9f0f5a92c458358321031560cea77af1175fd25b24ac8947127687e4691fcb708e3295966d57a5a0014f0141a1ee7483f04d99273f6611629688b4120617cb065924378a5c973fabb18c9a3bb8d851731de82ae0abcadeb1b87cab8ec152edf0a28541b34fbca5793480f8a20100000000",
"from": "0x0014dbda4bf265029abfb993c512e2cfd96f4f7985db",
"from-bal": "23000000000000000000000n",
"offset": "0n",
"output": "1n",
"tick": "btcs",
"to": "0x5120320d7b690ca37b78600ffb6daf1bc6078d24532587de3ccc511661712b54a2c3",
"to-bal": "2000000000000000000000n"
}
},
{
"block": {
"header": "0x00e0b82cbe5b50b5a97861ca31d1665877639dd9c3296bf812510200000000000000000043bf2335fded19b14f5217930c05732b13cd2a234b956726710e0f88fb68ffdd3cd40a657fed041754b6ef76",
"height": "808562n"
},
"proof": {
"hashes": [
"0x24aa8e5a6d7123505371b4cad0af04599122e9bfe7152553822af3fecda71ae8",
"0x8df4580e899715e6052a440960704b0906e2a4b046b9d3af6801ef089f372d53",
"0xc47c5eb1238f8fac4df81796cb98d906ad36c9074d51c4540b5910dbf991ee61",
"0x30186202a5ad892195b66d06f391f7a698f669e913c670fdd11262df75f7c5dc",
"0x2ded4ea3b0fbe2795ac7cb7299bfc76a0df77fb0c68f4f6b716c5050410265be",
"0x5085f16ea224e0fab20f1a9ec0587810f85a837fec26b9d0c671dcd8b49222cd",
"0x03f2b6d5aa1583e1c341e900754ff6efc5d8fd61d1b0034d6503889242e583f2",
"0x7b02396168842a7b11b80e479a990a9c4cc8872912554d395947e2c738d5ec2c",
"0x77e097e9a7ade101f8f8c15351f15c5753765596fffc141619dc1300bd603b10",
"0x64b2b76a687a8e4b8fccd925c679d2040fce759060b49a3b2cf2992b1d79df04",
"0x9ef7bda35c9dffb6d6c2a33fba572dcb22e843bd82856e6cd6bd0c9e402c913d",
"0x35f2f55c0f19d7cb21773340e07dd59cfe850ad7b0a110091afee5d11aa80d17"
],
"tree-depth": "12n",
"tx-index": "1569n"
},
"signature-packs": [
{
"signature": "0x71401c2475df87b52906331ff21b9c1b8d849ca88137534218fff0074a4df70246448b9e1db05e8ecdb1bce67996c3bc0dbebeb85ca4bf530a9c2b6772b514c000",
"signer": "SP1B0DHZV858RCBC8WG1YN5W9R491MJK88QPPC217",
"tx-hash": "0xf59439dfcc21b367b2f5f4cf59c53c5248f11fd1b45d86231c97c674ff35b353"
}
],
"tx": {
"amt": "1000000000000000000000n",
"bitcoin-tx": "0x0200000000010424aa8e5a6d7123505371b4cad0af04599122e9bfe7152553822af3fecda71ae80000000000ffffffff24aa8e5a6d7123505371b4cad0af04599122e9bfe7152553822af3fecda71ae80100000000ffffffffab2be43d776344e38de39c617144f1a21e8a31a283fcb82a9cd24f7f2746e71f0000000000ffffffff24aa8e5a6d7123505371b4cad0af04599122e9bfe7152553822af3fecda71ae80200000000ffffffff06b004000000000000225120320d7b690ca37b78600ffb6daf1bc6078d24532587de3ccc511661712b54a2c32202000000000000225120320d7b690ca37b78600ffb6daf1bc6078d24532587de3ccc511661712b54a2c3c045040000000000225120b90e74284bf7becf8dcc69270d4013250e1f33bd69979c482bf9634863779ba75802000000000000225120320d7b690ca37b78600ffb6daf1bc6078d24532587de3ccc511661712b54a2c35802000000000000225120320d7b690ca37b78600ffb6daf1bc6078d24532587de3ccc511661712b54a2c37a39c50100000000225120320d7b690ca37b78600ffb6daf1bc6078d24532587de3ccc511661712b54a2c30141e1f6c5245e641264784980cbf9260239e67b40a086e287b2a36c76f64f5115bd2757fe3e8c30ad09572f110c7048012beb0aea1cc4a29f315309fd0d833f6c6e01014192f1eed0e17a4c383aa40e282dee24b774e948e8c1e0761099f2b61158f48c393a8a5eba88bccc55ee45f20742686ca83dd553ea0e0b4a2ed83a677e43f6c4d10101410a89bdd36052980571f0299548ac1d6306fc2d3f95051505a35f6fe3b111a2af551060c43a1cea2349dbefe1679d370e0896937aec2ea4dceaf5a31ae879a01e8301412069f23ae1687f6fe7777e524e5d8e9238244e5a073908c6cc48634600534dcdcdcd745a172d43d841798509127813cc0158f46d77881772f02832f529ce271d0100000000",
"from": "0x5120b90e74284bf7becf8dcc69270d4013250e1f33bd69979c482bf9634863779ba7",
"from-bal": "32800000000000000000000n",
"offset": "0n",
"output": "1n",
"tick": "btcs",
"to": "0x5120320d7b690ca37b78600ffb6daf1bc6078d24532587de3ccc511661712b54a2c3",
"to-bal": "2000000000000000000000n"
}
},
{
"block": {
"header": "0x00e0b82cbe5b50b5a97861ca31d1665877639dd9c3296bf812510200000000000000000043bf2335fded19b14f5217930c05732b13cd2a234b956726710e0f88fb68ffdd3cd40a657fed041754b6ef76",
"height": "808562n"
},
"proof": {
"hashes": [
"0x19c9fb7c7c81b3e05a2e60e1da04c0aaab57a2b49fa37f7a9db06ca8ae5c76e4",
"0x7c75f498b9f111f8e64765ad0b7265608610e3b52d439617bc9a3d5dde2dc64c",
"0x1161e38ce809809c54ebaea00a1b3fa1162300cf035e55bfc6d77b7b6b640143",
"0xe230bf72dfd4872a9dadc2b91b453fbe2e8c6bee9538a76ec83d0dd4a5a952d2",
"0x4c66bc586614cbbe1b984316841c691ecca9355a86693c5b3df23922fef3a596",
"0xe0428e7539d565e6b6d6a65e5620ee8722d34a44bba07fd4db27173a8a3c962d",
"0x020de8c99b39b04846a98a0ff44ba1c9c38176fae70187513e5145a1e11fb3c4",
"0xa361194a72f53a7cf6bee85e7fa22f9fc0dd1afb7702dc4970e66e67b61d24c8",
"0xb3ddbb3f4111cff0ae584bae26c2172db92f52f01ad0f27fbc96211d98c20036",
"0xa077f8ec905f6954678ea4d602492e5f1b0dd02ff4fa3a59c5a80d93a2f837e0",
"0x00bbb78c212209f4d867adf23bb68c974246b0af36998f38450a1a3df5debe15",
"0x7ab37c1a9b0bac7931e765f663741028a38f7865578be5170f6c840a621eb9ca"
],
"tree-depth": "12n",
"tx-index": "2105n"
},
"signature-packs": [
{
"signature": "0x71a4fd54682e313e0977149f94e4dd1ff138bb7e4a4c0d17e28429f461271d211cf92cd4efc6dc5d0acfa1b8bb2765d75057f8d0364dcc79d16a145d39c1456100",
"signer": "SP1B0DHZV858RCBC8WG1YN5W9R491MJK88QPPC217",
"tx-hash": "0x514e3abc0033ba34a7785b574409a7bad59c52e5dcdee92e3581d68ecdb4f7e5"
}
],
"tx": {
"amt": "5000000000000000000000n",
"bitcoin-tx": "0x0200000000010963d7eb17f4dde1e7bf26b63ebd9bea7888be71157150a902bebed743c7618ed00500000000ffffffff63d7eb17f4dde1e7bf26b63ebd9bea7888be71157150a902bebed743c7618ed00600000000ffffffffd8e74ed0c1d74d72f5d59d41242a57101b8a7f20f78eaee6738328f5524d61f50000000000ffffffff178f1478e427af5148359598db87d4c7524417ff7ec237603fc962da22fbeed30300000000ffffffff0abd6e226eb03edf87080f76832d71b5652acfe1ccc9ae9b80e2745e556f3f3c0100000000ffffffffca599e21e77aafc7ea81e4994313ac05706cce18196ab87f38c947ca35d5a4420000000000ffffffffcebde3a59bc4c73d6afd5d0cf11ecafa23e5b4b2545b216454d7390761fa44a30300000000ffffffffd72135deb06074d57c05ff84b743eefe542ab83f08523fe41880c456d354505c0000000000ffffffff63d7eb17f4dde1e7bf26b63ebd9bea7888be71157150a902bebed743c7618ed00000000000ffffffff06580200000000000016001400a3b60132b251cd36a9700793fb6298663197ff22020000000000002251200dd6b55e5c88333198af624df2d8f0f0ed3045b6150d30dd455ed2e05f9a8b0598ab020000000000225120034a2803c7829635cb79afe911cd90e9380ab64001d8dc5984d3945e30f12b4d80020000000000002251200dd6b55e5c88333198af624df2d8f0f0ed3045b6150d30dd455ed2e05f9a8b052c0100000000000016001400a3b60132b251cd36a9700793fb6298663197ff2c0100000000000016001400a3b60132b251cd36a9700793fb6298663197ff02473044022040a94cd80025d774ae6cf24a96d4cdc7ca3f8dd9a7b41dd382bc1341b37aabec02201515b9f0d6a1c1dce530de87d32c06ee4b69d08ce55637c098d7ce4982df879e012103949a68fd7328c274759ab042808318ea82c65a84c86e23f810ff3ef798bcab70024730440220542b5516b141fd29e80261dd39554caa9bca233ff65a077611164a4197c5dbfe0220791a4068c5692715018a725ddc365d456eeb251d792c90ec98bc7434b93c00ce012103949a68fd7328c274759ab042808318ea82c65a84c86e23f810ff3ef798bcab7001412e2e79eb2e7871debe1ba2cc88117ab879c56e400cb7bf66db4a5a2fdef2197d17be40bc068f16e847be2d76ad063c9ae9afa12a1f1b98a7f3e78c7d8c3afda18301405f38ffdc16c82503123ae7fa92f3886865ee21ab0ff4ace98bf8742fde45fc1b3661060a5e64fb36e27503a0f739c194e4d592b693a7a9c9ed1d88a091326a440140db7650f6d1826ddf61d9491edac8f2c67b9b705465af0316d25b0e5fc07a8dd1f98d49d879b76529f520aade89f11831e5cafd6e38f73166f1ccada506e4a5d90140965aa908efd9f96214af05437c784a4b60a9229536cc1efa579694127fe71654fb76e7a10886b8b7c36458fcc19cc31d168b0ff67146841e9f121523250b67ad014055d4980d0aab4f4317b59d7dad5da8aeb5a8b4b2632701fc13a8238ea6e1b56a53dfc828a12503a228be7a28979c788e95022e0a89a9567f1074333650c0ad33014040d411b1b62a229f575933500c3e1a14433082d6ca13ecc9e622a19df3947ed0cf639d4914322af43dcf4a7f89aec8c0a2e5666eda15b27e9a7afa07175aaafe0247304402202f554e545ed8711cf0b12be86c0d51e1b40ac055e76f53de54ade9f9ea742b8e022021bc04779218ae78705b06ce2903130e01d5a22525566b3492b29b84227d0ff4012103949a68fd7328c274759ab042808318ea82c65a84c86e23f810ff3ef798bcab7000000000",
"from": "0x5120034a2803c7829635cb79afe911cd90e9380ab64001d8dc5984d3945e30f12b4d",
"from-bal": "134045000000000000000000n",
"offset": "0n",
"output": "1n",
"tick": "hsac",
"to": "0x51200dd6b55e5c88333198af624df2d8f0f0ed3045b6150d30dd455ed2e05f9a8b05",
"to-bal": "564055000000000000000000n"
}
},
{
"block": {
"header": "0x00e0b82cbe5b50b5a97861ca31d1665877639dd9c3296bf812510200000000000000000043bf2335fded19b14f5217930c05732b13cd2a234b956726710e0f88fb68ffdd3cd40a657fed041754b6ef76",
"height": "808562n"
},
"proof": {
"hashes": [
"0x002c89c365d4507e5577ed2ca4707c480a87e68f78c21c9477e67d1eb60fe2ed",
"0x947843b16c09c18d3714754af5b1fd04cd2cdc3cdf62677d4f3311a36cfea060",
"0xbcb372121cde0701595389959c0854c6da8d80ae505a4e2b9ddbcba75c0ca5c1",
"0x332766d00c8fcc32ba3ff073e826d3aa16227a55f5f8f1928dfd24faf69fbaef",
"0x23ca55f88c9a324134b0c413401043359538d718de1ca678f573e3082f799f89",
"0x1313f55f6023c64860642f8dc83d24ecec7a6d2499851e9ad2bf92cafb9af43b",
"0xbce18b6de3baab49539acf62b440aed0bff595906f6a2ce83ee9c3f5c34289e4",
"0xa361194a72f53a7cf6bee85e7fa22f9fc0dd1afb7702dc4970e66e67b61d24c8",
"0xb3ddbb3f4111cff0ae584bae26c2172db92f52f01ad0f27fbc96211d98c20036",
"0xa077f8ec905f6954678ea4d602492e5f1b0dd02ff4fa3a59c5a80d93a2f837e0",
"0x00bbb78c212209f4d867adf23bb68c974246b0af36998f38450a1a3df5debe15",
"0x7ab37c1a9b0bac7931e765f663741028a38f7865578be5170f6c840a621eb9ca"
],
"tree-depth": "12n",
"tx-index": "2125n"
},
"signature-packs": [
{
"signature": "0x5b705d10f0d04eab71236f6dd70775e33c10d8bdfad5a9755abc68c052cb43ce37975e726960a47f0513b55d12c78f80e2b699e43f4c4e79a7c652cd69ad60dc00",
"signer": "SP1B0DHZV858RCBC8WG1YN5W9R491MJK88QPPC217",
"tx-hash": "0x1627f89719407abd920bfbbb39e3fa7d3d97a118a9c644dd35a975bef8054b4d"
}
],
"tx": {
"amt": "20000000000000000000000000000n",
"bitcoin-tx": "0x020000000001024c9fa333605305086f4c58ace6baea0d6ffc1a50783c930ec7cb28bd0ebeebab0000000000ffffffff33ac98080c04579f4fb78224072ea14dfa449d43170413a3e2bd0862f7d0fc9d1500000000ffffffff022202000000000000225120d3c6c52f7bf611cb0b6962f27e4ec48f41c676d39167f563ac8f77801bda5eb017dd070000000000225120d3c6c52f7bf611cb0b6962f27e4ec48f41c676d39167f563ac8f77801bda5eb0014064ca0315f00c600b432525367c57536b5291d5735a2f1536f33890f88d2b93978e9719212ebfaca16af6180e7f3eb69c6cf1a9eed43ddbc2800ec7f94fb10c0e01409483f513c8f537989ef88090ccf13e2e4f14273939fb4bc730a22ad4a2a83af34430a5bad7d905819c96626a6581af289a45a9bb470411e0fb91cee755ed10bd00000000",
"from": "0x5120d3c6c52f7bf611cb0b6962f27e4ec48f41c676d39167f563ac8f77801bda5eb0",
"from-bal": "50000000000000000000000000000n",
"offset": "0n",
"output": "0n",
"tick": "sats",
"to": "0x5120d3c6c52f7bf611cb0b6962f27e4ec48f41c676d39167f563ac8f77801bda5eb0",
"to-bal": "50000000000000000000000000000n"
}
}
]
block = chain.mineBlock(
rawData.map((e: any) =>
Tx.contractCall(
"clarity-bitcoin",
"mock-add-burnchain-block-header-hash",
[
trimUintCV(e["block"]["height"]),
chain.callReadOnlyFn("clarity-bitcoin", "get-txid", [buff(e["block"]["header"])], deployer.address).result
], deployer.address
))
);
block.receipts.map((e: any) => { e.result.expectOk() });
console.log(`processing ${rawData.length} tx`);
for (let i = 0; i < rawData.length; i++) {
const header0 = rawData[i]["block"];
const proof0 = rawData[i]["proof"];
const tx0 = rawData[i]["tx"];
const signPack0 = rawData[i]["signature-packs"];
console.log(header0);
chain.callReadOnlyFn(
"clarity-bitcoin",
"parse-wtx",
[
buff(tx0['bitcoin-tx']),
],
deployer.address
).result.expectOk();
console.log(`rawData[${i}] reversed-segwit-txid? ${chain.callReadOnlyFn(
"clarity-bitcoin",
"get-reversed-segwit-txid",
[
buff(tx0['bitcoin-tx']),
],
deployer.address
).result}`);
console.log(`rawData[${i}] segwit-txid? ${chain.callReadOnlyFn(
"clarity-bitcoin",
"get-segwit-txid",
[
buff(tx0['bitcoin-tx']),
],
deployer.address
).result}`);
console.log(`rawData[${i}] mined? ${chain.callReadOnlyFn(
"clarity-bitcoin",
"was-segwit-tx-mined?",
[
headerToTupleCV(header0),
buff(tx0['bitcoin-tx']),
proofToTupleCV(proof0),
],
deployer.address
).result.expectOk()}`);
block = chain.mineBlock([
Tx.contractCall(
"indexer",
"index-tx-many",
[
types.list([
types.tuple({
tx: txToTupleCV(tx0),
block: headerToTupleCV(header0),
proof: proofToTupleCV(proof0),
"signature-packs": types.list(signPack0.map((e: any) => signPackToTupleCV(e)))
})
])
],
relayer.address
),
]);
block.receipts.map((e: any) => {
console.log(`rawData[${i}] indexed ${e.result.expectOk()}`);
});
}
},
});