diff --git a/Cargo.lock b/Cargo.lock index bb65c561a..8a2cdfa44 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -153,7 +153,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -164,7 +164,7 @@ checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -258,9 +258,9 @@ checksum = "383d29d513d8764dcdc42ea295d979eb99c3c9f00607b3692cf68a431f7dca72" [[package]] name = "bindgen" -version = "0.64.0" +version = "0.65.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4" +checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" dependencies = [ "bitflags 1.3.2", "cexpr", @@ -268,12 +268,13 @@ dependencies = [ "lazy_static", "lazycell", "peeking_take_while", + "prettyplease", "proc-macro2", "quote", "regex", "rustc-hash 1.1.0", "shlex", - "syn 1.0.109", + "syn 2.0.87", ] [[package]] @@ -513,7 +514,7 @@ dependencies = [ [[package]] name = "chainhook-sdk" -version = "0.12.11" +version = "0.12.12" dependencies = [ "assert-json-diff", "base58", @@ -923,7 +924,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -1023,7 +1024,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -1302,7 +1303,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -1930,9 +1931,9 @@ dependencies = [ [[package]] name = "librocksdb-sys" -version = "0.10.0+7.9.2" +version = "0.11.0+8.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fe4d5874f5ff2bc616e55e8c6086d478fcda13faf9495768a4aa1c22042d30b" +checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e" dependencies = [ "bindgen", "bzip2-sys", @@ -2260,7 +2261,7 @@ dependencies = [ "rustfmt-wrapper", "serde", "sha2", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -2332,7 +2333,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -2364,7 +2365,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -2460,6 +2461,16 @@ dependencies = [ "zerocopy", ] +[[package]] +name = "prettyplease" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" +dependencies = [ + "proc-macro2", + "syn 2.0.87", +] + [[package]] name = "primitive-types" version = "0.12.2" @@ -2521,7 +2532,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", "version_check", "yansi", ] @@ -2730,7 +2741,7 @@ checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -2896,7 +2907,7 @@ dependencies = [ "proc-macro2", "quote", "rocket_http", - "syn 2.0.74", + "syn 2.0.87", "unicode-xid", "version_check", ] @@ -2956,9 +2967,9 @@ dependencies = [ [[package]] name = "rocksdb" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "015439787fce1e75d55f279078d33ff14b4af5d93d995e8838ee4631301c8a99" +checksum = "bb6f170a4041d50a0ce04b0d2e14916d6ca863ea2e422689a5b694395d299ffe" dependencies = [ "libc", "librocksdb-sys", @@ -3230,7 +3241,7 @@ checksum = "6aea2634c86b0e8ef2cfdc0c340baede54ec27b1e46febd7f80dffb2aa44a00e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -3309,7 +3320,7 @@ checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -3650,9 +3661,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.74" +version = "2.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fceb41e3d546d0bd83421d3409b1460cc7444cd389341a4c880fe7a042cb3d7" +checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" dependencies = [ "proc-macro2", "quote", @@ -3758,7 +3769,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -3769,7 +3780,7 @@ checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", "test-case-core", ] @@ -3805,7 +3816,7 @@ checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -3909,7 +3920,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -4061,7 +4072,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -4299,7 +4310,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", "wasm-bindgen-shared", ] @@ -4333,7 +4344,7 @@ checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -4670,7 +4681,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] diff --git a/components/chainhook-cli/Cargo.toml b/components/chainhook-cli/Cargo.toml index d29ed21a3..a4bb4b1a3 100644 --- a/components/chainhook-cli/Cargo.toml +++ b/components/chainhook-cli/Cargo.toml @@ -15,8 +15,9 @@ redis = "0.21.5" serde-redis = "0.12.0" hex = "0.4.3" rand = "0.8.5" -chainhook-sdk = { version = "0.12.6", default-features = false, features = [ - "zeromq", "stacks-signers" +chainhook-sdk = { default-features = false, features = [ + "zeromq", + "stacks-signers", ], path = "../chainhook-sdk" } hiro-system-kit = "0.3.4" # hiro-system-kit = { path = "../../../clarinet/components/hiro-system-kit" } @@ -46,7 +47,7 @@ rocket_okapi = { version = "0.8.0", git = "https://github.com/hirosystems/okapi. rocket = { version = "=0.5.0", features = ["json"] } [dependencies.rocksdb] -version = "0.20.1" +version = "0.21.0" default-features = false features = ["lz4", "snappy"] diff --git a/components/chainhook-sdk/Cargo.toml b/components/chainhook-sdk/Cargo.toml index fd3fa16aa..1540ef10f 100644 --- a/components/chainhook-sdk/Cargo.toml +++ b/components/chainhook-sdk/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "chainhook-sdk" -version = "0.12.11" +version = "0.12.12" description = "Stateless Transaction Indexing Engine for Stacks and Bitcoin" license = "GPL-3.0" edition = "2021" diff --git a/components/chainhook-sdk/src/observer/tests/mod.rs b/components/chainhook-sdk/src/observer/tests/mod.rs index 41bcd25d9..e62669bec 100644 --- a/components/chainhook-sdk/src/observer/tests/mod.rs +++ b/components/chainhook-sdk/src/observer/tests/mod.rs @@ -25,6 +25,7 @@ use crate::observer::{ start_observer_commands_handler, EventObserverConfig, ObserverCommand, ObserverSidecar, }; use crate::utils::{AbstractBlock, Context}; +use chainhook_types::OrdinalInscriptionCharms; use chainhook_types::{ BitcoinBlockSignaling, BitcoinChainEvent, BitcoinNetwork, BlockchainEvent, BlockchainUpdatedWithHeaders, OrdinalInscriptionNumber, OrdinalInscriptionRevealData, @@ -1164,7 +1165,7 @@ fn test_bitcoin_chainhook_through_reorg() { metadata: None, metaprotocol: None, delegate: None, - parent: None, + parents: vec![], ordinal_number: cursor, ordinal_block_height: b.block.block_identifier.index, ordinal_offset: 0, @@ -1172,6 +1173,7 @@ fn test_bitcoin_chainhook_through_reorg() { transfers_pre_inscription: cursor as u32, satpoint_post_inscription: format!("{cursor}"), curse_type: None, + charms: OrdinalInscriptionCharms::none(), }, )) } diff --git a/components/chainhook-types-rs/src/ordinals.rs b/components/chainhook-types-rs/src/ordinals.rs index 52a7bdf29..71aa7db1e 100644 --- a/components/chainhook-types-rs/src/ordinals.rs +++ b/components/chainhook-types-rs/src/ordinals.rs @@ -39,6 +39,45 @@ pub enum OrdinalInscriptionCurseType { Generic, } +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize)] +pub struct OrdinalInscriptionCharms { + pub coin: bool, + pub cursed: bool, + pub epic: bool, + pub legendary: bool, + pub lost: bool, + pub nineball: bool, + pub rare: bool, + pub reinscription: bool, + pub unbound: bool, + pub uncommon: bool, + pub vindicated: bool, + pub mythic: bool, + pub burned: bool, + pub palindrome: bool, +} + +impl OrdinalInscriptionCharms { + pub fn none() -> Self { + OrdinalInscriptionCharms { + coin: false, + cursed: false, + epic: false, + legendary: false, + lost: false, + nineball: false, + rare: false, + reinscription: false, + unbound: false, + uncommon: false, + vindicated: false, + mythic: false, + burned: false, + palindrome: false, + } + } +} + #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)] pub struct OrdinalInscriptionRevealData { pub content_bytes: String, @@ -54,7 +93,7 @@ pub struct OrdinalInscriptionRevealData { pub delegate: Option, pub metaprotocol: Option, pub metadata: Option, - pub parent: Option, + pub parents: Vec, pub ordinal_number: u64, pub ordinal_block_height: u64, pub ordinal_offset: u64, @@ -62,6 +101,7 @@ pub struct OrdinalInscriptionRevealData { pub transfers_pre_inscription: u32, pub satpoint_post_inscription: String, pub curse_type: Option, + pub charms: OrdinalInscriptionCharms, } impl OrdinalInscriptionNumber {