diff --git a/Cargo.lock b/Cargo.lock index f8c1b4c5..374eb970 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -48,179 +48,12 @@ dependencies = [ "memchr", ] -[[package]] -name = "aliasable" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" - [[package]] name = "alloc-traits" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6b2d54853319fd101b8dd81de382bcbf3e03410a64d8928bbee85a3e7dcde483" -[[package]] -name = "anchor-attribute-access-control" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cb6a4b9c53ca04146d47df41db96e79ca3fd1fe60ba2691b317648a5e314bbd" -dependencies = [ - "anchor-syn", - "anyhow", - "proc-macro2 1.0.24", - "quote 1.0.7", - "regex", - "syn 1.0.60", -] - -[[package]] -name = "anchor-attribute-account" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "568fdd7655eca414649cba63c10d34856569aa07acc5996d50eaf74e28495f80" -dependencies = [ - "anchor-syn", - "anyhow", - "bs58 0.4.0", - "proc-macro2 1.0.24", - "quote 1.0.7", - "rustversion", - "syn 1.0.60", -] - -[[package]] -name = "anchor-attribute-error" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1653f067f9830a3851d3171c3a5b94b4a25780369e7d57961a3d8eff0dff5272" -dependencies = [ - "anchor-syn", - "proc-macro2 1.0.24", - "quote 1.0.7", - "syn 1.0.60", -] - -[[package]] -name = "anchor-attribute-event" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0e5631befc10143e6c64dea1ce4d1106300ab06f8b82e33c33bacb076057402" -dependencies = [ - "anchor-syn", - "anyhow", - "proc-macro2 1.0.24", - "quote 1.0.7", - "syn 1.0.60", -] - -[[package]] -name = "anchor-attribute-interface" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f56e9d28f58effb298763e6397ebadfb7b84e3a853fd1995d8316d4d76fe5d" -dependencies = [ - "anchor-syn", - "anyhow", - "heck", - "proc-macro2 1.0.24", - "quote 1.0.7", - "syn 1.0.60", -] - -[[package]] -name = "anchor-attribute-program" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c1f2ba3fe5da5f5653742781d0fcecbddb7105e4f933ba968802a2e10db294c" -dependencies = [ - "anchor-syn", - "anyhow", - "proc-macro2 1.0.24", - "quote 1.0.7", - "syn 1.0.60", -] - -[[package]] -name = "anchor-attribute-state" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3086b3196184a98f8ff1fe4584c4f391c686bf38cfab2cbfac9f224cdcfef5cd" -dependencies = [ - "anchor-syn", - "anyhow", - "proc-macro2 1.0.24", - "quote 1.0.7", - "syn 1.0.60", -] - -[[package]] -name = "anchor-derive-accounts" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "640ae4b58427c05900d4903bd5a042fc7841272977d643b3e7f3ea73f6704720" -dependencies = [ - "anchor-syn", - "anyhow", - "proc-macro2 1.0.24", - "quote 1.0.7", - "syn 1.0.60", -] - -[[package]] -name = "anchor-lang" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c38773566b5111c76f47cb33c93a82b86131cb35405587a90be639de904cf00" -dependencies = [ - "anchor-attribute-access-control", - "anchor-attribute-account", - "anchor-attribute-error", - "anchor-attribute-event", - "anchor-attribute-interface", - "anchor-attribute-program", - "anchor-attribute-state", - "anchor-derive-accounts", - "base64 0.13.0", - "borsh", - "bytemuck", - "solana-program", - "thiserror", -] - -[[package]] -name = "anchor-spl" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c995dfac730f6ead86280aa32636e0abd6ec3189dd42e37cc3be4df380cc7008" -dependencies = [ - "anchor-lang", - "lazy_static", - "serum_dex 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-program", - "spl-associated-token-account", - "spl-token 3.2.0", -] - -[[package]] -name = "anchor-syn" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dda645a57fe2222560ebb5fde2e22d6fd1e2b65dd7ba14250c468b285bd615f" -dependencies = [ - "anyhow", - "bs58 0.3.1", - "heck", - "proc-macro2 1.0.24", - "proc-macro2-diagnostics", - "quote 1.0.7", - "serde", - "serde_json", - "sha2", - "syn 1.0.60", - "thiserror", -] - [[package]] name = "ansi_term" version = "0.11.0" @@ -256,9 +89,9 @@ checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" [[package]] name = "assert_matches" -version = "1.5.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" +checksum = "695579f0f2520f3774bb40461e5adb066459d4e0af4d59d20175484fb8e9edf1" [[package]] name = "atty" @@ -324,10 +157,11 @@ checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" [[package]] name = "bincode" -version = "1.3.3" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +checksum = "f30d3a39baa26f9651f17b375061f3233dde33424a8b72b0dbe93a68a0bc896d" dependencies = [ + "byteorder", "serde", ] @@ -402,11 +236,11 @@ checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" [[package]] name = "borsh" -version = "0.9.1" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18dda7dc709193c0d86a1a51050a926dc3df1cf262ec46a23a25dba421ea1924" +checksum = "a5a26c53ddf60281f18e7a29b20db7ba3db82a9d81b9650bfaa02d646f50d364" dependencies = [ - "borsh-derive 0.9.1", + "borsh-derive", "hashbrown", ] @@ -416,21 +250,8 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b637a47728b78a78cd7f4b85bf06d71ef4221840e059a38f048be2422bf673b2" dependencies = [ - "borsh-derive-internal 0.8.1", - "borsh-schema-derive-internal 0.8.1", - "proc-macro-crate", - "proc-macro2 1.0.24", - "syn 1.0.60", -] - -[[package]] -name = "borsh-derive" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "684155372435f578c0fa1acd13ebbb182cc19d6b38b64ae7901da4393217d264" -dependencies = [ - "borsh-derive-internal 0.9.1", - "borsh-schema-derive-internal 0.9.1", + "borsh-derive-internal", + "borsh-schema-derive-internal", "proc-macro-crate", "proc-macro2 1.0.24", "syn 1.0.60", @@ -447,17 +268,6 @@ dependencies = [ "syn 1.0.60", ] -[[package]] -name = "borsh-derive-internal" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2102f62f8b6d3edeab871830782285b64cc1830168094db05c8e458f209bc5c3" -dependencies = [ - "proc-macro2 1.0.24", - "quote 1.0.7", - "syn 1.0.60", -] - [[package]] name = "borsh-schema-derive-internal" version = "0.8.1" @@ -469,29 +279,12 @@ dependencies = [ "syn 1.0.60", ] -[[package]] -name = "borsh-schema-derive-internal" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "196c978c4c9b0b142d446ef3240690bf5a8a33497074a113ff9a337ccb750483" -dependencies = [ - "proc-macro2 1.0.24", - "quote 1.0.7", - "syn 1.0.60", -] - [[package]] name = "bs58" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "476e9cd489f9e121e02ffa6014a8ef220ecb15c05ed23fc34cca13925dc283fb" -[[package]] -name = "bs58" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" - [[package]] name = "buf_redux" version = "0.8.4" @@ -526,23 +319,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72957246c41db82b8ef88a5486143830adeb8227ef9837740bdec67724cf2c5b" -dependencies = [ - "bytemuck_derive", -] - -[[package]] -name = "bytemuck_derive" -version = "1.0.1" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e215f8c2f9f79cb53c8335e687ffd07d5bfcb6fe5fc80723762d0be46e7cc54" -dependencies = [ - "proc-macro2 1.0.24", - "quote 1.0.7", - "syn 1.0.60", -] +checksum = "41aa2ec95ca3b5c54cf73c91acf06d24f4495d5f1b1c12506ae3483d646177ac" [[package]] name = "byteorder" @@ -596,9 +375,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.71" +version = "1.0.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79c2681d6594606957bbb8631c4b90a7fcaaa72cdb714743a437b156d6a7eedd" +checksum = "d26a6ce4b6a484fa3edb70f7efa6fc430fd2b87285fe8b84304fd0936faa0dc0" dependencies = [ "jobserver", ] @@ -788,13 +567,13 @@ dependencies = [ "rand 0.7.3", "safe-transmute", "serum-common", - "serum_dex 0.4.0", + "serum_dex", "slog-scope", "slog-stdlog", "sloggers", "solana-client", "solana-sdk", - "spl-token 3.2.0", + "spl-token 3.1.0", "threadpool", "tokio 0.2.23", "warp", @@ -829,6 +608,17 @@ dependencies = [ "crossbeam-utils 0.8.1", ] +[[package]] +name = "crossbeam-deque" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285" +dependencies = [ + "crossbeam-epoch 0.8.2", + "crossbeam-utils 0.7.2", + "maybe-uninit", +] + [[package]] name = "crossbeam-deque" version = "0.8.0" @@ -836,10 +626,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9" dependencies = [ "cfg-if 1.0.0", - "crossbeam-epoch", + "crossbeam-epoch 0.9.1", "crossbeam-utils 0.8.1", ] +[[package]] +name = "crossbeam-epoch" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace" +dependencies = [ + "autocfg 1.0.1", + "cfg-if 0.1.10", + "crossbeam-utils 0.7.2", + "lazy_static", + "maybe-uninit", + "memoffset 0.5.6", + "scopeguard", +] + [[package]] name = "crossbeam-epoch" version = "0.9.1" @@ -850,10 +655,21 @@ dependencies = [ "const_fn", "crossbeam-utils 0.8.1", "lazy_static", - "memoffset", + "memoffset 0.6.1", "scopeguard", ] +[[package]] +name = "crossbeam-queue" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570" +dependencies = [ + "cfg-if 0.1.10", + "crossbeam-utils 0.7.2", + "maybe-uninit", +] + [[package]] name = "crossbeam-utils" version = "0.7.2" @@ -882,6 +698,16 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +[[package]] +name = "crypto-mac" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" +dependencies = [ + "generic-array 0.12.3", + "subtle 1.0.0", +] + [[package]] name = "crypto-mac" version = "0.8.0" @@ -889,7 +715,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" dependencies = [ "generic-array 0.14.4", - "subtle", + "subtle 2.3.0", ] [[package]] @@ -899,7 +725,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "58bcd97a54c7ca5ce2f6eb16f6bede5b0ab5f0055fedc17d2f0b4466e21671ca" dependencies = [ "generic-array 0.14.4", - "subtle", + "subtle 2.3.0", ] [[package]] @@ -909,7 +735,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4857fd85a0c34b3c3297875b747c1e02e06b6a0ea32dd892d8192b9ce0813ea6" dependencies = [ "generic-array 0.14.4", - "subtle", + "subtle 2.3.0", ] [[package]] @@ -921,7 +747,7 @@ dependencies = [ "byteorder", "digest 0.8.1", "rand_core 0.5.1", - "subtle", + "subtle 2.3.0", "zeroize", ] @@ -934,7 +760,7 @@ dependencies = [ "byteorder", "digest 0.9.0", "rand_core 0.5.1", - "subtle", + "subtle 2.3.0", "zeroize", ] @@ -1082,7 +908,7 @@ dependencies = [ "rand 0.7.3", "serde", "serde_bytes", - "sha2", + "sha2 0.9.3", "zeroize", ] @@ -1096,7 +922,7 @@ dependencies = [ "ed25519-dalek", "failure", "hmac 0.9.0", - "sha2", + "sha2 0.9.3", ] [[package]] @@ -1193,7 +1019,7 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e1c54951450cbd39f3dbcf1005ac413b49487dabf18a720ad2383eccfeffb92" dependencies = [ - "memoffset", + "memoffset 0.6.1", "rustc_version 0.3.3", ] @@ -1274,6 +1100,12 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" +[[package]] +name = "futures" +version = "0.1.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7e4c2612746b0df8fed4ce0c69156021b704c9aefa360311c04e6e9e002eed" + [[package]] name = "futures" version = "0.3.8" @@ -1408,7 +1240,6 @@ dependencies = [ "cfg-if 0.1.10", "libc", "wasi 0.9.0+wasi-snapshot-preview1", - "wasm-bindgen", ] [[package]] @@ -1456,9 +1287,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.7" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fd819562fcebdac5afc5c113c3ec36f902840b70fd4fc458799c8ce4607ae55" +checksum = "d7f3675cfef6a30c8031cf9e6493ebdc3bb3272a3fea3923c4210d1830e6a472" dependencies = [ "bytes 1.1.0", "fnv", @@ -1468,8 +1299,8 @@ dependencies = [ "http", "indexmap", "slab", - "tokio 1.13.0", - "tokio-util 0.6.9", + "tokio 1.11.0", + "tokio-util 0.6.8", "tracing", ] @@ -1509,9 +1340,9 @@ dependencies = [ [[package]] name = "heck" -version = "0.3.3" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" dependencies = [ "unicode-segmentation", ] @@ -1542,6 +1373,16 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "hmac" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695" +dependencies = [ + "crypto-mac 0.7.0", + "digest 0.8.1", +] + [[package]] name = "hmac" version = "0.8.1" @@ -1574,13 +1415,13 @@ dependencies = [ [[package]] name = "hmac-drbg" -version = "0.3.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" +checksum = "c6e570451493f10f6581b48cdd530413b63ea9e780f544bfd3bdcaa0d89d1a7b" dependencies = [ - "digest 0.9.0", - "generic-array 0.14.4", - "hmac 0.8.1", + "digest 0.8.1", + "generic-array 0.12.3", + "hmac 0.7.1", ] [[package]] @@ -1606,9 +1447,9 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.4" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ff4f84919677303da5f147645dbea6b1881f368d03ac84e1dc09031ebd7b2c6" +checksum = "399c583b2979440c60be0821a6199eca73bc3c8dcd9d070d75ac726e2c6186e5" dependencies = [ "bytes 1.1.0", "http", @@ -1667,15 +1508,15 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2 0.3.7", + "h2 0.3.4", "http", - "http-body 0.4.4", + "http-body 0.4.3", "httparse", "httpdate", "itoa", "pin-project 1.0.2", - "socket2 0.4.2", - "tokio 1.13.0", + "socket2 0.4.1", + "tokio 1.11.0", "tower-service", "tracing", "want", @@ -1691,7 +1532,7 @@ dependencies = [ "hyper 0.14.5", "log", "rustls", - "tokio 1.13.0", + "tokio 1.11.0", "tokio-rustls", "webpki", ] @@ -1797,11 +1638,11 @@ dependencies = [ [[package]] name = "jsonrpc-core" -version = "18.0.0" +version = "17.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14f7f76aef2d054868398427f6c54943cf3d1caa9a7ec7d0c38d69df97a965eb" +checksum = "d4467ab6dfa369b69e52bd0692e480c4d117410538526a57a304a0f2250fd95e" dependencies = [ - "futures", + "futures 0.3.8", "futures-executor", "futures-util", "log", @@ -1837,9 +1678,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.105" +version = "0.2.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "869d572136620d55835903746bcb5cdc54cb2851fd0aeec53220b4bb65ef3013" +checksum = "3cb00336871be5ed2c8ed44b60ae9959dc5b9f08539422ed43f09e34ecaeba21" [[package]] name = "libflate" @@ -1871,52 +1712,20 @@ dependencies = [ [[package]] name = "libsecp256k1" -version = "0.5.0" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd1137239ab33b41aa9637a88a28249e5e70c40a42ccc92db7f12cc356c1fcd7" +checksum = "1fc1e2c808481a63dc6da2074752fdd4336a3c8fcc68b83db6f1fd5224ae7962" dependencies = [ "arrayref", - "base64 0.12.3", - "digest 0.9.0", + "crunchy", + "digest 0.8.1", "hmac-drbg", - "libsecp256k1-core", - "libsecp256k1-gen-ecmult", - "libsecp256k1-gen-genmult", "rand 0.7.3", - "serde", - "sha2", + "sha2 0.8.2", + "subtle 2.3.0", "typenum", ] -[[package]] -name = "libsecp256k1-core" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0f6ab710cec28cef759c5f18671a27dae2a5f952cdaaee1d8e2908cb2478a80" -dependencies = [ - "crunchy", - "digest 0.9.0", - "subtle", -] - -[[package]] -name = "libsecp256k1-gen-ecmult" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccab96b584d38fac86a83f07e659f0deafd0253dc096dab5a36d53efe653c5c3" -dependencies = [ - "libsecp256k1-core", -] - -[[package]] -name = "libsecp256k1-gen-genmult" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67abfe149395e3aa1c48a2beb32b068e2334402df8181f818d3aee2b304c4f5d" -dependencies = [ - "libsecp256k1-core", -] - [[package]] name = "linked-hash-map" version = "0.5.3" @@ -1977,6 +1786,15 @@ dependencies = [ "libc", ] +[[package]] +name = "memoffset" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa" +dependencies = [ + "autocfg 1.0.1", +] + [[package]] name = "memoffset" version = "0.6.1" @@ -2138,9 +1956,9 @@ dependencies = [ [[package]] name = "nix" -version = "0.20.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa9b4819da1bc61c0ea48b63b7bc8604064dd43013e7cc325df098d49cd7c18a" +checksum = "b2ccba0cfe4fdf15982d1674c69b1fd80bad427d293849982668dfe454bd61f2" dependencies = [ "bitflags", "cc", @@ -2233,9 +2051,12 @@ checksum = "8d3b63360ec3cb337817c2dbd47ab4a0f170d285d8e5a2064600f3def1402397" [[package]] name = "once_cell" -version = "1.8.0" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" +checksum = "13bd41f508810a131401606d54ac32a467c97172d74ba7662562ebba5ad07fa0" +dependencies = [ + "parking_lot 0.11.1", +] [[package]] name = "opaque-debug" @@ -2290,28 +2111,37 @@ checksum = "afb2e1c3ee07430c2cf76151675e583e0f19985fa6efae47d6848a3e2c824f85" [[package]] name = "ouroboros" -version = "0.10.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84236d64f1718c387232287cf036eb6632a5ecff226f4ff9dccb8c2b79ba0bde" +checksum = "cc04551635026d3ac7bc646698ea1836a85ed2a26b7094fe1d15d8b14854c4a2" dependencies = [ - "aliasable", "ouroboros_macro", "stable_deref_trait", ] [[package]] name = "ouroboros_macro" -version = "0.10.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f463857a6eb96c0136b1d56e56c718350cef30412ec065b48294799a088bca68" +checksum = "cec33dfceabec83cd0e95a5ce9d20e76ab3a5cbfef59659b8c927f69b93ed8ae" dependencies = [ "Inflector", - "proc-macro-error", "proc-macro2 1.0.24", "quote 1.0.7", "syn 1.0.60", ] +[[package]] +name = "parking_lot" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" +dependencies = [ + "lock_api 0.3.4", + "parking_lot_core 0.6.2", + "rustc_version 0.2.3", +] + [[package]] name = "parking_lot" version = "0.10.2" @@ -2326,11 +2156,26 @@ dependencies = [ name = "parking_lot" version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb" +checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb" +dependencies = [ + "instant", + "lock_api 0.4.2", + "parking_lot_core 0.8.0", +] + +[[package]] +name = "parking_lot_core" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" dependencies = [ - "instant", - "lock_api 0.4.2", - "parking_lot_core 0.8.0", + "cfg-if 0.1.10", + "cloudabi 0.0.3", + "libc", + "redox_syscall 0.1.57", + "rustc_version 0.2.3", + "smallvec 0.6.13", + "winapi 0.3.9", ] [[package]] @@ -2343,7 +2188,7 @@ dependencies = [ "cloudabi 0.0.3", "libc", "redox_syscall 0.1.57", - "smallvec", + "smallvec 1.5.0", "winapi 0.3.9", ] @@ -2358,7 +2203,7 @@ dependencies = [ "instant", "libc", "redox_syscall 0.1.57", - "smallvec", + "smallvec 1.5.0", "winapi 0.3.9", ] @@ -2528,19 +2373,6 @@ dependencies = [ "unicode-xid 0.2.1", ] -[[package]] -name = "proc-macro2-diagnostics" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bf29726d67464d49fa6224a1d07936a8c08bb3fba727c7493f6cf1616fdaada" -dependencies = [ - "proc-macro2 1.0.24", - "quote 1.0.7", - "syn 1.0.60", - "version_check", - "yansi", -] - [[package]] name = "qstring" version = "0.7.2" @@ -2734,7 +2566,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b0d8e0819fadc20c74ea8373106ead0600e3a67ef1fe8da56e39b9ae7275674" dependencies = [ "autocfg 1.0.1", - "crossbeam-deque", + "crossbeam-deque 0.8.0", "either", "rayon-core", ] @@ -2746,7 +2578,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ab346ac5921dc62ffa9f89b7a773907511cdfa5490c572ae9be1be33e8afa4a" dependencies = [ "crossbeam-channel 0.5.0", - "crossbeam-deque", + "crossbeam-deque 0.8.0", "crossbeam-utils 0.8.1", "lazy_static", "num_cpus", @@ -2826,9 +2658,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.6" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66d2927ca2f685faf0fc620ac4834690d29e7abb153add10f5812eef20b5e280" +checksum = "246e9f61b9bb77df069a947682be06e31ac43ea37862e244a69f177694ea6d22" dependencies = [ "base64 0.13.0", "bytes 1.1.0", @@ -2836,7 +2668,7 @@ dependencies = [ "futures-core", "futures-util", "http", - "http-body 0.4.4", + "http-body 0.4.3", "hyper 0.14.5", "hyper-rustls", "ipnet", @@ -2850,7 +2682,7 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded 0.7.0", - "tokio 1.13.0", + "tokio 1.11.0", "tokio-rustls", "url", "wasm-bindgen", @@ -3149,7 +2981,7 @@ version = "0.8.1-serum.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4fed3f601b23f15dc890f6e52ffdbfe2dcf16418a41e0aa016b5f10cf30c892" dependencies = [ - "borsh-derive 0.8.1", + "borsh-derive", "hashbrown", "solana-program", ] @@ -3161,7 +2993,7 @@ dependencies = [ "anyhow", "arrayref", "bincode", - "bs58 0.3.1", + "bs58", "rand 0.7.3", "serde", "serde_json", @@ -3172,16 +3004,6 @@ dependencies = [ "spl-token 2.0.6", ] -[[package]] -name = "serum-dex-permissioned" -version = "0.1.0" -dependencies = [ - "anchor-lang", - "anchor-spl", - "serum_dex 0.4.0", - "spl-token 3.2.0", -] - [[package]] name = "serum-pool" version = "0.1.0" @@ -3195,7 +3017,7 @@ dependencies = [ "serum-pool-schema", "slice-of-array", "solana-program", - "spl-token 3.2.0", + "spl-token 3.1.0", "thiserror", "zerocopy", ] @@ -3207,7 +3029,7 @@ dependencies = [ "serum-borsh", "serum-pool", "solana-program", - "spl-token 3.2.0", + "spl-token 3.1.0", ] [[package]] @@ -3249,31 +3071,7 @@ dependencies = [ "safe-transmute", "serde", "solana-program", - "spl-token 3.2.0", - "static_assertions", - "thiserror", - "without-alloc", -] - -[[package]] -name = "serum_dex" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02705854bae4622e552346c8edd43ab90c7425da35d63d2c689f39238f8d8b25" -dependencies = [ - "arrayref", - "bincode", - "bytemuck", - "byteorder", - "enumflags2", - "field-offset", - "itertools", - "num-traits", - "num_enum", - "safe-transmute", - "serde", - "solana-program", - "spl-token 3.2.0", + "spl-token 3.1.0", "static_assertions", "thiserror", "without-alloc", @@ -3304,6 +3102,18 @@ dependencies = [ "opaque-debug 0.3.0", ] +[[package]] +name = "sha2" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" +dependencies = [ + "block-buffer 0.7.3", + "digest 0.8.1", + "fake-simd", + "opaque-debug 0.2.3", +] + [[package]] name = "sha2" version = "0.9.3" @@ -3438,6 +3248,15 @@ dependencies = [ "trackable", ] +[[package]] +name = "smallvec" +version = "0.6.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" +dependencies = [ + "maybe-uninit", +] + [[package]] name = "smallvec" version = "1.5.0" @@ -3458,9 +3277,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.4.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dc90fe6c7be1a323296982db1836d1ea9e47b6839496dde9a541bc496df3516" +checksum = "765f090f0e423d2b55843402a07915add955e7d60657db13707a159727326cad" dependencies = [ "libc", "winapi 0.3.9", @@ -3468,14 +3287,14 @@ dependencies = [ [[package]] name = "solana-account-decoder" -version = "1.8.2" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d18f01d66535ff57a0e2ceed90a8b6ed2e401e6e6b04c0d54df6edfb1dd2583" +checksum = "73ca2ebdb1e7f983da67240e83ed907f022ea5180aedfa4ccdb4c30b97fbcd40" dependencies = [ "Inflector", "base64 0.12.3", "bincode", - "bs58 0.3.1", + "bs58", "bv", "lazy_static", "serde", @@ -3483,17 +3302,18 @@ dependencies = [ "serde_json", "solana-config-program", "solana-sdk", + "solana-stake-program", "solana-vote-program", - "spl-token 3.2.0", + "spl-token 3.1.0", "thiserror", "zstd", ] [[package]] name = "solana-clap-utils" -version = "1.8.2" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "321a608a3013f9e8c4f7d4540f9f117ae186afbcf0bcb81ebe54e341e627a511" +checksum = "3ebff534a91278691011b96558bd60d95528c1e56b7f1190ee6d798176f06e89" dependencies = [ "chrono", "clap 2.33.3", @@ -3508,9 +3328,9 @@ dependencies = [ [[package]] name = "solana-cli-config" -version = "1.8.2" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b026cd009dd536b01fd6b7987cb557e4e9d0a2c25514dca667fd61f2dd87b3" +checksum = "d3fc060ba727a5f81df3ac0d5fcc92f7796448d38b492f1989ce365da7ca920e" dependencies = [ "dirs-next", "lazy_static", @@ -3522,13 +3342,13 @@ dependencies = [ [[package]] name = "solana-client" -version = "1.8.2" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd149808c706e03c3d9e4b9d91f5fc5b870efc5b4c40cf0e02b41bd002651842" +checksum = "abab0da9b2d6e30516a53e7653e95bf8b04e929bf1e99965f836d6c0931404e5" dependencies = [ "base64 0.13.0", "bincode", - "bs58 0.3.1", + "bs58", "clap 2.33.3", "indicatif", "jsonrpc-core", @@ -3549,25 +3369,16 @@ dependencies = [ "solana-version", "solana-vote-program", "thiserror", - "tokio 1.13.0", + "tokio 1.11.0", "tungstenite 0.10.1", "url", ] -[[package]] -name = "solana-compute-budget-program" -version = "1.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1722b06290ae785bd8258009c9aca9ade66a113dd59f87a5010dd2fea0c4bc" -dependencies = [ - "solana-sdk", -] - [[package]] name = "solana-config-program" -version = "1.8.2" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8461794707f5a9e816e4a399fb590e55ae952e74fece5d5142c994ed0e5b3969" +checksum = "ec8c1a9e79f557587096010eb96ec099605abd364c723bbb721783bbcec60f42" dependencies = [ "bincode", "chrono", @@ -3580,9 +3391,9 @@ dependencies = [ [[package]] name = "solana-crate-features" -version = "1.8.2" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1eae88dd75c67edeb4f2663a45dd8e777b526f44cc1a7522bb2492d05fb9236" +checksum = "48b4d7b50a436a4d7df7be70beb436b918a188105f63b5798a4457c3cb657c87" dependencies = [ "backtrace", "bytes 0.4.12", @@ -3599,23 +3410,15 @@ dependencies = [ "serde", "syn 0.15.44", "syn 1.0.60", + "tokio 0.1.22", "winapi 0.3.9", ] -[[package]] -name = "solana-ed25519-program" -version = "1.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d33cad96c041415e795def16e929e440dc7f74a94131eb416afe3ab6fac2175" -dependencies = [ - "solana-sdk", -] - [[package]] name = "solana-faucet" -version = "1.8.2" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a24fd59219a8bfd705e2a41271bff1c8aaf79452a1b53b79f85264831d3ce20a" +checksum = "6b58e17a6c1bf7ae4e9c2270e34f8d0fa9f9d9748f1f61cca7e65288684b1e50" dependencies = [ "bincode", "byteorder", @@ -3631,16 +3434,16 @@ dependencies = [ "solana-version", "spl-memo", "thiserror", - "tokio 1.13.0", + "tokio 1.11.0", ] [[package]] name = "solana-frozen-abi" -version = "1.8.2" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ab31b4bda342736987ec16526a6cac4fa817f86ced9634f020ce1dcfac0867f" +checksum = "95c481f0f29753f5b2d382628abae98a1dd87b572ddc7cbe5fe55ca62b6f7f07" dependencies = [ - "bs58 0.3.1", + "bs58", "bv", "generic-array 0.14.4", "log", @@ -3648,7 +3451,7 @@ dependencies = [ "rustc_version 0.2.3", "serde", "serde_derive", - "sha2", + "sha2 0.9.3", "solana-frozen-abi-macro", "solana-logger", "thiserror", @@ -3656,9 +3459,9 @@ dependencies = [ [[package]] name = "solana-frozen-abi-macro" -version = "1.8.2" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d532b5214f70604ac067250a004478389c0ebea8923ae58a49fa7dadd0e69f61" +checksum = "f2068bcc47160ac9081893439b10a05e4bbe85cc0f6bccb6f1b0815423fbdd0c" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", @@ -3668,9 +3471,9 @@ dependencies = [ [[package]] name = "solana-logger" -version = "1.8.2" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "356fc4bc5395d26e7d0f3c7e6272b1a28dc591a81f1ee6e577c1d8859e946422" +checksum = "7ea5932e186629f47859924b3773cfd8bcb4b8796898ac85c1fa0a6a2024e5c6" dependencies = [ "env_logger", "lazy_static", @@ -3679,9 +3482,9 @@ dependencies = [ [[package]] name = "solana-measure" -version = "1.8.2" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f86502703d208ab260d7f0a6a3afe9fe376a44909ba7eb8034f198887237b288" +checksum = "02245c245ae1376845a3d62d7f9d64181c521166da019dfd18924a6ac3e1dc67" dependencies = [ "log", "solana-metrics", @@ -3690,9 +3493,9 @@ dependencies = [ [[package]] name = "solana-metrics" -version = "1.8.2" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62e490074ac7bb5bfe239df7ce6f21b068e9ff018e789b08c7d13cd7e3a26cc" +checksum = "156a031ebbdb2a1751d443289218c6946806852468deded96548406808f9365a" dependencies = [ "env_logger", "gethostname", @@ -3704,9 +3507,9 @@ dependencies = [ [[package]] name = "solana-net-utils" -version = "1.8.2" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a1bb5a47fc50cd33ccb01bebbdd0aef0114615b6929b4386170aa68c35339f2" +checksum = "f49b7930c8a2aa8ab3ee158d360cb18ae551ead7fd6c339455ee9693417f82e2" dependencies = [ "bincode", "clap 2.33.3", @@ -3718,31 +3521,27 @@ dependencies = [ "socket2 0.3.17", "solana-clap-utils", "solana-logger", - "solana-sdk", "solana-version", - "tokio 1.13.0", + "tokio 1.11.0", "url", ] [[package]] name = "solana-program" -version = "1.8.2" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6ebce89024394bc7d9289978f14220ab3bd7dac568ec4e081c2d9eb35d92c8f" +checksum = "7a2df39c63e21c5b58e2012e7675bed5e8dd5100470ffddedcafb78f5a7e3abe" dependencies = [ - "base64 0.13.0", "bincode", "blake3", "borsh", - "borsh-derive 0.9.1", - "bs58 0.3.1", + "borsh-derive", + "bs58", "bv", - "bytemuck", "curve25519-dalek 2.1.0", "hex", "itertools", "lazy_static", - "libsecp256k1", "log", "num-derive", "num-traits", @@ -3752,7 +3551,7 @@ dependencies = [ "serde", "serde_bytes", "serde_derive", - "sha2", + "sha2 0.9.3", "sha3", "solana-frozen-abi", "solana-frozen-abi-macro", @@ -3763,9 +3562,9 @@ dependencies = [ [[package]] name = "solana-rayon-threadlimit" -version = "1.8.2" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dab240da4ec25d28cb9d770a893b077c99aca87590233b675fb0a20c37ee53f" +checksum = "a99177e163c4da6f94320e105132def2a08368d6a6ff897195223ab9d6758c63" dependencies = [ "lazy_static", "num_cpus", @@ -3773,9 +3572,9 @@ dependencies = [ [[package]] name = "solana-remote-wallet" -version = "1.8.2" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b213941cb5693d8c3c63838f7135e490a094b63ecb36ff8dfc3e496ef834868a" +checksum = "6a591490d0cd13ebcea6f717592f5ad1bce5c1268573e708079665a5a6a0eaa1" dependencies = [ "base32", "console 0.14.1", @@ -3794,9 +3593,9 @@ dependencies = [ [[package]] name = "solana-runtime" -version = "1.8.2" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4862f32ba09402d02424ec73a1725aeeff6a2e540131f4e3d2234a889766964d" +checksum = "c968934633ed389bb492a7f080deffd4082c3897b9486ca57ecd90afaa2f2c09" dependencies = [ "arrayref", "bincode", @@ -3825,9 +3624,7 @@ dependencies = [ "rustc_version 0.2.3", "serde", "serde_derive", - "solana-compute-budget-program", "solana-config-program", - "solana-ed25519-program", "solana-frozen-abi", "solana-frozen-abi-macro", "solana-logger", @@ -3847,18 +3644,14 @@ dependencies = [ [[package]] name = "solana-sdk" -version = "1.8.2" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f989bc4978aaa7f2c275b7d01d15d784ffe61174faca5fefc551a96be610be7" +checksum = "fac80d6452327448116f1a50f2e616ce51c1db6c74f1db30aa7d801bab4e410c" dependencies = [ "assert_matches", - "base64 0.13.0", "bincode", - "borsh", - "borsh-derive 0.9.1", - "bs58 0.4.0", + "bs58", "bv", - "bytemuck", "byteorder", "chrono", "derivation-path", @@ -3886,7 +3679,7 @@ dependencies = [ "serde_bytes", "serde_derive", "serde_json", - "sha2", + "sha2 0.9.3", "sha3", "solana-crate-features", "solana-frozen-abi", @@ -3900,11 +3693,11 @@ dependencies = [ [[package]] name = "solana-sdk-macro" -version = "1.8.2" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49de94601f4af95d8834817ac6c6f3cbedac8fd582a5c5b940e78fe07803b78b" +checksum = "6473d8fa445520564c84e8803320721404d160ffd876a125326a726541f11534" dependencies = [ - "bs58 0.3.1", + "bs58", "proc-macro2 1.0.24", "quote 1.0.7", "rustversion", @@ -3913,18 +3706,24 @@ dependencies = [ [[package]] name = "solana-secp256k1-program" -version = "1.8.2" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1897c360330e78885d66bf50554307aa0f27c984b75474ef5e4fc39a85f415" +checksum = "239da198d43584bf0929ce175c93448f239b5fe4b8f542fd752a4624a93bf10f" dependencies = [ + "bincode", + "digest 0.9.0", + "libsecp256k1", + "rand 0.7.3", + "sha3", + "solana-logger", "solana-sdk", ] [[package]] name = "solana-stake-program" -version = "1.8.2" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dddac74f74a2b0051a74cee1982867593f87222681e7d1d15ba92c9872d7b0ec" +checksum = "d11ad775a21e4ecbdaf7d576501cf577a7582154fef3c49cfe6bd131c76955de" dependencies = [ "bincode", "log", @@ -3944,36 +3743,34 @@ dependencies = [ [[package]] name = "solana-transaction-status" -version = "1.8.2" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac43183ec452be61b31422355f19841fd2ade2d7e87583e0ef917ffe86fce898" +checksum = "cec0a504cc01260b3b9b38318fe4055a0362b912d82189c8d881802c577d725a" dependencies = [ "Inflector", "base64 0.12.3", "bincode", - "bs58 0.3.1", + "bs58", "lazy_static", - "log", "serde", "serde_derive", "serde_json", "solana-account-decoder", - "solana-measure", - "solana-metrics", "solana-runtime", "solana-sdk", + "solana-stake-program", "solana-vote-program", "spl-associated-token-account", "spl-memo", - "spl-token 3.2.0", + "spl-token 3.1.0", "thiserror", ] [[package]] name = "solana-version" -version = "1.8.2" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "318ce89a95b2b02eecbd96563dce6629979c2dbd8df7a41b23fc536fea700272" +checksum = "236bab3619ee2050ab6211187ea7506c9df1e4b86fcb2aaf59319ca9522a6681" dependencies = [ "log", "rustc_version 0.2.3", @@ -3987,9 +3784,9 @@ dependencies = [ [[package]] name = "solana-vote-program" -version = "1.8.2" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "006f884cc3739c856101bfc080f5b6dd3e028fafca32afef4dd014f1b7795304" +checksum = "e7a8b6534569e68f249130dfda9b2653017d626dedb6e2cb5508fb7963b32708" dependencies = [ "bincode", "log", @@ -4014,12 +3811,12 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "spl-associated-token-account" -version = "1.0.3" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "393e2240d521c3dd770806bff25c2c00d761ac962be106e14e22dd912007f428" +checksum = "4adc47eebe5d2b662cbaaba1843719c28a67e5ec5d0460bc3ca60900a51f74e2" dependencies = [ "solana-program", - "spl-token 3.2.0", + "spl-token 3.1.0", ] [[package]] @@ -4048,9 +3845,9 @@ dependencies = [ [[package]] name = "spl-token" -version = "3.2.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93bfdd5bd7c869cb565c7d7635c4fafe189b988a0bdef81063cd9585c6b8dc01" +checksum = "b795e50d15dfd35aa5460b80a16414503a322be115a417a43db987c5824c6798" dependencies = [ "arrayref", "num-derive", @@ -4084,6 +3881,12 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +[[package]] +name = "subtle" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" + [[package]] name = "subtle" version = "2.3.0" @@ -4138,12 +3941,13 @@ checksum = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60" [[package]] name = "tar" -version = "0.4.37" +version = "0.4.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6f5515d3add52e0bbdcad7b83c388bb36ba7b754dda3b5f5bc2d38640cdba5c" +checksum = "489997b7557e9a43e192c527face4feacc78bfbe6eed67fd55c4c9e381cba290" dependencies = [ "filetime", "libc", + "redox_syscall 0.1.57", "xattr", ] @@ -4268,9 +4072,9 @@ dependencies = [ [[package]] name = "tiny-bip39" -version = "0.8.2" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc59cb9dfc85bb312c3a78fd6aa8a8582e310b0fa885d5bb877f6dcc601839d" +checksum = "d9e44c4759bae7f1032e286a7ef990bd9ed23fe831b7eeba0beb97484c2e59b8" dependencies = [ "anyhow", "hmac 0.8.1", @@ -4278,10 +4082,9 @@ dependencies = [ "pbkdf2 0.4.0", "rand 0.7.3", "rustc-hash", - "sha2", + "sha2 0.9.3", "thiserror", "unicode-normalization", - "wasm-bindgen", "zeroize", ] @@ -4300,6 +4103,30 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +[[package]] +name = "tokio" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.30", + "mio 0.6.22", + "num_cpus", + "tokio-codec", + "tokio-current-thread", + "tokio-executor", + "tokio-fs", + "tokio-io", + "tokio-reactor", + "tokio-sync", + "tokio-tcp", + "tokio-threadpool", + "tokio-timer", + "tokio-udp", + "tokio-uds", +] + [[package]] name = "tokio" version = "0.2.23" @@ -4326,9 +4153,9 @@ dependencies = [ [[package]] name = "tokio" -version = "1.13.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "588b2d10a336da58d877567cd8fb8a14b463e2104910f8132cd054b4b96e29ee" +checksum = "b4efe6fc2395938c8155973d7be49fe8d03a843726e285e100a8a383cc0154ce" dependencies = [ "autocfg 1.0.1", "bytes 1.1.0", @@ -4340,10 +4167,63 @@ dependencies = [ "parking_lot 0.11.1", "pin-project-lite 0.2.0", "signal-hook-registry", - "tokio-macros 1.5.1", + "tokio-macros 1.3.0", "winapi 0.3.9", ] +[[package]] +name = "tokio-codec" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25b2998660ba0e70d18684de5d06b70b70a3a747469af9dea7618cc59e75976b" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.30", + "tokio-io", +] + +[[package]] +name = "tokio-current-thread" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1de0e32a83f131e002238d7ccde18211c0a5397f60cbfffcb112868c2e0e20e" +dependencies = [ + "futures 0.1.30", + "tokio-executor", +] + +[[package]] +name = "tokio-executor" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671" +dependencies = [ + "crossbeam-utils 0.7.2", + "futures 0.1.30", +] + +[[package]] +name = "tokio-fs" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "297a1206e0ca6302a0eed35b700d292b275256f596e2f3fea7729d5e629b6ff4" +dependencies = [ + "futures 0.1.30", + "tokio-io", + "tokio-threadpool", +] + +[[package]] +name = "tokio-io" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.30", + "log", +] + [[package]] name = "tokio-macros" version = "0.2.6" @@ -4357,15 +4237,34 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "1.5.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "114383b041aa6212c579467afa0075fbbdd0718de036100bc0ba7961d8cb9095" +checksum = "54473be61f4ebe4efd09cec9bd5d16fa51d70ea0192213d754d2d500457db110" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", "syn 1.0.60", ] +[[package]] +name = "tokio-reactor" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351" +dependencies = [ + "crossbeam-utils 0.7.2", + "futures 0.1.30", + "lazy_static", + "log", + "mio 0.6.22", + "num_cpus", + "parking_lot 0.9.0", + "slab", + "tokio-executor", + "tokio-io", + "tokio-sync", +] + [[package]] name = "tokio-rustls" version = "0.22.0" @@ -4373,10 +4272,63 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6" dependencies = [ "rustls", - "tokio 1.13.0", + "tokio 1.11.0", "webpki", ] +[[package]] +name = "tokio-sync" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edfe50152bc8164fcc456dab7891fa9bf8beaf01c5ee7e1dd43a397c3cf87dee" +dependencies = [ + "fnv", + "futures 0.1.30", +] + +[[package]] +name = "tokio-tcp" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98df18ed66e3b72e742f185882a9e201892407957e45fbff8da17ae7a7c51f72" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.30", + "iovec", + "mio 0.6.22", + "tokio-io", + "tokio-reactor", +] + +[[package]] +name = "tokio-threadpool" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89" +dependencies = [ + "crossbeam-deque 0.7.3", + "crossbeam-queue", + "crossbeam-utils 0.7.2", + "futures 0.1.30", + "lazy_static", + "log", + "num_cpus", + "slab", + "tokio-executor", +] + +[[package]] +name = "tokio-timer" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296" +dependencies = [ + "crossbeam-utils 0.7.2", + "futures 0.1.30", + "slab", + "tokio-executor", +] + [[package]] name = "tokio-tungstenite" version = "0.11.0" @@ -4390,6 +4342,39 @@ dependencies = [ "tungstenite 0.11.1", ] +[[package]] +name = "tokio-udp" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.30", + "log", + "mio 0.6.22", + "tokio-codec", + "tokio-io", + "tokio-reactor", +] + +[[package]] +name = "tokio-uds" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab57a4ac4111c8c9dbcf70779f6fc8bc35ae4b2454809febac840ad19bd7e4e0" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.30", + "iovec", + "libc", + "log", + "mio 0.6.22", + "mio-uds", + "tokio-codec", + "tokio-io", + "tokio-reactor", +] + [[package]] name = "tokio-util" version = "0.3.1" @@ -4406,16 +4391,16 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.6.9" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0" +checksum = "08d3725d3efa29485e87311c5b699de63cde14b00ed4d256b8318aa30ca452cd" dependencies = [ "bytes 1.1.0", "futures-core", "futures-sink", "log", "pin-project-lite 0.2.0", - "tokio 1.13.0", + "tokio 1.11.0", ] [[package]] @@ -4686,7 +4671,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f41be6df54c97904af01aa23e613d4521eed7ab23537cede692d4058f6449407" dependencies = [ "bytes 0.5.6", - "futures", + "futures 0.3.8", "headers", "http", "hyper 0.13.9", @@ -4726,6 +4711,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3cd364751395ca0f68cafb17666eee36b63077fb5ecd972bbcd74c90c4bf736e" dependencies = [ "cfg-if 1.0.0", + "serde", + "serde_json", "wasm-bindgen-macro", ] @@ -4903,12 +4890,6 @@ dependencies = [ "linked-hash-map", ] -[[package]] -name = "yansi" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc79f4a1e39857fc00c3f662cbf2651c771f00e9c15fe2abc341806bd46bd71" - [[package]] name = "zerocopy" version = "0.3.0" diff --git a/dex/src/matching.rs b/dex/src/matching.rs index 4b52a656..6d9fc9aa 100644 --- a/dex/src/matching.rs +++ b/dex/src/matching.rs @@ -1,6 +1,7 @@ use std::num::NonZeroU64; use crate::instruction::SelfTradeBehavior; +use crate::state::AccountFlag; use num_enum::{IntoPrimitive, TryFromPrimitive}; #[cfg(test)] use proptest_derive::Arbitrary; @@ -347,6 +348,9 @@ impl<'ob> OrderBookState<'ob> { let mut unfilled_qty = max_qty.get(); let mut accum_fill_price = 0; + let is_permissioned_crank = + event_q.get_account_flags() & AccountFlag::CrankAuthorityRequired as u64 > 0; + let pc_lot_size = self.market_state.pc_lot_size; let coin_lot_size = self.market_state.coin_lot_size; @@ -455,18 +459,34 @@ impl<'ob> OrderBookState<'ob> { let native_maker_rebate = maker_fee_tier.maker_rebate(native_maker_pc_qty); accum_maker_rebates += native_maker_rebate; - let maker_fill = Event::new(EventView::Fill { - side: Side::Bid, - maker: true, - native_qty_paid: native_maker_pc_qty - native_maker_rebate, - native_qty_received: trade_qty * coin_lot_size, - native_fee_or_rebate: native_maker_rebate, - order_id: best_bid_ref.order_id(), - owner: best_bid_ref.owner(), - owner_slot: best_bid_ref.owner_slot(), - fee_tier: maker_fee_tier, - client_order_id: NonZeroU64::new(best_bid_ref.client_order_id()), - }); + let maker_fill = if is_permissioned_crank { + Event::new(EventView::MakerFill { + side: Side::Bid, + maker: true, + native_qty_paid: native_maker_pc_qty - native_maker_rebate, + native_qty_received: trade_qty * coin_lot_size, + native_fee_or_rebate: native_maker_rebate, + order_id: best_bid_ref.order_id(), + owner: best_bid_ref.owner(), + owner_slot: best_bid_ref.owner_slot(), + fee_tier: maker_fee_tier, + client_order_id: NonZeroU64::new(best_bid_ref.client_order_id()), + taker: owner, + }) + } else { + Event::new(EventView::Fill { + side: Side::Bid, + maker: true, + native_qty_paid: native_maker_pc_qty - native_maker_rebate, + native_qty_received: trade_qty * coin_lot_size, + native_fee_or_rebate: native_maker_rebate, + order_id: best_bid_ref.order_id(), + owner: best_bid_ref.owner(), + owner_slot: best_bid_ref.owner_slot(), + fee_tier: maker_fee_tier, + client_order_id: NonZeroU64::new(best_bid_ref.client_order_id()), + }) + }; event_q .push_back(maker_fill) .map_err(|_| DexErrorCode::EventQueueFull)?; @@ -636,6 +656,8 @@ impl<'ob> OrderBookState<'ob> { let pc_lot_size = self.market_state.pc_lot_size; let coin_lot_size = self.market_state.coin_lot_size; + let is_permissioned_crank = + event_q.get_account_flags() & AccountFlag::CrankAuthorityRequired as u64 > 0; let max_pc_qty = fee_tier.remove_taker_fee(native_pc_qty_locked.get()) / pc_lot_size; @@ -770,19 +792,34 @@ impl<'ob> OrderBookState<'ob> { let native_maker_pc_qty = trade_qty * trade_price.get() * pc_lot_size; let native_maker_rebate = maker_fee_tier.maker_rebate(native_maker_pc_qty); accum_maker_rebates += native_maker_rebate; - - let maker_fill = Event::new(EventView::Fill { - side: Side::Ask, - maker: true, - native_qty_paid: trade_qty * coin_lot_size, - native_qty_received: native_maker_pc_qty + native_maker_rebate, - native_fee_or_rebate: native_maker_rebate, - order_id: best_offer_ref.order_id(), - owner: best_offer_ref.owner(), - owner_slot: best_offer_ref.owner_slot(), - fee_tier: maker_fee_tier, - client_order_id: NonZeroU64::new(best_offer_ref.client_order_id()), - }); + let maker_fill = if is_permissioned_crank { + Event::new(EventView::MakerFill { + side: Side::Ask, + maker: true, + native_qty_paid: trade_qty * coin_lot_size, + native_qty_received: native_maker_pc_qty + native_maker_rebate, + native_fee_or_rebate: native_maker_rebate, + order_id: best_offer_ref.order_id(), + owner: best_offer_ref.owner(), + owner_slot: best_offer_ref.owner_slot(), + fee_tier: maker_fee_tier, + client_order_id: NonZeroU64::new(best_offer_ref.client_order_id()), + taker: owner, + }) + } else { + Event::new(EventView::Fill { + side: Side::Ask, + maker: true, + native_qty_paid: trade_qty * coin_lot_size, + native_qty_received: native_maker_pc_qty + native_maker_rebate, + native_fee_or_rebate: native_maker_rebate, + order_id: best_offer_ref.order_id(), + owner: best_offer_ref.owner(), + owner_slot: best_offer_ref.owner_slot(), + fee_tier: maker_fee_tier, + client_order_id: NonZeroU64::new(best_offer_ref.client_order_id()), + }) + }; event_q .push_back(maker_fill) .map_err(|_| DexErrorCode::EventQueueFull)?; diff --git a/dex/src/state.rs b/dex/src/state.rs index 69995728..0aa7f77f 100644 --- a/dex/src/state.rs +++ b/dex/src/state.rs @@ -1,8 +1,14 @@ #![cfg_attr(not(feature = "program"), allow(unused))] use num_enum::TryFromPrimitive; use std::{ - cell::RefMut, convert::identity, convert::TryInto, mem::size_of, num::NonZeroU64, ops::Deref, - ops::DerefMut, + cell::RefMut, + convert::identity, + convert::TryInto, + mem::size_of, + num::NonZeroU64, + ops::Deref, + ops::{DerefMut, Index}, + process::Output, }; use arrayref::{array_ref, array_refs, mut_array_refs}; @@ -491,10 +497,7 @@ impl MarketState { let (header, buf) = strip_header::(queue, false)?; let flags = BitFlags::from_bits(header.account_flags).unwrap(); - check_assert_eq!( - &flags, - &(AccountFlag::Initialized | AccountFlag::EventQueue) - )?; + check_assert!(flags.contains(AccountFlag::Initialized | AccountFlag::EventQueue))?; Ok(Queue { header, buf }) } @@ -1095,6 +1098,13 @@ pub struct EventQueueHeader { count: u64, seq_num: u64, } + +impl EventQueueHeader { + pub fn get_account_flags(&self) -> u64 { + self.account_flags + } +} + unsafe impl Zeroable for EventQueueHeader {} unsafe impl Pod for EventQueueHeader {} @@ -1126,6 +1136,12 @@ impl QueueHeader for EventQueueHeader { pub type EventQueue<'a> = Queue<'a, EventQueueHeader>; +impl<'a> EventQueue<'a> { + pub fn get_account_flags(&self) -> u64 { + self.header.get_account_flags() + } +} + #[derive(Copy, Clone, BitFlags, Debug)] #[repr(u8)] enum EventFlag { @@ -1194,6 +1210,19 @@ impl Event { owner_slot, fee_tier, client_order_id, + } + | EventView::MakerFill { + side, + maker, + native_qty_paid, + native_qty_received, + native_fee_or_rebate, + order_id, + owner, + owner_slot, + fee_tier, + client_order_id, + taker: _, } => { let maker_flag = if maker { BitFlags::from_flag(EventFlag::Maker).bits() @@ -1219,7 +1248,6 @@ impl Event { client_order_id: client_order_id.map_or(0, NonZeroU64::get), } } - EventView::Out { side, release_funds, @@ -1317,6 +1345,19 @@ pub enum EventView { fee_tier: FeeTier, client_order_id: Option, }, + MakerFill { + side: Side, + maker: bool, + native_qty_paid: u64, + native_qty_received: u64, + native_fee_or_rebate: u64, + order_id: u128, + owner: [u64; 4], + owner_slot: u8, + fee_tier: FeeTier, + client_order_id: Option, + taker: [u64; 4], + }, Out { side: Side, release_funds: bool, @@ -1332,7 +1373,9 @@ pub enum EventView { impl EventView { fn side(&self) -> Side { match self { - &EventView::Fill { side, .. } | &EventView::Out { side, .. } => side, + &EventView::Fill { side, .. } + | &EventView::MakerFill { side, .. } + | &EventView::Out { side, .. } => side, } } } @@ -2801,6 +2844,19 @@ impl State { owner: _, owner_slot, client_order_id, + } + | EventView::MakerFill { + side, + maker, + native_qty_paid, + native_qty_received, + native_fee_or_rebate, + fee_tier: _, + order_id: _, + owner: _, + owner_slot, + client_order_id, + taker: _, } => { match side { Side::Bid if maker => { @@ -3136,9 +3192,17 @@ impl State { if eq_buf.len() < 128 { Err(DexErrorCode::EventQueueTooSmall)? } + let account_flags = if consume_events_authority.is_some() { + (AccountFlag::Initialized + | AccountFlag::EventQueue + | AccountFlag::CrankAuthorityRequired) + .bits() + } else { + (AccountFlag::Initialized | AccountFlag::EventQueue).bits() + }; let eq_hdr: &mut EventQueueHeader = try_cast_mut(eq_hdr_array).or(check_unreachable!())?; *eq_hdr = EventQueueHeader { - account_flags: (AccountFlag::Initialized | AccountFlag::EventQueue).bits(), + account_flags, head: 0, count: 0, seq_num: 0,