diff --git a/Cargo.lock b/Cargo.lock index a930f16..c259c49 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -490,7 +490,7 @@ dependencies = [ "proc-macro2", "quote", "syn 1.0.109", - "synstructure", + "synstructure 0.12.6", ] [[package]] @@ -574,9 +574,9 @@ checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "backtrace" -version = "0.3.72" +version = "0.3.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17c6a35df3749d2e8bb1b7b21a976d82b15548788d2735b9d82f329268f71a11" +checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" dependencies = [ "addr2line", "cc", @@ -711,11 +711,11 @@ dependencies = [ [[package]] name = "borsh" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbe5b10e214954177fb1dc9fbd20a1a2608fe99e6c832033bdc7cea287a20d77" +checksum = "a6362ed55def622cddc70a4746a68554d7b687713770de539e59a739b249f8ed" dependencies = [ - "borsh-derive 1.5.0", + "borsh-derive 1.5.1", "cfg_aliases", ] @@ -747,9 +747,9 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7a8646f94ab393e43e8b35a2558b1624bed28b97ee09c5d15456e3c9463f46d" +checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b" dependencies = [ "once_cell", "proc-macro-crate 3.1.0", @@ -925,14 +925,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a98356df42a2eb1bd8f1793ae4ee4de48e384dd974ce5eac8eee802edb7492be" dependencies = [ "serde", - "toml 0.8.13", + "toml 0.8.14", ] [[package]] name = "cc" -version = "1.0.98" +version = "1.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f" +checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" dependencies = [ "jobserver", "libc", @@ -947,9 +947,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cfg_aliases" -version = "0.1.1" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" @@ -1916,9 +1916,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.8.0" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +checksum = "d0e7a4dd27b9476dc40cb050d3632d3bba3a70ddbff012285f7f8559a1e7e545" [[package]] name = "httpdate" @@ -1934,9 +1934,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.28" +version = "0.14.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" dependencies = [ "bytes", "futures-channel", @@ -1993,6 +1993,124 @@ dependencies = [ "cc", ] +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f8ac670d7422d7f76b32e17a5db556510825b29ec9154f235977c9caba61036" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + [[package]] name = "ident_case" version = "1.0.1" @@ -2001,12 +2119,14 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.5.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "4716a3a0933a1d01c2f72450e89596eb51dd34ef3c211ccd875acdf1f8fe47ed" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "icu_normalizer", + "icu_properties", + "smallvec", + "utf8_iter", ] [[package]] @@ -2235,6 +2355,12 @@ version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +[[package]] +name = "litemap" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" + [[package]] name = "lock_api" version = "0.4.12" @@ -2262,9 +2388,9 @@ dependencies = [ [[package]] name = "lz4" -version = "1.24.0" +version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e9e2dd86df36ce760a60f6ff6ad526f7ba1f14ba0356f8254fb6905e6494df1" +checksum = "d6eab492fe7f8651add23237ea56dbf11b3c4ff762ab83d40a47f11433421f91" dependencies = [ "libc", "lz4-sys", @@ -2272,9 +2398,9 @@ dependencies = [ [[package]] name = "lz4-sys" -version = "1.9.4" +version = "1.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57d27b317e207b10f69f5e75494119e391a96f48861ae870d1da6edac98ca900" +checksum = "e9764018d143cc854c9f17f0b907de70f14393b1f502da6375dce70f00514eb3" dependencies = [ "cc", "libc", @@ -2282,9 +2408,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.2" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memmap2" @@ -2608,9 +2734,9 @@ checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" [[package]] name = "object" -version = "0.35.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8ec7ab813848ba4522158d5517a6093db1ded27575b070f4177b8d12b41db5e" +checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" dependencies = [ "memchr", ] @@ -2708,7 +2834,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.1", + "redox_syscall 0.5.2", "smallvec", "windows-targets 0.52.5", ] @@ -2930,9 +3056,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.84" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec96c6a92621310b51366f1e28d05ef11489516e93be030060e5fc12024a49d6" +checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" dependencies = [ "unicode-ident", ] @@ -3137,18 +3263,18 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" +checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" dependencies = [ "bitflags 2.5.0", ] [[package]] name = "regex" -version = "1.10.4" +version = "1.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" dependencies = [ "aho-corasick", "memchr", @@ -3158,9 +3284,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ "aho-corasick", "memchr", @@ -3169,9 +3295,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "reqwest" @@ -3700,9 +3826,9 @@ dependencies = [ [[package]] name = "solana-account-decoder" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1387123a0daab82dbd205c543f8bba0ed5345fc6b8eaa910ecd9dcb7469fc78" +checksum = "b94ceb26c7d19530cb1bb49bf0f817647cb5fee691dae6779e19d33ac1d4fda1" dependencies = [ "Inflector", "base64 0.21.7", @@ -3725,9 +3851,9 @@ dependencies = [ [[package]] name = "solana-accounts-db" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2033eae13b5ab9d3adc6c90ea06a37177cd2de4fe4c04159be5c583756a5414" +checksum = "e1ccab24e16797d4324444337b09555f3762b85c6a862ee5fba6a211bc6c6736" dependencies = [ "arrayref", "bincode", @@ -3786,9 +3912,9 @@ dependencies = [ [[package]] name = "solana-address-lookup-table-program" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "396a385d0c7cc65fca238c757cca29c41d09fe18734d5f85890c23cd6e0d3876" +checksum = "195a93b87bd6794326a3c628cfcc8abaf70e476c4284bfb73545c873ba47c746" dependencies = [ "bincode", "bytemuck", @@ -3807,11 +3933,11 @@ dependencies = [ [[package]] name = "solana-banks-client" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61a0af125d95032a260a9dbc020d571d8904874ada1505f3e860a88f915b4c00" +checksum = "493962c963bd1e64e2086d4b962ac87e0744bde7998eb90132e9dfdad251b8d2" dependencies = [ - "borsh 1.5.0", + "borsh 1.5.1", "futures", "solana-banks-interface", "solana-program", @@ -3824,9 +3950,9 @@ dependencies = [ [[package]] name = "solana-banks-interface" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51bf9ac405608785d26993bdc18b867b71736ba495714b1c5ef9efc2da9eb8c4" +checksum = "56d586b50a48b245369f359f043902f684abb3ad7599eff49a7387ea4641f19b" dependencies = [ "serde", "solana-sdk", @@ -3835,9 +3961,9 @@ dependencies = [ [[package]] name = "solana-banks-server" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2769555bcc726040169af9846f1815824f3a6479d0504157805a0cb6aea04c4" +checksum = "0ee5ede19378812cf20c198a4be0c6ebf4b102d65cb0aa260f96c976030529a4" dependencies = [ "bincode", "crossbeam-channel", @@ -3855,9 +3981,9 @@ dependencies = [ [[package]] name = "solana-bpf-loader-program" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8913b997267ef7816d07d54b61e236140069b3774b15dc1b9c8cc1d08793f1e" +checksum = "242706b2e7129926b929c6c5e7b9bf6659968a56bb666e7e07236167375eec99" dependencies = [ "bincode", "byteorder", @@ -3874,9 +4000,9 @@ dependencies = [ [[package]] name = "solana-bucket-map" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf7ee2b83c088999cc1b5c33039561603496dec7a069769ae1ba52512ce1c4ca" +checksum = "e9d6de433be2c195c9139e7cba3b13c48e8db4b135cdb571e3225c34790d2adc" dependencies = [ "bv", "bytemuck", @@ -3892,9 +4018,9 @@ dependencies = [ [[package]] name = "solana-clap-utils" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e1bf62a854e86674baafa1db95de3574e134140ad694d79812699d0ff7dba98" +checksum = "32063b76137e13fba2f93fdf67f999d84ac587af962b48cb4115f272037b2fae" dependencies = [ "chrono", "clap 2.34.0", @@ -3909,9 +4035,9 @@ dependencies = [ [[package]] name = "solana-client" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f0b54e872d5d1de9e983d684f843ea622ba4b4432602a3aafd897626b25c339" +checksum = "31f6eaf198c544d4f448e6a86a51f9af8b328f041a490a007164a75194edf341" dependencies = [ "async-trait", "bincode", @@ -3942,9 +4068,9 @@ dependencies = [ [[package]] name = "solana-compute-budget-program" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e589e502a52f43dfc7a51e874e640c64d145e019e18162b7a43f2021038774e" +checksum = "4a2af1d2aa3ea705147b99a34265b209393bae70930150d0583666305f91b958" dependencies = [ "solana-program-runtime", "solana-sdk", @@ -3952,9 +4078,9 @@ dependencies = [ [[package]] name = "solana-config-program" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0756e2a78554efdcb997a00a652b20291a823f2415c752adaa0dad7320460c9" +checksum = "378259800dc9dad34828d8be4ce0de71146bac1cbbd310f8901f6f19d92c5ea3" dependencies = [ "bincode", "chrono", @@ -3966,9 +4092,9 @@ dependencies = [ [[package]] name = "solana-connection-cache" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14821e889f3f010265d61814b5971e24837677fa51e2c4be2674aa4bcc8c77e5" +checksum = "58b04571089f55754f5a09493ae0bcf8d8d5c8d9cd05be3e77c502f6b68c1a3b" dependencies = [ "async-trait", "bincode", @@ -3988,9 +4114,9 @@ dependencies = [ [[package]] name = "solana-cost-model" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69710df9e1eb6863a5d676067d0c2e0d58fd498024cb1bc8dc9661d468590b0b" +checksum = "50c90655f4843a771d8cb94c6601c8dfac0ef0d5465bd12b0369047c0d12fd67" dependencies = [ "lazy_static", "log", @@ -4012,9 +4138,9 @@ dependencies = [ [[package]] name = "solana-frozen-abi" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d353eac7a178cd8a2ceaf5d304719d4a30c1d3f24f303145d5b029b8cc7c35f0" +checksum = "780402262644f9efe9ac7d885812d245007fe65fd56a3dfed83ed30d61b44c74" dependencies = [ "block-buffer 0.10.4", "bs58 0.4.0", @@ -4037,9 +4163,9 @@ dependencies = [ [[package]] name = "solana-frozen-abi-macro" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc87189dcb2d2da407831fc983e4f05e70c58be12b5c713e9a05f873edb42637" +checksum = "df836de37aba77234c7afa1d857dc450fb9983572e4c6f595c84cdda65a63792" dependencies = [ "proc-macro2", "quote", @@ -4049,9 +4175,9 @@ dependencies = [ [[package]] name = "solana-loader-v4-program" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fa7ce511c95953586638001e015b7ba2901fab5df6db02c1ce08faa7afb6408" +checksum = "c15f85c202dda9a5aaa5a3c4948a55cb9b37731dd5811198bb58ced1bbfbac40" dependencies = [ "log", "solana-measure", @@ -4062,9 +4188,9 @@ dependencies = [ [[package]] name = "solana-logger" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d857a115710eeb1c5ac98a340141f0c49cc31854168767d0c5b855e212632a5" +checksum = "9906be6edd0e1b579510736c153dbc51e5968808098d1b1f8c89dbea960aba58" dependencies = [ "env_logger", "lazy_static", @@ -4073,9 +4199,9 @@ dependencies = [ [[package]] name = "solana-measure" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71a32fb164205ddff073863f17a45e66fe44f88fa0fee2fa9790aa5cd730b616" +checksum = "7dc77e7f99fa5e845437ac9a593cd4bd67b5f9e4ba4a9578355eef25d3e839e9" dependencies = [ "log", "solana-sdk", @@ -4083,9 +4209,9 @@ dependencies = [ [[package]] name = "solana-metrics" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374bb8daec434f2c867091ff7c1c494eb358c5c23a583cc44a5a6134609271c2" +checksum = "b0a9f68887ac31f84ef69365bdc2d7ca6bf19d50a9c6ee10806adb033e24e318" dependencies = [ "crossbeam-channel", "gethostname", @@ -4098,9 +4224,9 @@ dependencies = [ [[package]] name = "solana-net-utils" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e09abc9f1df58d9990cb085d1e8a489f682828fc78e1933856fd63cbb231748" +checksum = "1ba07cceff31b644df6cd4acc909df077721fa047b624b9fa906d56bcc67435a" dependencies = [ "bincode", "clap 3.2.25", @@ -4126,9 +4252,9 @@ checksum = "8b8a731ed60e89177c8a7ab05fe0f1511cedd3e70e773f288f9de33a9cfdc21e" [[package]] name = "solana-perf" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c7d00801b85338f0ecf3fbb4c1d14dfccca4c1adc162f7fe28c5ee9ea7acc9f" +checksum = "0b7fa87b3344f96afe1395b5bb822db2ad03cdc2dbe8338636d57c58102a520b" dependencies = [ "ahash 0.8.11", "bincode", @@ -4155,9 +4281,9 @@ dependencies = [ [[package]] name = "solana-program" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad73ff4d5c8d4943988ef18924f5fbd96881410ab20d5a0bfa32bb44d7d4cfce" +checksum = "48ecc7af7594674687260a4d7bcfb0588cefdbe9d0f6c4e9f3140999107566c4" dependencies = [ "ark-bn254", "ark-ec", @@ -4169,7 +4295,7 @@ dependencies = [ "blake3", "borsh 0.10.3", "borsh 0.9.3", - "borsh 1.5.0", + "borsh 1.5.1", "bs58 0.4.0", "bv", "bytemuck", @@ -4234,9 +4360,9 @@ dependencies = [ [[package]] name = "solana-program-runtime" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b83375b909adeefd5ab9dc1473456df2b46f9377c8fa0d2447cc5a15a94ca407" +checksum = "0ef9218f50470228ebca12bb147650ca7052678aad915a4e19687ee215f8d947" dependencies = [ "base64 0.21.7", "bincode", @@ -4262,9 +4388,9 @@ dependencies = [ [[package]] name = "solana-program-test" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e5b1bbacdb3b9f0ad73b028e43d143374e3915627c18800f3d10cc6486eb516" +checksum = "e8725c449e05bec85f7ced22dc2eb88f6d45f0c4862eaebabc5fa1061fabbb1d" dependencies = [ "assert_matches", "async-trait", @@ -4292,9 +4418,9 @@ dependencies = [ [[package]] name = "solana-pubsub-client" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4425ce6449feac0d49b5ef9645d898c29d298ab93fa4851fe495223b1d2f4a11" +checksum = "60325aaab2bcd99ca51e1ff5a4673027a03591353a944151690b38d5dadc2c0f" dependencies = [ "crossbeam-channel", "futures-util", @@ -4317,9 +4443,9 @@ dependencies = [ [[package]] name = "solana-quic-client" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6917e7772597c3e0ee2a9c39c846e1932e013abfaf43dd3bf86d8d29d57e66d9" +checksum = "d979690c6c392ffdb40a91e241a08ec3942eb217bddb0403b6174de0173ab61e" dependencies = [ "async-mutex", "async-trait", @@ -4344,9 +4470,9 @@ dependencies = [ [[package]] name = "solana-rayon-threadlimit" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "702f16819b18fc045e4cbe9b1602931776c55eef9051bd88d109c9a2050cef31" +checksum = "6902079fb9d0bd4c455b97f5e48e2412d98e0e1facf635ec6fc6b783c0f3e2af" dependencies = [ "lazy_static", "num_cpus", @@ -4354,9 +4480,9 @@ dependencies = [ [[package]] name = "solana-remote-wallet" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62a3cb947b3bf30eb65d92f96be1539ebc21ab3bc12a4b6bbecffd7b0d922772" +checksum = "af88bad970c0dd63e98e7cc4c3c16a58acf32d4255aee79f611ea375592028ec" dependencies = [ "console", "dialoguer", @@ -4373,9 +4499,9 @@ dependencies = [ [[package]] name = "solana-rpc-client" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f631266453395a9e0b614ca222747000ea186507e187ccf5f5d5498a98b0806" +checksum = "d1adab0dcdc851fc7bc6ca8c6926d9f56ed3982f1e4fabd67d362647b57143d3" dependencies = [ "async-trait", "base64 0.21.7", @@ -4399,9 +4525,9 @@ dependencies = [ [[package]] name = "solana-rpc-client-api" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "668173de3d2a6629c6508c508c1a87a46e51dea305241816a71e68525edc1022" +checksum = "6d6764712822bbc0259bbb5413377798a11462221863d000082f39968ce5ad03" dependencies = [ "base64 0.21.7", "bs58 0.4.0", @@ -4421,9 +4547,9 @@ dependencies = [ [[package]] name = "solana-rpc-client-nonce-utils" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b409bc942263f987bb25ab56f0a3e601344fdcfb9b277a494dd142f81c34a23" +checksum = "49489fe59d308c10a2b3e3ecd3bee1107b9b67a325c99ffd278ba0870a5619cd" dependencies = [ "clap 2.34.0", "solana-clap-utils", @@ -4434,9 +4560,9 @@ dependencies = [ [[package]] name = "solana-runtime" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb1fd97b1954a0566dffa5ecbc246a61715ae54c410c13de025dc15b19422481" +checksum = "1359ea01de4d1575c7c6004a57b257da66e7b8e636e72d728c91bc6768fd593f" dependencies = [ "aquamarine", "arrayref", @@ -4511,15 +4637,15 @@ dependencies = [ [[package]] name = "solana-sdk" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f518a377209223b09a0fb62abd53add4a11313a1e85f535f559fbcc0227117a" +checksum = "73bb113fa17e0607343afdc795c2c5230981c5b51c99b2c54fba91755879d65b" dependencies = [ "assert_matches", "base64 0.21.7", "bincode", "bitflags 2.5.0", - "borsh 1.5.0", + "borsh 1.5.1", "bs58 0.4.0", "bytemuck", "byteorder", @@ -4566,9 +4692,9 @@ dependencies = [ [[package]] name = "solana-sdk-macro" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2975b2c2ed6f06d2ffbb2e6b3e7fdd9ca6b2570a76d49a2173f393e6e84c9c71" +checksum = "8fcdb3a94e2f04d856d2fba6feb4f6887a1da21a3ee0b64b69c08d15dc22d46c" dependencies = [ "bs58 0.4.0", "proc-macro2", @@ -4585,9 +4711,9 @@ checksum = "468aa43b7edb1f9b7b7b686d5c3aeb6630dc1708e86e31343499dd5c4d775183" [[package]] name = "solana-send-transaction-service" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc964aa722903dbf5680159d157438772a61b90779bc282dd9bddcb2a9f87b61" +checksum = "7550c870a6648614b0a34dd3ebf69d98a8b80ab808050aac207e17fe77e8b2d8" dependencies = [ "crossbeam-channel", "log", @@ -4601,9 +4727,9 @@ dependencies = [ [[package]] name = "solana-stake-program" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41c6d7223338a3eff4ef783505f1444454cacdd9ce027efc23687b7bc1864f3c" +checksum = "3bfb5f94949dbd8839cfe5cefd38b077a395a64407fa2e339c38657295e0fede" dependencies = [ "bincode", "log", @@ -4616,9 +4742,9 @@ dependencies = [ [[package]] name = "solana-streamer" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3986d3106ccbfe6bb1eb647918d2af82621db8d5d797a7f6a7b8d6b6b582064" +checksum = "c0e6132c9eefb372202e69e654e8c2a30b4c06635343dd6474467b9cca4b9dd9" dependencies = [ "async-channel", "bytes", @@ -4649,9 +4775,9 @@ dependencies = [ [[package]] name = "solana-system-program" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f212424483492b18f2c406f5aa035aae7de6d4ef4e791921cfc41c326b6fc02a" +checksum = "1338d45734fb10d4d378ccc84b8ff779111a7371719e92d045bcdf60db6c6ec4" dependencies = [ "bincode", "log", @@ -4663,9 +4789,9 @@ dependencies = [ [[package]] name = "solana-thin-client" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7283a5597db9dd9a7b9515d4b95fe4964881c67ee2d51658d5e5b73d83fba10" +checksum = "ca1c3ed492f61914aaa8074cf7a07f93bfd8d9adbf9846939e589b7b7c70fe39" dependencies = [ "bincode", "log", @@ -4678,9 +4804,9 @@ dependencies = [ [[package]] name = "solana-tpu-client" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf2a073779fcae0ac8ce7251a0a12f7ed275e4ea26f9621f873e4a2e3dca21d9" +checksum = "c3fbfce5d27608f4853dcb0c0d964f59420710a7a4486409e7583717c610c3cf" dependencies = [ "async-trait", "bincode", @@ -4702,9 +4828,9 @@ dependencies = [ [[package]] name = "solana-transaction-status" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9672c191c1a7a82d1472ff15ad2a0812e28a27858814ead611a1374b11a70d7" +checksum = "6adbd8f3fccddeae87278a105dcf8a8792f8816c0f4fb5f7ae8f307af279ac49" dependencies = [ "Inflector", "base64 0.21.7", @@ -4727,9 +4853,9 @@ dependencies = [ [[package]] name = "solana-udp-client" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b87180d368c00ecd82a56df7498953730136848699433d5571dacd7fd9c186" +checksum = "b90f8ebd26cac3cd563bf839ff8511f27698f2d220e58f7538b5d6d80d8970ed" dependencies = [ "async-trait", "solana-connection-cache", @@ -4742,9 +4868,9 @@ dependencies = [ [[package]] name = "solana-version" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bf94f6a9ed0e1df165569f0353e286a4e219b72d4a5200f0c8b9cd55d90f474" +checksum = "ac8714cf9f6caefc403e19770ad73ed2e4c866b7201e31dd17a9e06b6a693a57" dependencies = [ "log", "rustc_version", @@ -4758,9 +4884,9 @@ dependencies = [ [[package]] name = "solana-vote" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61a8f50c270ae4b5791ec43c8d3bc89e3b03d62b38683c59ea7357e37ff4b59" +checksum = "6db24fb82cba851f6db063400db08405a2108f68b27c3d5f2d3ed1da9849734f" dependencies = [ "crossbeam-channel", "itertools", @@ -4777,9 +4903,9 @@ dependencies = [ [[package]] name = "solana-vote-program" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b5d7a037bc2264af884564ea33f545817411897d2634ea2b83c4bc033896a0f" +checksum = "b5de2428939c6e279901d4357bf02c809739e5b97164e8620e09a9e0b55c2327" dependencies = [ "bincode", "log", @@ -4799,9 +4925,9 @@ dependencies = [ [[package]] name = "solana-zk-token-proof-program" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a42ab9ac3707f1f52df43cdd4511d135df490a03e9360945d4d702f6e92d0820" +checksum = "48d381b5205bd4ff1edfbb910895f48d00a235a0257493462ff0d102004bc337" dependencies = [ "bytemuck", "num-derive 0.4.2", @@ -4813,9 +4939,9 @@ dependencies = [ [[package]] name = "solana-zk-token-sdk" -version = "1.18.14" +version = "1.18.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cefc9878a202bf9606745e56712f7d56878ea31b29f2f89785b4b801b264322" +checksum = "8dad1753ec3b189879c8756ac35471467116dfc93d7aeb68cfd28f22a02c850d" dependencies = [ "aes-gcm-siv", "base64 0.21.7", @@ -5088,6 +5214,12 @@ dependencies = [ "spl-program-error", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "static_assertions" version = "1.1.0" @@ -5198,6 +5330,17 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + [[package]] name = "system-configuration" version = "0.5.1" @@ -5221,9 +5364,9 @@ dependencies = [ [[package]] name = "tar" -version = "0.4.40" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" +checksum = "cb797dad5fb5b76fcf519e702f4a589483b5ef06567f160c392832c1f5e44909" dependencies = [ "filetime", "libc", @@ -5420,6 +5563,16 @@ dependencies = [ "zeroize", ] +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + [[package]] name = "tinyvec" version = "1.6.0" @@ -5437,9 +5590,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.37.0" +version = "1.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" +checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" dependencies = [ "backtrace", "bytes", @@ -5456,9 +5609,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", @@ -5556,14 +5709,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.13" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4e43f8cc456c9704c851ae29c67e17ef65d2c30017c17a9765b89c382dc8bba" +checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.13", + "toml_edit 0.22.14", ] [[package]] @@ -5599,15 +5752,15 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.13" +version = "0.22.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c127785850e8c20836d49732ae6abfa47616e60bf9d9f57c43c250361a9db96c" +checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" dependencies = [ "indexmap 2.2.6", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.9", + "winnow 0.6.13", ] [[package]] @@ -5706,12 +5859,6 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" -[[package]] -name = "unicode-bidi" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" - [[package]] name = "unicode-ident" version = "1.0.12" @@ -5735,9 +5882,9 @@ checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" [[package]] name = "unicode-width" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6" +checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] name = "unicode-xid" @@ -5788,9 +5935,9 @@ dependencies = [ [[package]] name = "url" -version = "2.5.0" +version = "2.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "f7c25da092f0a868cdf09e8674cd3b7ef3a7d92a24253e663a2fb85e2496de56" dependencies = [ "form_urlencoded", "idna", @@ -5803,6 +5950,18 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "valuable" version = "0.1.0" @@ -6139,9 +6298,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.9" +version = "0.6.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86c949fede1d13936a99f14fafd3e76fd642b556dd2ce96287fbe2e0151bfac6" +checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" dependencies = [ "memchr", ] @@ -6156,6 +6315,18 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + [[package]] name = "x509-parser" version = "0.14.0" @@ -6194,6 +6365,30 @@ dependencies = [ "time", ] +[[package]] +name = "yoke" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", + "synstructure 0.13.1", +] + [[package]] name = "zerocopy" version = "0.7.34" @@ -6214,6 +6409,27 @@ dependencies = [ "syn 2.0.66", ] +[[package]] +name = "zerofrom" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", + "synstructure 0.13.1", +] + [[package]] name = "zeroize" version = "1.3.0" @@ -6234,6 +6450,28 @@ dependencies = [ "syn 2.0.66", ] +[[package]] +name = "zerovec" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb2cc8827d6c0994478a15c53f374f46fbd41bea663d809b14744bc42e6b109c" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97cf56601ee5052b4417d90c8755c6683473c926039908196cf35d99f893ebe7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + [[package]] name = "zstd" version = "0.11.2+zstd.1.5.2" diff --git a/clients/js/src/generated/accounts/counter.ts b/clients/js/src/generated/accounts/counter.ts index 4cb2231..d28da4c 100644 --- a/clients/js/src/generated/accounts/counter.ts +++ b/clients/js/src/generated/accounts/counter.ts @@ -7,17 +7,6 @@ */ import { - Account, - Address, - Codec, - Decoder, - EncodedAccount, - Encoder, - FetchAccountConfig, - FetchAccountsConfig, - MaybeAccount, - MaybeEncodedAccount, - ReadonlyUint8Array, assertAccountExists, assertAccountsExist, combineCodec, @@ -35,6 +24,17 @@ import { getU64Decoder, getU64Encoder, transformEncoder, + type Account, + type Address, + type Codec, + type Decoder, + type EncodedAccount, + type Encoder, + type FetchAccountConfig, + type FetchAccountsConfig, + type MaybeAccount, + type MaybeEncodedAccount, + type ReadonlyUint8Array, } from '@solana/web3.js'; export type Counter = { diff --git a/clients/js/src/generated/instructions/create.ts b/clients/js/src/generated/instructions/create.ts index b6c077b..b5be943 100644 --- a/clients/js/src/generated/instructions/create.ts +++ b/clients/js/src/generated/instructions/create.ts @@ -7,19 +7,6 @@ */ import { - Address, - Codec, - Decoder, - Encoder, - IAccountMeta, - IAccountSignerMeta, - IInstruction, - IInstructionWithAccounts, - IInstructionWithData, - ReadonlyAccount, - ReadonlyUint8Array, - TransactionSigner, - WritableSignerAccount, combineCodec, fixDecoderSize, fixEncoderSize, @@ -30,9 +17,22 @@ import { getStructDecoder, getStructEncoder, transformEncoder, + type Address, + type Codec, + type Decoder, + type Encoder, + type IAccountMeta, + type IAccountSignerMeta, + type IInstruction, + type IInstructionWithAccounts, + type IInstructionWithData, + type ReadonlyAccount, + type ReadonlyUint8Array, + type TransactionSigner, + type WritableSignerAccount, } from '@solana/web3.js'; import { COUNTER_PROGRAM_ADDRESS } from '../programs'; -import { ResolvedAccount, getAccountMetaFactory } from '../shared'; +import { getAccountMetaFactory, type ResolvedAccount } from '../shared'; export type CreateInstruction< TProgram extends string = typeof COUNTER_PROGRAM_ADDRESS, diff --git a/clients/js/src/generated/instructions/increment.ts b/clients/js/src/generated/instructions/increment.ts index f14a3b1..31d5cce 100644 --- a/clients/js/src/generated/instructions/increment.ts +++ b/clients/js/src/generated/instructions/increment.ts @@ -7,19 +7,6 @@ */ import { - Address, - Codec, - Decoder, - Encoder, - IAccountMeta, - IAccountSignerMeta, - IInstruction, - IInstructionWithAccounts, - IInstructionWithData, - ReadonlySignerAccount, - ReadonlyUint8Array, - TransactionSigner, - WritableAccount, combineCodec, fixDecoderSize, fixEncoderSize, @@ -28,9 +15,22 @@ import { getStructDecoder, getStructEncoder, transformEncoder, + type Address, + type Codec, + type Decoder, + type Encoder, + type IAccountMeta, + type IAccountSignerMeta, + type IInstruction, + type IInstructionWithAccounts, + type IInstructionWithData, + type ReadonlySignerAccount, + type ReadonlyUint8Array, + type TransactionSigner, + type WritableAccount, } from '@solana/web3.js'; import { COUNTER_PROGRAM_ADDRESS } from '../programs'; -import { ResolvedAccount, getAccountMetaFactory } from '../shared'; +import { getAccountMetaFactory, type ResolvedAccount } from '../shared'; export type IncrementInstruction< TProgram extends string = typeof COUNTER_PROGRAM_ADDRESS, diff --git a/clients/js/src/generated/programs/counter.ts b/clients/js/src/generated/programs/counter.ts index 529963d..76dcc80 100644 --- a/clients/js/src/generated/programs/counter.ts +++ b/clients/js/src/generated/programs/counter.ts @@ -7,14 +7,14 @@ */ import { - Address, containsBytes, fixEncoderSize, getBytesEncoder, + type Address, } from '@solana/web3.js'; import { - ParsedCreateInstruction, - ParsedIncrementInstruction, + type ParsedCreateInstruction, + type ParsedIncrementInstruction, } from '../instructions'; export const COUNTER_PROGRAM_ADDRESS = diff --git a/clients/js/src/generated/shared/index.ts b/clients/js/src/generated/shared/index.ts index 75fbe89..278bf59 100644 --- a/clients/js/src/generated/shared/index.ts +++ b/clients/js/src/generated/shared/index.ts @@ -8,13 +8,13 @@ import { AccountRole, - Address, - IAccountMeta, - IAccountSignerMeta, - ProgramDerivedAddress, - TransactionSigner, isProgramDerivedAddress, isTransactionSigner as web3JsIsTransactionSigner, + type Address, + type IAccountMeta, + type IAccountSignerMeta, + type ProgramDerivedAddress, + type TransactionSigner, upgradeRoleToSigner, } from '@solana/web3.js'; diff --git a/clients/rust/src/generated/accounts/counter.rs b/clients/rust/src/generated/accounts/counter.rs index 2777c07..f1a2e31 100644 --- a/clients/rust/src/generated/accounts/counter.rs +++ b/clients/rust/src/generated/accounts/counter.rs @@ -41,3 +41,28 @@ impl<'a> TryFrom<&solana_program::account_info::AccountInfo<'a>> for Counter { Self::deserialize(&mut data) } } + +#[cfg(feature = "anchor")] +impl anchor_lang::AccountDeserialize for Counter { + fn try_deserialize_unchecked(buf: &mut &[u8]) -> anchor_lang::Result { + Ok(Self::deserialize(buf)?) + } +} + +#[cfg(feature = "anchor")] +impl anchor_lang::AccountSerialize for Counter {} + +#[cfg(feature = "anchor")] +impl anchor_lang::Owner for Counter { + fn owner() -> Pubkey { + crate::COUNTER_ID + } +} + +#[cfg(feature = "anchor-idl-build")] +impl anchor_lang::IdlBuild for Counter {} + +#[cfg(feature = "anchor-idl-build")] +impl anchor_lang::Discriminator for Counter { + const DISCRIMINATOR: [u8; 8] = [0; 8]; +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d6e3fba..9d264db 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,19 +13,19 @@ importers: version: 2.2.5 '@kinobi-so/nodes-from-anchor': specifier: ^0.20.1 - version: 0.20.5 + version: 0.20.6 '@kinobi-so/renderers-js': specifier: ^0.20.2 - version: 0.20.5(fastestsmallesttextencoderdecoder@1.0.22) + version: 0.20.9(fastestsmallesttextencoderdecoder@1.0.22) '@kinobi-so/renderers-rust': specifier: ^0.20.3 - version: 0.20.6(fastestsmallesttextencoderdecoder@1.0.22) + version: 0.20.10(fastestsmallesttextencoderdecoder@1.0.22) '@metaplex-foundation/shank-js': specifier: ^0.1.7 version: 0.1.7 kinobi: specifier: ^0.20.1 - version: 0.20.3 + version: 0.20.4 typescript: specifier: ^5.4.2 version: 5.4.5 @@ -38,36 +38,36 @@ packages: '@iarna/toml@2.2.5': resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==} - '@kinobi-so/errors@0.20.3': - resolution: {integrity: sha512-A/syulumI3rTFJi8Us8sdMK2AAwL7ks3tsYuOe1cqmwdmTcg11Mgl8dRMZrJZfVxbxZRefniodoY/IFvV0xoVw==} + '@kinobi-so/errors@0.20.4': + resolution: {integrity: sha512-5GWQPiqLOngZFxMCTnF0rGsCc9LXUHXX+zBzbXBjhsdyQm8OSFpVFZtwiBkF+jsOBQPrLv26dFlkWJgBiq2jXQ==} hasBin: true - '@kinobi-so/node-types@0.20.3': - resolution: {integrity: sha512-wIk3UrHPOkwlfxjk49nXttnXYBmghpw/JvmwSswjKe136pmZ6vsfxFVtt5O+MFBKgOcsGs0jgk2a24wJGeRYeA==} + '@kinobi-so/node-types@0.20.4': + resolution: {integrity: sha512-kFFXMC9nSemDj2itNeSj4VR9R6QTz0z7v3niwxHHq9IJ4TFPwpcZAt7aH++SGlCUeHG3iOHC2ZngFMhv+Ks/Fw==} - '@kinobi-so/nodes-from-anchor@0.20.5': - resolution: {integrity: sha512-clzkou5DtF8IztNMODeCi+W4gLBBihD4z9KA8hTxaUoJpZ183Kwgv5/bByBZ74ZyJwqPmVhJVgraRAVPfa7TvA==} + '@kinobi-so/nodes-from-anchor@0.20.6': + resolution: {integrity: sha512-2ad1ILvnul1PqqlCkQ2uii9KCgcR9ne5jxXsxiTKUHhab6LmI6sCTR15FO4T+ZzgMVsvAe3ySrOmgDICUHr4eA==} - '@kinobi-so/nodes@0.20.3': - resolution: {integrity: sha512-EdPRrlm5OHVYHpF1vBY60ivNvcB6Z4xhnfE3wNTATRD7D7VJmen6TyiixeUt2OW2vbFGxvDE7/Ibjx0nRLvQUQ==} + '@kinobi-so/nodes@0.20.4': + resolution: {integrity: sha512-zeGOOdOaKbMxqiZWNJx/JVGVWp4mzCkwDp3bG4J+x9+mQ1nQcyuPvHXeHmtBXa9IWp7AScXlyn5HddVzK/8ZRQ==} - '@kinobi-so/renderers-core@0.20.3': - resolution: {integrity: sha512-1SYc8jxnybYH9IZPCoy0rw4i4Z3zduTyXRpf/WpixUdPWY4uqthXBIfhhP6sOugJfyBsonVy5Hfse7gHLraJCA==} + '@kinobi-so/renderers-core@0.20.4': + resolution: {integrity: sha512-feb0Fsw7UIj14JZ2LmHYyosT07K/Jrs7CvNYD2YF4g6WQz9mmy1l8Fa+gpVtoDdSHvfXrgzv8193p0QkRRBWmA==} - '@kinobi-so/renderers-js@0.20.5': - resolution: {integrity: sha512-qA+dhg6vBuSaFdWzXUcgT0rxw0zWb3pqnyVGiU57/TBEumW+njyrJhhSGb3YX89kYbXAe1/0OfJuJ7nctpZbmg==} + '@kinobi-so/renderers-js@0.20.9': + resolution: {integrity: sha512-wrduoNFTvR23Gr+oMB1sFjhv6lvh3DHqDR7B5+MownuGsM1FG6iszSw3hZIbpOetKBjhWYNjHfE5QOZG56Wadg==} - '@kinobi-so/renderers-rust@0.20.6': - resolution: {integrity: sha512-LHDlPB2PdAg9our2OrCJK8VMRnqa0KJMnZ1fP8mla9fv1EQMjM4hfkdWpyydNb6fb7Qx6LEKTunzAsjeCy96Rg==} + '@kinobi-so/renderers-rust@0.20.10': + resolution: {integrity: sha512-I4NINXbUJR3gPKoS/fNQ92YuCGFtKd+Ca+nxY+5qmVl9ctB3wIrFvUoNMq0eES8Xh6jyBtF73ocBFKBzFfn1NQ==} - '@kinobi-so/validators@0.20.3': - resolution: {integrity: sha512-qocYZ4PzjAV8LntQeS0SwBfl+TWA2GMCJ/4IensaHCtOuCOjtmb4rniNxsbdtUuEfUtKVKvkT5C4DykAWce/cA==} + '@kinobi-so/validators@0.20.4': + resolution: {integrity: sha512-PyhfM1fgsAPrDgMOB1VjvW+CytPTtLMLB0bSCU+0GRm8IoZ8pj74cIcB5XPjai3N5dU7kDMYz1nZLnCFsoXfLg==} - '@kinobi-so/visitors-core@0.20.3': - resolution: {integrity: sha512-cL5gP8QrkK65UJdeaM8FWdUaDAmlbS0UqyAXhP1owilBzXYMufKPWCNtqbOARb4yHpPlK/8K7/qV2mmqcNubdQ==} + '@kinobi-so/visitors-core@0.20.4': + resolution: {integrity: sha512-l4LCAOKL35tXn4jDZ4/gNdBeJYB5ACE4lgKQxL6oyII36hPe8pwCihIpjzHKDm9S93o9pKFN76ay5S3NnWANRw==} - '@kinobi-so/visitors@0.20.3': - resolution: {integrity: sha512-z4Shd6V1kulwK3xi8VENxQZCMyIJ0HUNU0MOgFw6tEwzJg6dD+/WJdddyxcIJMUs9KwE3BB2oQhSqn0r5IKznw==} + '@kinobi-so/visitors@0.20.4': + resolution: {integrity: sha512-sr+1qiU4sN5OfrVI//RqqHMKl5VapugkO3f/MHXGmFBDWANXJCIMmAXMMARzk/h6v76zswJ+NOHe0C3FLYb1xg==} '@metaplex-foundation/rustbin@0.3.5': resolution: {integrity: sha512-m0wkRBEQB/8krwMwKBvFugufZtYwMXiGHud2cTDAv+aGXK4M90y0Hx67/wpu+AqqoQfdV8VM9YezUOHKD+Z5kA==} @@ -115,14 +115,14 @@ packages: '@types/minimist@1.2.5': resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} - '@types/node@18.19.33': - resolution: {integrity: sha512-NR9+KrpSajr2qBVp/Yt5TU/rp+b5Mayi3+OlMlcg2cVCfRmcG5PWZ7S4+MG9PZ5gWBoc9Pd0BKSRViuBCRPu0A==} + '@types/node@18.19.34': + resolution: {integrity: sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==} '@types/ps-tree@1.1.6': resolution: {integrity: sha512-PtrlVaOaI44/3pl3cvnlK+GxOM3re2526TJvPvh7W+keHIXdV4TE0ylpPBAcvFQCbGitaTXwL9u+RF7qtVeazQ==} - '@types/which@3.0.3': - resolution: {integrity: sha512-2C1+XoY0huExTbs8MQv1DuS5FS86+SEjdM9F/+GS61gg5Hqbtj8ZiDSx8MfWcyei907fIPbfPGCOrNUTnVHY1g==} + '@types/which@3.0.4': + resolution: {integrity: sha512-liyfuo/106JdlgSchJzXEQCVArk0CvevqPote8F8HgWgJ3dRCcTHgJIsLDuee0kxk/mhbInzIZk3QWSZJ8R+2w==} a-sync-waterfall@1.0.1: resolution: {integrity: sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==} @@ -158,8 +158,8 @@ packages: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} engines: {node: '>= 12'} - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + debug@4.3.5: + resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -290,8 +290,8 @@ packages: jsonify@0.0.1: resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==} - kinobi@0.20.3: - resolution: {integrity: sha512-uOL+/2fYV01Gl1gKBiGSlMNg5NIHnUOZ5LIrv0Y8GHuYS/umEk3VQxZt/k0r2CPH676WadAFyM4og9wD+XwB9Q==} + kinobi@0.20.4: + resolution: {integrity: sha512-/EkPQV1jVK4PkSWbdFb12EO7QMMkhNaoVaA0Le6MheCcnCHcWlLsz4Un/5eqSa/NNM8kCivGsEg/n9qDeKddTA==} map-stream@0.1.0: resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} @@ -343,8 +343,8 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - prettier@3.2.5: - resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + prettier@3.3.2: + resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} engines: {node: '>=14'} hasBin: true @@ -420,8 +420,8 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true - yaml@2.4.2: - resolution: {integrity: sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==} + yaml@2.4.5: + resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} engines: {node: '>= 14'} hasBin: true @@ -434,78 +434,78 @@ snapshots: '@iarna/toml@2.2.5': {} - '@kinobi-so/errors@0.20.3': + '@kinobi-so/errors@0.20.4': dependencies: - '@kinobi-so/node-types': 0.20.3 + '@kinobi-so/node-types': 0.20.4 chalk: 5.3.0 commander: 12.1.0 - '@kinobi-so/node-types@0.20.3': {} + '@kinobi-so/node-types@0.20.4': {} - '@kinobi-so/nodes-from-anchor@0.20.5': + '@kinobi-so/nodes-from-anchor@0.20.6': dependencies: - '@kinobi-so/errors': 0.20.3 - '@kinobi-so/nodes': 0.20.3 - '@kinobi-so/visitors': 0.20.3 + '@kinobi-so/errors': 0.20.4 + '@kinobi-so/nodes': 0.20.4 + '@kinobi-so/visitors': 0.20.4 '@noble/hashes': 1.4.0 - '@kinobi-so/nodes@0.20.3': + '@kinobi-so/nodes@0.20.4': dependencies: - '@kinobi-so/errors': 0.20.3 - '@kinobi-so/node-types': 0.20.3 + '@kinobi-so/errors': 0.20.4 + '@kinobi-so/node-types': 0.20.4 - '@kinobi-so/renderers-core@0.20.3': + '@kinobi-so/renderers-core@0.20.4': dependencies: - '@kinobi-so/errors': 0.20.3 - '@kinobi-so/nodes': 0.20.3 - '@kinobi-so/visitors-core': 0.20.3 + '@kinobi-so/errors': 0.20.4 + '@kinobi-so/nodes': 0.20.4 + '@kinobi-so/visitors-core': 0.20.4 - '@kinobi-so/renderers-js@0.20.5(fastestsmallesttextencoderdecoder@1.0.22)': + '@kinobi-so/renderers-js@0.20.9(fastestsmallesttextencoderdecoder@1.0.22)': dependencies: - '@kinobi-so/errors': 0.20.3 - '@kinobi-so/nodes': 0.20.3 - '@kinobi-so/renderers-core': 0.20.3 - '@kinobi-so/visitors-core': 0.20.3 + '@kinobi-so/errors': 0.20.4 + '@kinobi-so/nodes': 0.20.4 + '@kinobi-so/renderers-core': 0.20.4 + '@kinobi-so/visitors-core': 0.20.4 '@solana/codecs-strings': 2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22) nunjucks: 3.2.4 - prettier: 3.2.5 + prettier: 3.3.2 transitivePeerDependencies: - chokidar - fastestsmallesttextencoderdecoder - '@kinobi-so/renderers-rust@0.20.6(fastestsmallesttextencoderdecoder@1.0.22)': + '@kinobi-so/renderers-rust@0.20.10(fastestsmallesttextencoderdecoder@1.0.22)': dependencies: - '@kinobi-so/errors': 0.20.3 - '@kinobi-so/nodes': 0.20.3 - '@kinobi-so/renderers-core': 0.20.3 - '@kinobi-so/visitors-core': 0.20.3 + '@kinobi-so/errors': 0.20.4 + '@kinobi-so/nodes': 0.20.4 + '@kinobi-so/renderers-core': 0.20.4 + '@kinobi-so/visitors-core': 0.20.4 '@solana/codecs-strings': 2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22) nunjucks: 3.2.4 transitivePeerDependencies: - chokidar - fastestsmallesttextencoderdecoder - '@kinobi-so/validators@0.20.3': + '@kinobi-so/validators@0.20.4': dependencies: - '@kinobi-so/errors': 0.20.3 - '@kinobi-so/nodes': 0.20.3 - '@kinobi-so/visitors-core': 0.20.3 + '@kinobi-so/errors': 0.20.4 + '@kinobi-so/nodes': 0.20.4 + '@kinobi-so/visitors-core': 0.20.4 - '@kinobi-so/visitors-core@0.20.3': + '@kinobi-so/visitors-core@0.20.4': dependencies: - '@kinobi-so/errors': 0.20.3 - '@kinobi-so/nodes': 0.20.3 + '@kinobi-so/errors': 0.20.4 + '@kinobi-so/nodes': 0.20.4 json-stable-stringify: 1.1.1 - '@kinobi-so/visitors@0.20.3': + '@kinobi-so/visitors@0.20.4': dependencies: - '@kinobi-so/errors': 0.20.3 - '@kinobi-so/nodes': 0.20.3 - '@kinobi-so/visitors-core': 0.20.3 + '@kinobi-so/errors': 0.20.4 + '@kinobi-so/nodes': 0.20.4 + '@kinobi-so/visitors-core': 0.20.4 '@metaplex-foundation/rustbin@0.3.5': dependencies: - debug: 4.3.4 + debug: 4.3.5 semver: 7.6.2 text-table: 0.2.0 toml: 3.0.0 @@ -516,7 +516,7 @@ snapshots: dependencies: '@metaplex-foundation/rustbin': 0.3.5 ansi-colors: 4.1.3 - debug: 4.3.4 + debug: 4.3.5 transitivePeerDependencies: - supports-color @@ -558,21 +558,21 @@ snapshots: '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 18.19.33 + '@types/node': 18.19.34 '@types/jsonfile@6.1.4': dependencies: - '@types/node': 18.19.33 + '@types/node': 18.19.34 '@types/minimist@1.2.5': {} - '@types/node@18.19.33': + '@types/node@18.19.34': dependencies: undici-types: 5.26.5 '@types/ps-tree@1.1.6': {} - '@types/which@3.0.3': {} + '@types/which@3.0.4': {} a-sync-waterfall@1.0.1: {} @@ -600,7 +600,7 @@ snapshots: data-uri-to-buffer@4.0.1: {} - debug@4.3.4: + debug@4.3.5: dependencies: ms: 2.1.2 @@ -738,12 +738,12 @@ snapshots: jsonify@0.0.1: {} - kinobi@0.20.3: + kinobi@0.20.4: dependencies: - '@kinobi-so/errors': 0.20.3 - '@kinobi-so/nodes': 0.20.3 - '@kinobi-so/validators': 0.20.3 - '@kinobi-so/visitors': 0.20.3 + '@kinobi-so/errors': 0.20.4 + '@kinobi-so/nodes': 0.20.4 + '@kinobi-so/validators': 0.20.4 + '@kinobi-so/visitors': 0.20.4 map-stream@0.1.0: {} @@ -782,7 +782,7 @@ snapshots: picomatch@2.3.1: {} - prettier@3.2.5: {} + prettier@3.3.2: {} ps-tree@1.2.0: dependencies: @@ -841,15 +841,15 @@ snapshots: dependencies: isexe: 2.0.0 - yaml@2.4.2: {} + yaml@2.4.5: {} zx@7.2.3: dependencies: '@types/fs-extra': 11.0.4 '@types/minimist': 1.2.5 - '@types/node': 18.19.33 + '@types/node': 18.19.34 '@types/ps-tree': 1.1.6 - '@types/which': 3.0.3 + '@types/which': 3.0.4 chalk: 5.3.0 fs-extra: 11.2.0 fx: 34.0.0 @@ -859,4 +859,4 @@ snapshots: ps-tree: 1.2.0 webpod: 0.0.2 which: 3.0.1 - yaml: 2.4.2 + yaml: 2.4.5 diff --git a/program/Cargo.toml b/program/Cargo.toml index 7eee3fa..a68cceb 100644 --- a/program/Cargo.toml +++ b/program/Cargo.toml @@ -9,6 +9,7 @@ publish = false [package.metadata.solana] program-id = "CounterProgram111111111111111111111111111111" program-dependencies = [] +account-dependencies = [] [lib] crate-type = ["cdylib", "lib"] diff --git a/scripts/client/lint-rust.mjs b/scripts/client/lint-rust.mjs index 2aa0860..0c2ac3d 100755 --- a/scripts/client/lint-rust.mjs +++ b/scripts/client/lint-rust.mjs @@ -4,4 +4,4 @@ import { workingDirectory } from '../utils.mjs'; // Check the client using Clippy. cd(path.join(workingDirectory, 'clients', 'rust')); -await $`cargo clippy ${argv._}`; +await $`cargo clippy ${process.argv.slice(3)}`; diff --git a/scripts/client/test-js.mjs b/scripts/client/test-js.mjs index 59668ab..e7bbd4d 100755 --- a/scripts/client/test-js.mjs +++ b/scripts/client/test-js.mjs @@ -9,4 +9,4 @@ await $`pnpm validator:restart`; cd(path.join(workingDirectory, 'clients', 'js')); await $`pnpm install`; await $`pnpm build`; -await $`pnpm test ${argv._}`; +await $`pnpm test ${process.argv.slice(3)}`; diff --git a/scripts/client/test-rust.mjs b/scripts/client/test-rust.mjs index e5c736e..45aa733 100755 --- a/scripts/client/test-rust.mjs +++ b/scripts/client/test-rust.mjs @@ -6,7 +6,7 @@ import { workingDirectory } from '../utils.mjs'; cd(path.join(workingDirectory, 'clients', 'rust')); const hasSolfmt = await which('solfmt', { nothrow: true }); if (hasSolfmt) { - await $`cargo test-sbf ${argv._} 2>&1 | solfmt`; + await $`cargo test-sbf ${process.argv.slice(3)} 2>&1 | solfmt`; } else { - await $`cargo test-sbf ${argv._}`; + await $`cargo test-sbf ${process.argv.slice(3)}`; } diff --git a/scripts/program/build.mjs b/scripts/program/build.mjs index 7c865da..9b364d0 100755 --- a/scripts/program/build.mjs +++ b/scripts/program/build.mjs @@ -6,9 +6,7 @@ import { workingDirectory, getProgramFolders } from '../utils.mjs'; import './dump.mjs'; // Build the programs. -await Promise.all( - getProgramFolders().map(async (folder) => { - await $`cd ${path.join(workingDirectory, folder)}`.quiet(); - await $`cargo-build-sbf ${argv._}`; - }) -); +for (const folder of getProgramFolders()) { + cd(`${path.join(workingDirectory, folder)}`); + await $`cargo-build-sbf ${process.argv.slice(3)}`; +} diff --git a/scripts/program/dump.mjs b/scripts/program/dump.mjs index 26c234f..7e7db12 100755 --- a/scripts/program/dump.mjs +++ b/scripts/program/dump.mjs @@ -1,6 +1,7 @@ #!/usr/bin/env zx import 'zx/globals'; import { + getExternalAccountAddresses, getExternalProgramAddresses, getExternalProgramOutputDir, } from '../utils.mjs'; @@ -10,11 +11,17 @@ const rpc = process.env.RPC ?? 'https://api.mainnet-beta.solana.com'; const outputDir = getExternalProgramOutputDir(); await dump(); -/** Dump external programs binaries if needed. */ +/** Dump external programs binaries and accounts if needed. */ async function dump() { - // Ensure we have some external programs to dump. - const addresses = getExternalProgramAddresses(); - if (addresses.length === 0) return; + // Ensure we have some external accounts to dump. + const programs = getExternalProgramAddresses(); + const accounts = getExternalAccountAddresses(); + const external = [ + ...programs.map((program) => [program, 'so']), + ...accounts.map((account) => [account, 'json']), + ]; + + if (external.length === 0) return; echo(`Dumping external accounts to '${outputDir}':`); // Create the output directory if needed. @@ -22,12 +29,12 @@ async function dump() { // Copy the binaries from the chain or warn if they are different. await Promise.all( - addresses.map(async (address) => { - const binary = `${address}.so`; + external.map(async ([address, extension]) => { + const binary = `${address}.${extension}`; const hasBinary = await fs.exists(`${outputDir}/${binary}`); if (!hasBinary) { - await copyFromChain(address, binary); + await copyFromChain(address, extension); echo(`Wrote account data to ${outputDir}/${binary}`); return; } @@ -47,29 +54,36 @@ async function dump() { } if (hasShaChecksum) { - await copyFromChain(address, `onchain-${binary}`); - const [onChainHash, localHash] = await Promise.all([ - $`${sha} ${options} -b ${outputDir}/onchain-${binary} | cut -d ' ' -f 1`.quiet(), - $`${sha} ${options} -b ${outputDir}/${binary} | cut -d ' ' -f 1`.quiet(), - ]); + try { + await copyFromChain(address, extension, 'onchain-'); + const [onChainHash, localHash] = await Promise.all([ + $`${sha} ${options} -b ${outputDir}/onchain-${binary} | cut -d ' ' -f 1`.quiet(), + $`${sha} ${options} -b ${outputDir}/${binary} | cut -d ' ' -f 1`.quiet(), + ]); + + if (onChainHash.toString() !== localHash.toString()) { + echo( + chalk.yellow('[ WARNING ]'), + `on-chain and local binaries are different for '${address}'` + ); + } else { + echo( + chalk.green('[ SKIPPED ]'), + `on-chain and local binaries are the same for '${address}'` + ); + } - if (onChainHash.toString() !== localHash.toString()) { + await $`rm ${outputDir}/onchain-${binary}`.quiet(); + } catch (error) { echo( chalk.yellow('[ WARNING ]'), - `on-chain and local binaries are different for '${binary}'` - ); - } else { - echo( - chalk.green('[ SKIPPED ]'), - `on-chain and local binaries are the same for '${binary}'` + `skipped check for '${address}' (error copying data from '${rpc}')` ); } - - await $`rm ${outputDir}/onchain-${binary}`.quiet(); } else { echo( chalk.yellow('[ WARNING ]'), - `skipped check for '${binary}' (missing 'sha256sum' command)` + `skipped check for '${address}' (missing 'sha256sum' command)` ); } }) @@ -77,10 +91,11 @@ async function dump() { } /** Helper function to copy external programs or accounts binaries from the chain. */ -async function copyFromChain(address, binary) { - switch (binary.split('.').pop()) { - case 'bin': - return $`solana account -u ${rpc} ${address} -o ${outputDir}/${binary} >/dev/null`.quiet(); +async function copyFromChain(address, extension, prefix = '') { + const binary = `${prefix}${address}.${extension}`; + switch (extension) { + case 'json': + return $`solana account -u ${rpc} ${address} -o ${outputDir}/${binary} --output json >/dev/null`.quiet(); case 'so': return $`solana program dump -u ${rpc} ${address} ${outputDir}/${binary} >/dev/null`.quiet(); default: diff --git a/scripts/program/format.mjs b/scripts/program/format.mjs index 4c1a11d..8524d78 100755 --- a/scripts/program/format.mjs +++ b/scripts/program/format.mjs @@ -3,9 +3,7 @@ import 'zx/globals'; import { workingDirectory, getProgramFolders } from '../utils.mjs'; // Format the programs. -await Promise.all( - getProgramFolders().map(async (folder) => { - await $`cd ${path.join(workingDirectory, folder)}`.quiet(); - await $`cargo fmt ${argv._}`; - }) -); +for (const folder of getProgramFolders()) { + cd(`${path.join(workingDirectory, folder)}`); + await $`cargo fmt ${process.argv.slice(3)}`; +} diff --git a/scripts/program/lint.mjs b/scripts/program/lint.mjs index ff117ca..e64c23e 100755 --- a/scripts/program/lint.mjs +++ b/scripts/program/lint.mjs @@ -3,9 +3,7 @@ import 'zx/globals'; import { workingDirectory, getProgramFolders } from '../utils.mjs'; // Lint the programs using clippy. -await Promise.all( - getProgramFolders().map(async (folder) => { - await $`cd ${path.join(workingDirectory, folder)}`.quiet(); - await $`cargo clippy ${argv._}`; - }) -); +for (const folder of getProgramFolders()) { + cd(`${path.join(workingDirectory, folder)}`); + await $`cargo clippy ${process.argv.slice(3)}`; +} diff --git a/scripts/program/test.mjs b/scripts/program/test.mjs index 2c8777b..2841312 100755 --- a/scripts/program/test.mjs +++ b/scripts/program/test.mjs @@ -5,16 +5,14 @@ import { workingDirectory, getProgramFolders } from '../utils.mjs'; // Save external programs binaries to the output directory. import './dump.mjs'; +const hasSolfmt = await which('solfmt', { nothrow: true }); // Test the programs. -await Promise.all( - getProgramFolders().map(async (folder) => { - await $`cd ${path.join(workingDirectory, folder)}`.quiet(); - const hasSolfmt = await which('solfmt', { nothrow: true }); +for (const folder of getProgramFolders()) { + cd(`${path.join(workingDirectory, folder)}`); - if (hasSolfmt) { - await $`RUST_LOG=error cargo test-sbf ${argv._} 2>&1 | solfmt`; - } else { - await $`RUST_LOG=error cargo test-sbf ${argv._}`; - } - }) -); + if (hasSolfmt) { + await $`RUST_LOG=error cargo test-sbf ${process.argv.slice(3)} 2>&1 | solfmt`; + } else { + await $`RUST_LOG=error cargo test-sbf ${process.argv.slice(3)}`; + } +} diff --git a/scripts/start-validator.mjs b/scripts/start-validator.mjs index 72b02b0..278379f 100755 --- a/scripts/start-validator.mjs +++ b/scripts/start-validator.mjs @@ -4,6 +4,7 @@ import fs from 'node:fs'; import 'zx/globals'; import { getCargo, + getExternalAccountAddresses, getExternalProgramAddresses, getExternalProgramOutputDir, getProgramFolders, @@ -21,10 +22,18 @@ if (!restart && isValidatorRunning) { // Initial message. const verb = isValidatorRunning ? 'Restarting' : 'Starting'; + +// Get programs and accounts. const programs = [...getPrograms(), ...getExternalPrograms()]; const programPluralized = programs.length === 1 ? 'program' : 'programs'; +const accounts = [...getExternalAccounts()]; +const accountsPluralized = accounts.length === 1 ? 'account' : 'accounts'; + echo( - `${verb} local validator with ${programs.length} custom ${programPluralized}...` + `${verb} local validator with ${programs.length} custom ${programPluralized}` + + (accounts.length > 0 + ? ` and ${accounts.length} external ${accountsPluralized}...` + : `...`) ); // Kill the validator if it's already running. @@ -41,6 +50,11 @@ programs.forEach(({ programId, deployPath }) => { args.push(/* Load BPF program */ '--bpf-program', programId, deployPath); }); +// Load accounts. +accounts.forEach(({ account, deployPath }) => { + args.push(/* Load account */ '--account', account, deployPath); +}); + // Start the validator in detached mode. const cliLogs = path.join(os.tmpdir(), 'validator-cli.log'); fs.writeFileSync(cliLogs, '', () => {}); @@ -98,3 +112,11 @@ function getExternalPrograms() { deployPath: path.join(binaryDir, `${address}.so`), })); } + +function getExternalAccounts() { + const binaryDir = getExternalProgramOutputDir(); + return getExternalAccountAddresses().map((address) => ({ + account: address, + deployPath: path.join(binaryDir, `${address}.json`), + })); +} diff --git a/scripts/utils.mjs b/scripts/utils.mjs index 9bbe49b..637cc4d 100644 --- a/scripts/utils.mjs +++ b/scripts/utils.mjs @@ -26,6 +26,14 @@ export function getExternalProgramAddresses() { return Array.from(new Set(addresses)); } +export function getExternalAccountAddresses() { + const addresses = getProgramFolders().flatMap( + (folder) => + getCargo(folder).package?.metadata?.solana?.['account-dependencies'] ?? [] + ); + return Array.from(new Set(addresses)); +} + let didWarnAboutMissingPrograms = false; export function getProgramFolders() { let programs;