diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 000000000..ae2920b2a --- /dev/null +++ b/.gitmodules @@ -0,0 +1,4 @@ +[submodule "anchor"] + path = anchor + url = git@github.com:blockworks-foundation/anchor.git + branch = v0.25.0-mangov4 diff --git a/Cargo.lock b/Cargo.lock index 415d09fb0..724edfd08 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -101,6 +101,18 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6b2d54853319fd101b8dd81de382bcbf3e03410a64d8928bbee85a3e7dcde483" +[[package]] +name = "anchor-attribute-access-control" +version = "0.25.0" +dependencies = [ + "anchor-syn 0.25.0", + "anyhow", + "proc-macro2 1.0.39", + "quote 1.0.18", + "regex", + "syn 1.0.95", +] + [[package]] name = "anchor-attribute-access-control" version = "0.25.0" @@ -116,15 +128,15 @@ dependencies = [ ] [[package]] -name = "anchor-attribute-access-control" +name = "anchor-attribute-account" version = "0.25.0" -source = "git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87#806faa4835fb7de2b694421569213bf0c2839d87" dependencies = [ - "anchor-syn 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", + "anchor-syn 0.25.0", "anyhow", + "bs58 0.4.0", "proc-macro2 1.0.39", "quote 1.0.18", - "regex", + "rustversion", "syn 1.0.95", ] @@ -144,16 +156,11 @@ dependencies = [ ] [[package]] -name = "anchor-attribute-account" +name = "anchor-attribute-constant" version = "0.25.0" -source = "git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87#806faa4835fb7de2b694421569213bf0c2839d87" dependencies = [ - "anchor-syn 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", - "anyhow", - "bs58 0.4.0", + "anchor-syn 0.25.0", "proc-macro2 1.0.39", - "quote 1.0.18", - "rustversion", "syn 1.0.95", ] @@ -169,12 +176,12 @@ dependencies = [ ] [[package]] -name = "anchor-attribute-constant" +name = "anchor-attribute-error" version = "0.25.0" -source = "git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87#806faa4835fb7de2b694421569213bf0c2839d87" dependencies = [ - "anchor-syn 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", + "anchor-syn 0.25.0", "proc-macro2 1.0.39", + "quote 1.0.18", "syn 1.0.95", ] @@ -191,11 +198,11 @@ dependencies = [ ] [[package]] -name = "anchor-attribute-error" +name = "anchor-attribute-event" version = "0.25.0" -source = "git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87#806faa4835fb7de2b694421569213bf0c2839d87" dependencies = [ - "anchor-syn 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", + "anchor-syn 0.25.0", + "anyhow", "proc-macro2 1.0.39", "quote 1.0.18", "syn 1.0.95", @@ -215,12 +222,12 @@ dependencies = [ ] [[package]] -name = "anchor-attribute-event" +name = "anchor-attribute-interface" version = "0.25.0" -source = "git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87#806faa4835fb7de2b694421569213bf0c2839d87" dependencies = [ - "anchor-syn 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", + "anchor-syn 0.25.0", "anyhow", + "heck 0.3.3", "proc-macro2 1.0.39", "quote 1.0.18", "syn 1.0.95", @@ -241,13 +248,11 @@ dependencies = [ ] [[package]] -name = "anchor-attribute-interface" +name = "anchor-attribute-program" version = "0.25.0" -source = "git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87#806faa4835fb7de2b694421569213bf0c2839d87" dependencies = [ - "anchor-syn 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", + "anchor-syn 0.25.0", "anyhow", - "heck 0.3.3", "proc-macro2 1.0.39", "quote 1.0.18", "syn 1.0.95", @@ -267,11 +272,10 @@ dependencies = [ ] [[package]] -name = "anchor-attribute-program" +name = "anchor-attribute-state" version = "0.25.0" -source = "git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87#806faa4835fb7de2b694421569213bf0c2839d87" dependencies = [ - "anchor-syn 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", + "anchor-syn 0.25.0", "anyhow", "proc-macro2 1.0.39", "quote 1.0.18", @@ -292,23 +296,44 @@ dependencies = [ ] [[package]] -name = "anchor-attribute-state" +name = "anchor-cli" version = "0.25.0" -source = "git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87#806faa4835fb7de2b694421569213bf0c2839d87" dependencies = [ - "anchor-syn 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", + "anchor-client", + "anchor-lang 0.25.0", + "anchor-syn 0.25.0", "anyhow", - "proc-macro2 1.0.39", - "quote 1.0.18", + "cargo_toml", + "chrono", + "clap 3.1.18", + "dirs", + "flate2 1.0.23", + "heck 0.3.3", + "pathdiff", + "portpicker", + "rand 0.7.3", + "reqwest", + "semver 1.0.9", + "serde", + "serde_json", + "shellexpand", + "solana-cli-config", + "solana-client", + "solana-faucet", + "solana-program", + "solana-sdk", "syn 1.0.95", + "tar", + "tokio", + "toml", + "walkdir", ] [[package]] name = "anchor-client" version = "0.25.0" -source = "git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87#806faa4835fb7de2b694421569213bf0c2839d87" dependencies = [ - "anchor-lang 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", + "anchor-lang 0.25.0", "anyhow", "regex", "serde", @@ -319,6 +344,17 @@ dependencies = [ "url 2.2.2", ] +[[package]] +name = "anchor-derive-accounts" +version = "0.25.0" +dependencies = [ + "anchor-syn 0.25.0", + "anyhow", + "proc-macro2 1.0.39", + "quote 1.0.18", + "syn 1.0.95", +] + [[package]] name = "anchor-derive-accounts" version = "0.25.0" @@ -333,15 +369,25 @@ dependencies = [ ] [[package]] -name = "anchor-derive-accounts" +name = "anchor-lang" version = "0.25.0" -source = "git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87#806faa4835fb7de2b694421569213bf0c2839d87" dependencies = [ - "anchor-syn 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", - "anyhow", - "proc-macro2 1.0.39", - "quote 1.0.18", - "syn 1.0.95", + "anchor-attribute-access-control 0.25.0", + "anchor-attribute-account 0.25.0", + "anchor-attribute-constant 0.25.0", + "anchor-attribute-error 0.25.0", + "anchor-attribute-event 0.25.0", + "anchor-attribute-interface 0.25.0", + "anchor-attribute-program 0.25.0", + "anchor-attribute-state 0.25.0", + "anchor-derive-accounts 0.25.0", + "arrayref", + "base64 0.13.0", + "bincode", + "borsh", + "bytemuck", + "solana-program", + "thiserror", ] [[package]] @@ -369,26 +415,15 @@ dependencies = [ ] [[package]] -name = "anchor-lang" +name = "anchor-spl" version = "0.25.0" -source = "git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87#806faa4835fb7de2b694421569213bf0c2839d87" dependencies = [ - "anchor-attribute-access-control 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", - "anchor-attribute-account 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", - "anchor-attribute-constant 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", - "anchor-attribute-error 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", - "anchor-attribute-event 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", - "anchor-attribute-interface 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", - "anchor-attribute-program 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", - "anchor-attribute-state 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", - "anchor-derive-accounts 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", - "arrayref", - "base64 0.13.0", - "bincode", - "borsh", - "bytemuck", + "anchor-lang 0.25.0", + "mpl-token-metadata", + "serum_dex 0.4.0 (git+https://github.com/project-serum/serum-dex?rev=1be91f2)", "solana-program", - "thiserror", + "spl-associated-token-account", + "spl-token", ] [[package]] @@ -403,22 +438,9 @@ dependencies = [ "spl-token", ] -[[package]] -name = "anchor-spl" -version = "0.25.0" -source = "git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87#806faa4835fb7de2b694421569213bf0c2839d87" -dependencies = [ - "anchor-lang 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", - "solana-program", - "spl-associated-token-account", - "spl-token", -] - [[package]] name = "anchor-syn" version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55aa1e680d9471342122ed5b6bc13bf5da473b0f7e4677d41a6954e5cc8ad155" dependencies = [ "anyhow", "bs58 0.3.1", @@ -436,7 +458,8 @@ dependencies = [ [[package]] name = "anchor-syn" version = "0.25.0" -source = "git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87#806faa4835fb7de2b694421569213bf0c2839d87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55aa1e680d9471342122ed5b6bc13bf5da473b0f7e4677d41a6954e5cc8ad155" dependencies = [ "anyhow", "bs58 0.3.1", @@ -1046,6 +1069,17 @@ dependencies = [ "thiserror", ] +[[package]] +name = "cargo_toml" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c3596addfb02dcdc06f5252ddda9f3785f9230f5827fb4284645240fa05ad92" +dependencies = [ + "serde", + "serde_derive", + "toml", +] + [[package]] name = "cc" version = "1.0.73" @@ -1199,15 +1233,15 @@ name = "client" version = "0.1.0" dependencies = [ "anchor-client", - "anchor-lang 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", - "anchor-spl 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", + "anchor-lang 0.25.0", + "anchor-spl 0.25.0", "anyhow", "fixed", "fixed-macro", "itertools 0.10.3", "mango-v4", "pyth-sdk-solana", - "serum_dex", + "serum_dex 0.4.0 (git+https://github.com/blockworks-foundation/serum-dex.git)", "solana-account-decoder", "solana-client", "solana-sdk", @@ -1572,6 +1606,15 @@ dependencies = [ "walkdir", ] +[[package]] +name = "dirs" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30baa043103c9d0c2a57cf537cc2f35623889dc0d405e6c3cccfadbc81c71309" +dependencies = [ + "dirs-sys", +] + [[package]] name = "dirs-next" version = "2.0.0" @@ -1582,6 +1625,17 @@ dependencies = [ "dirs-sys-next", ] +[[package]] +name = "dirs-sys" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" +dependencies = [ + "libc", + "redox_users", + "winapi 0.3.9", +] + [[package]] name = "dirs-sys-next" version = "0.1.2" @@ -2823,8 +2877,8 @@ name = "keeper" version = "0.1.0" dependencies = [ "anchor-client", - "anchor-lang 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", - "anchor-spl 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", + "anchor-lang 0.25.0", + "anchor-spl 0.25.0", "anyhow", "clap 3.1.18", "client", @@ -2836,7 +2890,7 @@ dependencies = [ "log 0.4.17", "mango-v4", "pyth-sdk-solana", - "serum_dex", + "serum_dex 0.4.0 (git+https://github.com/blockworks-foundation/serum-dex.git)", "shellexpand", "solana-client", "solana-sdk", @@ -2977,7 +3031,7 @@ name = "liquidator" version = "0.0.1" dependencies = [ "anchor-client", - "anchor-lang 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", + "anchor-lang 0.25.0", "anyhow", "arrayref", "async-channel", @@ -3005,7 +3059,7 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "serum_dex", + "serum_dex 0.4.0 (git+https://github.com/blockworks-foundation/serum-dex.git)", "shellexpand", "solana-account-decoder", "solana-client", @@ -3096,8 +3150,8 @@ dependencies = [ name = "mango-v4" version = "0.1.0" dependencies = [ - "anchor-lang 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", - "anchor-spl 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", + "anchor-lang 0.25.0", + "anchor-spl 0.25.0", "arrayref", "async-trait", "base64 0.13.0", @@ -3115,7 +3169,7 @@ dependencies = [ "pyth-sdk-solana", "rand 0.8.5", "serde", - "serum_dex", + "serum_dex 0.4.0 (git+https://github.com/blockworks-foundation/serum-dex.git)", "solana-address-lookup-table-program", "solana-logger", "solana-program", @@ -3133,8 +3187,8 @@ dependencies = [ name = "margin-trade" version = "0.1.0" dependencies = [ - "anchor-lang 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", - "anchor-spl 0.25.0 (git+https://github.com/blockworks-foundation/anchor.git?rev=806faa4835fb7de2b694421569213bf0c2839d87)", + "anchor-lang 0.25.0", + "anchor-spl 0.25.0", "solana-program", ] @@ -3207,6 +3261,16 @@ version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" +[[package]] +name = "mime_guess" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" +dependencies = [ + "mime 0.3.16", + "unicase 2.6.0", +] + [[package]] name = "minimal-lexical" version = "0.2.1" @@ -3306,6 +3370,38 @@ dependencies = [ "syn 1.0.95", ] +[[package]] +name = "mpl-token-metadata" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b73a2070e1acf3a42357e7580ae1905795cbee0a77858f8e0c44df885cbc4814" +dependencies = [ + "arrayref", + "borsh", + "mpl-token-vault", + "num-derive", + "num-traits", + "shank", + "solana-program", + "spl-associated-token-account", + "spl-token", + "thiserror", +] + +[[package]] +name = "mpl-token-vault" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ade4ef15bc06a6033076c4ff28cba9b42521df5ec61211d6f419415ace2746a" +dependencies = [ + "borsh", + "num-derive", + "num-traits", + "solana-program", + "spl-token", + "thiserror", +] + [[package]] name = "multimap" version = "0.8.3" @@ -3727,6 +3823,12 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c520e05135d6e763148b6426a837e239041653ba7becd2e538c076c738025fc" +[[package]] +name = "pathdiff" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" + [[package]] name = "pbkdf2" version = "0.4.0" @@ -3867,6 +3969,15 @@ dependencies = [ "universal-hash", ] +[[package]] +name = "portpicker" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be97d76faf1bfab666e1375477b23fde79eccf0276e9b63b92a39d676a889ba9" +dependencies = [ + "rand 0.8.5", +] + [[package]] name = "ppv-lite86" version = "0.2.16" @@ -4466,6 +4577,7 @@ dependencies = [ "lazy_static", "log 0.4.17", "mime 0.3.16", + "mime_guess", "native-tls", "percent-encoding 2.1.0", "pin-project-lite", @@ -4883,6 +4995,29 @@ dependencies = [ "yaml-rust", ] +[[package]] +name = "serum_dex" +version = "0.4.0" +source = "git+https://github.com/project-serum/serum-dex?rev=1be91f2#1be91f2863d8ecede32daaae7e768034e24bbc79" +dependencies = [ + "arrayref", + "bincode", + "bytemuck", + "byteorder", + "enumflags2", + "field-offset", + "itertools 0.9.0", + "num-traits", + "num_enum", + "safe-transmute", + "serde", + "solana-program", + "spl-token", + "static_assertions", + "thiserror", + "without-alloc", +] + [[package]] name = "serum_dex" version = "0.4.0" @@ -5003,6 +5138,40 @@ dependencies = [ "keccak", ] +[[package]] +name = "shank" +version = "0.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85a6c6cad96abd1fd950d1df186ec02e786566161f03adadbb7cf157ae9a82d8" +dependencies = [ + "shank_macro", +] + +[[package]] +name = "shank_macro" +version = "0.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0b3bf722b43cea02627c7fd89925f5861f7aa27604c1852720f8eee1a73523d" +dependencies = [ + "proc-macro2 1.0.39", + "quote 1.0.18", + "shank_macro_impl", + "syn 1.0.95", +] + +[[package]] +name = "shank_macro_impl" +version = "0.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90a37f762b0529d64a9e3401ac3829e132f58fa9bc50b1fd6ad7b5a1a414a228" +dependencies = [ + "anyhow", + "proc-macro2 1.0.39", + "quote 1.0.18", + "serde", + "syn 1.0.95", +] + [[package]] name = "sharded-slab" version = "0.1.4" diff --git a/Cargo.toml b/Cargo.toml index 371aad536..78b9e5bfe 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,6 +5,7 @@ members = [ "keeper", "lib/*", "liquidator", + "anchor/cli", ] [patch.crates-io] diff --git a/anchor b/anchor new file mode 160000 index 000000000..442c00634 --- /dev/null +++ b/anchor @@ -0,0 +1 @@ +Subproject commit 442c00634e847af84672727dc00b45a2c8d0a956 diff --git a/client/Cargo.toml b/client/Cargo.toml index 0c0f4c8f4..cdaf609b3 100644 --- a/client/Cargo.toml +++ b/client/Cargo.toml @@ -7,9 +7,9 @@ edition = "2021" doctest = false [dependencies] -anchor-client = { git = "https://github.com/blockworks-foundation/anchor.git", rev = "806faa4835fb7de2b694421569213bf0c2839d87" } -anchor-lang = { git = "https://github.com/blockworks-foundation/anchor.git", rev = "806faa4835fb7de2b694421569213bf0c2839d87" } -anchor-spl = { git = "https://github.com/blockworks-foundation/anchor.git", rev = "806faa4835fb7de2b694421569213bf0c2839d87" } +anchor-client = { path = "../anchor/client" } +anchor-lang = { path = "../anchor/lang" } +anchor-spl = { path = "../anchor/spl" } anyhow = "1.0" fixed = { version = "=1.11.0", features = ["serde", "borsh"] } fixed-macro = "^1.1.1" diff --git a/keeper/Cargo.toml b/keeper/Cargo.toml index 4fd17c66e..1510948e4 100644 --- a/keeper/Cargo.toml +++ b/keeper/Cargo.toml @@ -6,9 +6,9 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -anchor-client = { git = "https://github.com/blockworks-foundation/anchor.git", rev = "806faa4835fb7de2b694421569213bf0c2839d87" } -anchor-lang = { git = "https://github.com/blockworks-foundation/anchor.git", rev = "806faa4835fb7de2b694421569213bf0c2839d87" } -anchor-spl = { git = "https://github.com/blockworks-foundation/anchor.git", rev = "806faa4835fb7de2b694421569213bf0c2839d87" } +anchor-client = { path = "../anchor/client" } +anchor-lang = { path = "../anchor/lang" } +anchor-spl = { path = "../anchor/spl" } anyhow = "1.0" clap = { version = "3.1.8", features = ["derive", "env"] } client = { path = "../client" } diff --git a/liquidator/Cargo.toml b/liquidator/Cargo.toml index d646316f7..f0ab5432e 100644 --- a/liquidator/Cargo.toml +++ b/liquidator/Cargo.toml @@ -4,8 +4,8 @@ version = "0.0.1" edition = "2021" [dependencies] -anchor-lang = { git = "https://github.com/blockworks-foundation/anchor.git", rev = "806faa4835fb7de2b694421569213bf0c2839d87" } -anchor-client = { git = "https://github.com/blockworks-foundation/anchor.git", rev = "806faa4835fb7de2b694421569213bf0c2839d87" } +anchor-lang = { path = "../anchor/lang" } +anchor-client = { path = "../anchor/client" } anyhow = "1.0" arrayref = "0.3.6" async-channel = "1.6" diff --git a/mc-release-to-devnet.sh b/mc-release-to-devnet.sh index 4d0f7992f..8bb90f1c6 100755 --- a/mc-release-to-devnet.sh +++ b/mc-release-to-devnet.sh @@ -2,13 +2,6 @@ set -e pipefail -ANCHOR_BRANCH=v0.25.0-mangov4 -ANCHOR_FORK=$(cd ../anchor && git rev-parse --abbrev-ref HEAD) -if [ "$ANCHOR_FORK" != "$ANCHOR_BRANCH" ]; then - echo "Check out anchor fork at git@github.com:blockworks-foundation/anchor.git, and switch to branch $ANCHOR_BRANCH!" - exit 1; -fi - # rg m43thNJ58XCjL798ZSq6JGAG1BnWskhdq5or6kcnfsD -l | xargs -I % sed -i '' 's/m43thNJ58XCjL798ZSq6JGAG1BnWskhdq5or6kcnfsD/5V2zCYCQkm4sZc3WctiwQEAzvfAiFxyjbwCvzQnmtmkM/g' %; WALLET_WITH_FUNDS=~/.config/solana/mango-devnet.json @@ -16,7 +9,7 @@ PROGRAM_ID=5V2zCYCQkm4sZc3WctiwQEAzvfAiFxyjbwCvzQnmtmkM # TODO fix need for --skip-lint # build program, -cargo run --manifest-path ../anchor/cli/Cargo.toml build --skip-lint +cargo run -p anchor-cli -- build --skip-lint # patch types, which we want in rust, but anchor client doesn't support ./idl-fixup.sh @@ -29,7 +22,7 @@ if [[ -z "${NO_DEPLOY}" ]]; then solana --url https://mango.devnet.rpcpool.com program deploy --program-id 5V2zCYCQkm4sZc3WctiwQEAzvfAiFxyjbwCvzQnmtmkM -k ~/.config/solana/mango-devnet.json target/deploy/mango_v4.so # publish idl - cargo run --manifest-path ../anchor/cli/Cargo.toml idl upgrade --provider.cluster https://mango.devnet.rpcpool.com --provider.wallet $WALLET_WITH_FUNDS --filepath target/idl/mango_v4.json $PROGRAM_ID + cargo run -p anchor-cli -- idl upgrade --provider.cluster https://mango.devnet.rpcpool.com --provider.wallet $WALLET_WITH_FUNDS --filepath target/idl/mango_v4.json $PROGRAM_ID else echo "Skipping deployment..." fi diff --git a/programs/mango-v4/Cargo.toml b/programs/mango-v4/Cargo.toml index 3a3998101..0a58ebc99 100644 --- a/programs/mango-v4/Cargo.toml +++ b/programs/mango-v4/Cargo.toml @@ -21,8 +21,8 @@ client = ["solana-sdk"] [dependencies] # todo: when to fix, when to use caret? need a regular chore to bump dependencies # note: possibly need init-if-needed feature -anchor-lang = { git = "https://github.com/blockworks-foundation/anchor.git", rev = "806faa4835fb7de2b694421569213bf0c2839d87" } -anchor-spl = { git = "https://github.com/blockworks-foundation/anchor.git", rev = "806faa4835fb7de2b694421569213bf0c2839d87" } +anchor-lang = { path = "../../anchor/lang" } +anchor-spl = { path = "../../anchor/spl" } arrayref = "0.3.6" bincode = "1.3.3" bytemuck = "^1.7.2" diff --git a/programs/margin-trade/Cargo.toml b/programs/margin-trade/Cargo.toml index 6748c21d4..287f992db 100644 --- a/programs/margin-trade/Cargo.toml +++ b/programs/margin-trade/Cargo.toml @@ -18,6 +18,6 @@ default = [] test-bpf = [] [dependencies] -anchor-lang = { git = "https://github.com/blockworks-foundation/anchor.git", rev = "806faa4835fb7de2b694421569213bf0c2839d87" } -anchor-spl = { git = "https://github.com/blockworks-foundation/anchor.git", rev = "806faa4835fb7de2b694421569213bf0c2839d87" } +anchor-lang = { path = "../../anchor/lang" } +anchor-spl = { path = "../../anchor/spl" } solana-program = "1.10.29" diff --git a/release-to-devnet.sh b/release-to-devnet.sh index 16cfdbe63..b6c97d12c 100755 --- a/release-to-devnet.sh +++ b/release-to-devnet.sh @@ -2,19 +2,12 @@ set -e pipefail -ANCHOR_BRANCH=v0.25.0-mangov4 -ANCHOR_FORK=$(cd ../anchor && git rev-parse --abbrev-ref HEAD) -if [ "$ANCHOR_FORK" != "$ANCHOR_BRANCH" ]; then - echo "Check out anchor fork at git@github.com:blockworks-foundation/anchor.git, and switch to branch $ANCHOR_BRANCH!" - exit 1; -fi - WALLET_WITH_FUNDS=~/.config/solana/mango-devnet.json PROGRAM_ID=m43thNJ58XCjL798ZSq6JGAG1BnWskhdq5or6kcnfsD # TODO fix need for --skip-lint # build program, -cargo run --manifest-path ../anchor/cli/Cargo.toml build --skip-lint +cargo run -p anchor-cli -- build --skip-lint # patch types, which we want in rust, but anchor client doesn't support ./idl-fixup.sh @@ -30,7 +23,7 @@ if [[ -z "${NO_DEPLOY}" ]]; then -k $WALLET_WITH_FUNDS target/deploy/mango_v4.so --skip-fee-check # # publish idl - cargo run --manifest-path ../anchor/cli/Cargo.toml idl upgrade --provider.cluster https://mango.devnet.rpcpool.com --provider.wallet $WALLET_WITH_FUNDS \ + cargo run -p anchor-cli -- idl upgrade --provider.cluster https://mango.devnet.rpcpool.com --provider.wallet $WALLET_WITH_FUNDS \ --filepath target/idl/mango_v4.json $PROGRAM_ID else echo "Skipping deployment..." diff --git a/release-to-mainnet.sh b/release-to-mainnet.sh index f32479704..5fae5ddad 100755 --- a/release-to-mainnet.sh +++ b/release-to-mainnet.sh @@ -2,19 +2,12 @@ set -e pipefail -ANCHOR_BRANCH=v0.25.0-mangov4 -ANCHOR_FORK=$(cd ../anchor && git rev-parse --abbrev-ref HEAD) -if [ "$ANCHOR_FORK" != "$ANCHOR_BRANCH" ]; then - echo "Check out anchor fork at git@github.com:blockworks-foundation/anchor.git, and switch to branch $ANCHOR_BRANCH!" - exit 1; -fi - WALLET_WITH_FUNDS=~/.config/solana/mango-mainnet.json PROGRAM_ID=m43thNJ58XCjL798ZSq6JGAG1BnWskhdq5or6kcnfsD # TODO fix need for --skip-lint # build program, -anchor build --skip-lint +cargo run -p anchor-cli -- build --skip-lint # patch types, which we want in rust, but anchor client doesn't support ./idl-fixup.sh @@ -30,7 +23,7 @@ if [[ -z "${NO_DEPLOY}" ]]; then -k $WALLET_WITH_FUNDS target/deploy/mango_v4.so # publish idl - anchor idl upgrade --provider.cluster $CLUSTER_URL --provider.wallet $WALLET_WITH_FUNDS \ + cargo run -p anchor-cli -- idl upgrade --provider.cluster $CLUSTER_URL --provider.wallet $WALLET_WITH_FUNDS \ --filepath target/idl/mango_v4.json $PROGRAM_ID else echo "Skipping deployment..." diff --git a/update-local-idl.sh b/update-local-idl.sh index a634f6588..5e71820b9 100755 --- a/update-local-idl.sh +++ b/update-local-idl.sh @@ -2,16 +2,9 @@ set -e pipefail -ANCHOR_BRANCH=v0.25.0-mangov4 -ANCHOR_FORK=$(cd ../anchor && git rev-parse --abbrev-ref HEAD) -if [ "$ANCHOR_FORK" != "$ANCHOR_BRANCH" ]; then - echo "Check out anchor fork at git@github.com:blockworks-foundation/anchor.git, and switch to branch $ANCHOR_BRANCH!" - exit 1; -fi - # TODO fix need for --skip-lint # build program, -cargo run --manifest-path ../anchor/cli/Cargo.toml build --skip-lint +cargo run -p anchor-cli -- build --skip-lint # patch types, which we want in rust, but anchor client doesn't support ./idl-fixup.sh