v1.5: faucet backports (#16565)

* Faucet: repurpose cap and slice args to apply to single IPs (#16381)

* Single use stmt

* Log request IP

* Switch cap and slice to apply per IP

* Use SOL in logs, error msgs

* Use thiserror instead of overloading io::Error

* Return memo transaction for requests that exceed per-request-cap

* Handle faucet memos in cli

* Add some docs, esp about memo transaction

* Use SOL symbol & standardize memo

Co-authored-by: Michael Vines <mvines@gmail.com>

* Differentiate faucet tx-length errors

* Populate signature in cli airdrop memo case

Co-authored-by: Michael Vines <mvines@gmail.com>

* Add address_cache and exclude loopback from ip limit (#16487)

Co-authored-by: Michael Vines <mvines@gmail.com>
This commit is contained in:
Tyera Eulberg
2021-04-15 04:13:14 -06:00
committed by GitHub
parent b555845ca2
commit 87494812a7
13 changed files with 723 additions and 470 deletions

293
programs/bpf/Cargo.lock generated
View File

@@ -216,7 +216,7 @@ dependencies = [
"borsh-schema-derive-internal",
"proc-macro-crate",
"proc-macro2 1.0.24",
"syn 1.0.48",
"syn 1.0.67",
]
[[package]]
@@ -227,7 +227,7 @@ checksum = "d813fa25eb0bed78c36492cff4415f38c760d6de833d255ba9095bd8ebb7d725"
dependencies = [
"proc-macro2 1.0.24",
"quote 1.0.6",
"syn 1.0.48",
"syn 1.0.67",
]
[[package]]
@@ -238,7 +238,7 @@ checksum = "dcf78ee4a98c8cb9eba1bac3d3e2a1ea3d7673c719ce691e67b5cbafc472d3b7"
dependencies = [
"proc-macro2 1.0.24",
"quote 1.0.6",
"syn 1.0.48",
"syn 1.0.67",
]
[[package]]
@@ -659,7 +659,7 @@ checksum = "eaed5874effa6cde088c644ddcdcb4ffd1511391c5be4fdd7a5ccd02c7e4a183"
dependencies = [
"proc-macro2 1.0.24",
"quote 1.0.6",
"syn 1.0.48",
"syn 1.0.67",
]
[[package]]
@@ -700,6 +700,27 @@ dependencies = [
"walkdir",
]
[[package]]
name = "dirs-next"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1"
dependencies = [
"cfg-if 1.0.0",
"dirs-sys-next",
]
[[package]]
name = "dirs-sys-next"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
dependencies = [
"libc",
"redox_users",
"winapi 0.3.8",
]
[[package]]
name = "dtoa"
version = "0.4.5"
@@ -762,9 +783,9 @@ dependencies = [
[[package]]
name = "env_logger"
version = "0.8.2"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f26ecb66b4bdca6c1409b40fb255eefc2bd4f6d135dab3c3124f80ffa2a9661e"
checksum = "17392a012ea30ef05a610aa97dfb49496e71c9f676b27879922ea5bdf60d9d3f"
dependencies = [
"atty",
"humantime",
@@ -791,7 +812,7 @@ checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4"
dependencies = [
"proc-macro2 1.0.24",
"quote 1.0.6",
"syn 1.0.48",
"syn 1.0.67",
"synstructure",
]
@@ -910,7 +931,7 @@ dependencies = [
"proc-macro-hack",
"proc-macro2 1.0.24",
"quote 1.0.6",
"syn 1.0.48",
"syn 1.0.67",
]
[[package]]
@@ -1402,6 +1423,12 @@ dependencies = [
"typenum",
]
[[package]]
name = "linked-hash-map"
version = "0.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3"
[[package]]
name = "lock_api"
version = "0.3.4"
@@ -1633,7 +1660,7 @@ checksum = "0c8b15b261814f992e33760b1fca9fe8b693d8a65299f20c9901688636cfb746"
dependencies = [
"proc-macro2 1.0.24",
"quote 1.0.6",
"syn 1.0.48",
"syn 1.0.67",
]
[[package]]
@@ -1684,7 +1711,7 @@ dependencies = [
"proc-macro-crate",
"proc-macro2 1.0.24",
"quote 1.0.6",
"syn 1.0.48",
"syn 1.0.67",
]
[[package]]
@@ -1772,7 +1799,7 @@ dependencies = [
"Inflector",
"proc-macro2 1.0.24",
"quote 1.0.6",
"syn 1.0.48",
"syn 1.0.67",
]
[[package]]
@@ -1920,7 +1947,7 @@ checksum = "81a4ffa594b66bff340084d4081df649a7dc049ac8d7fc458d8e628bfbbb2f86"
dependencies = [
"proc-macro2 1.0.24",
"quote 1.0.6",
"syn 1.0.48",
"syn 1.0.67",
]
[[package]]
@@ -2147,6 +2174,16 @@ dependencies = [
"bitflags",
]
[[package]]
name = "redox_users"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64"
dependencies = [
"getrandom 0.2.1",
"redox_syscall 0.2.4",
]
[[package]]
name = "regex"
version = "1.3.9"
@@ -2324,7 +2361,7 @@ checksum = "e367622f934864ffa1c704ba2b82280aab856e3d8213c84c5720257eb34b15b9"
dependencies = [
"proc-macro2 1.0.24",
"quote 1.0.6",
"syn 1.0.48",
"syn 1.0.67",
]
[[package]]
@@ -2395,9 +2432,9 @@ dependencies = [
[[package]]
name = "serde"
version = "1.0.118"
version = "1.0.125"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "06c64263859d87aa2eb554587e2d23183398d617427327cf2b3d0ed8c69e4800"
checksum = "558dc50e1a5a5fa7112ca2ce4effcb321b0300c0d4ccf0776a9f60cd89031171"
dependencies = [
"serde_derive",
]
@@ -2413,13 +2450,13 @@ dependencies = [
[[package]]
name = "serde_derive"
version = "1.0.118"
version = "1.0.125"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c84d3526699cd55261af4b941e4e725444df67aa4f9e6a3564f18030d12672df"
checksum = "b093b7a2bb58203b5da3056c05b4ec1fed827dcfdb37347a8841695263b3d06d"
dependencies = [
"proc-macro2 1.0.24",
"quote 1.0.6",
"syn 1.0.48",
"syn 1.0.67",
]
[[package]]
@@ -2445,6 +2482,18 @@ dependencies = [
"url",
]
[[package]]
name = "serde_yaml"
version = "0.8.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "15654ed4ab61726bf918a39cb8d98a2e2995b002387807fa6ba58fdf7f59bb23"
dependencies = [
"dtoa",
"linked-hash-map",
"serde",
"yaml-rust",
]
[[package]]
name = "sha-1"
version = "0.8.2"
@@ -2873,6 +2922,18 @@ dependencies = [
"url",
]
[[package]]
name = "solana-cli-config"
version = "1.5.19"
dependencies = [
"dirs-next",
"lazy_static",
"serde",
"serde_derive",
"serde_yaml",
"url",
]
[[package]]
name = "solana-cli-output"
version = "1.5.19"
@@ -2915,6 +2976,7 @@ dependencies = [
"serde_json",
"solana-account-decoder",
"solana-clap-utils",
"solana-faucet",
"solana-net-utils",
"solana-sdk",
"solana-transaction-status",
@@ -2955,29 +3017,30 @@ dependencies = [
"reqwest",
"serde",
"syn 0.15.44",
"syn 1.0.48",
"syn 1.0.67",
"tokio 0.1.22",
"winapi 0.3.8",
]
[[package]]
name = "solana-frozen-abi"
version = "1.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc44c8096d5847d8cf7f3af3cce565de554cb56371decf93b060633ca8588913"
name = "solana-faucet"
version = "1.5.19"
dependencies = [
"bs58",
"bv",
"generic-array 0.14.3",
"bincode",
"byteorder 1.3.4",
"clap",
"log",
"memmap2",
"rustc_version",
"serde",
"serde_derive",
"sha2 0.9.2",
"solana-frozen-abi-macro 1.5.8",
"solana-logger 1.5.8",
"solana-clap-utils",
"solana-cli-config",
"solana-logger 1.5.19",
"solana-metrics",
"solana-sdk",
"solana-version",
"spl-memo 3.0.0",
"thiserror",
"tokio 0.3.6",
]
[[package]]
@@ -2999,16 +3062,23 @@ dependencies = [
]
[[package]]
name = "solana-frozen-abi-macro"
version = "1.5.8"
name = "solana-frozen-abi"
version = "1.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f905159beff1b53e4ba8b018a9d13d96ba164c3973bf3b9d587e730bcc14fc18"
checksum = "c59a0527921b3e66e9c8abda26f03e28c05e1ac462bfca6e7b84a4076fadc041"
dependencies = [
"lazy_static",
"proc-macro2 1.0.24",
"quote 1.0.6",
"bs58",
"bv",
"generic-array 0.14.3",
"log",
"memmap2",
"rustc_version",
"syn 1.0.48",
"serde",
"serde_derive",
"sha2 0.9.2",
"solana-frozen-abi-macro 1.6.5",
"solana-logger 1.6.5",
"thiserror",
]
[[package]]
@@ -3019,14 +3089,25 @@ dependencies = [
"proc-macro2 1.0.24",
"quote 1.0.6",
"rustc_version",
"syn 1.0.48",
"syn 1.0.67",
]
[[package]]
name = "solana-frozen-abi-macro"
version = "1.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "71a32b3430d885d98dca4daa0c32de9d29e43163e2822f80975d75d04dfa89ea"
dependencies = [
"lazy_static",
"proc-macro2 1.0.24",
"quote 1.0.6",
"rustc_version",
"syn 1.0.67",
]
[[package]]
name = "solana-logger"
version = "1.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d83a006d97da5514a4475141573383d3fcd71c729ff78494f96bb531cf734d21"
version = "1.5.19"
dependencies = [
"env_logger",
"lazy_static",
@@ -3035,7 +3116,9 @@ dependencies = [
[[package]]
name = "solana-logger"
version = "1.5.19"
version = "1.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d75a277c10051df00277b2212c9e51dc8cd44229cf6b356a4adb0dc12533507"
dependencies = [
"env_logger",
"lazy_static",
@@ -3084,36 +3167,6 @@ dependencies = [
"url",
]
[[package]]
name = "solana-program"
version = "1.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2007bf285617f8a783e96b20ccd2f8d813549090a5b520f22e5f65b3cd9b157"
dependencies = [
"bincode",
"bs58",
"bv",
"curve25519-dalek 2.1.0",
"hex",
"itertools 0.9.0",
"lazy_static",
"log",
"num-derive 0.3.0",
"num-traits",
"rand 0.7.3",
"rustc_version",
"rustversion",
"serde",
"serde_bytes",
"serde_derive",
"sha2 0.9.2",
"solana-frozen-abi 1.5.8",
"solana-frozen-abi-macro 1.5.8",
"solana-logger 1.5.8",
"solana-sdk-macro 1.5.8",
"thiserror",
]
[[package]]
name = "solana-program"
version = "1.5.19"
@@ -3145,6 +3198,39 @@ dependencies = [
"thiserror",
]
[[package]]
name = "solana-program"
version = "1.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e452a9421cc6c0a313c9542d1b92be4491402073e35a2bb2d0b72e84c03a3945"
dependencies = [
"bincode",
"blake3",
"borsh",
"borsh-derive",
"bs58",
"bv",
"curve25519-dalek 2.1.0",
"hex",
"itertools 0.9.0",
"lazy_static",
"log",
"num-derive 0.3.0",
"num-traits",
"rand 0.7.3",
"rustc_version",
"rustversion",
"serde",
"serde_bytes",
"serde_derive",
"sha2 0.9.2",
"solana-frozen-abi 1.6.5",
"solana-frozen-abi-macro 1.6.5",
"solana-logger 1.6.5",
"solana-sdk-macro 1.6.5",
"thiserror",
]
[[package]]
name = "solana-rayon-threadlimit"
version = "1.5.19"
@@ -3263,19 +3349,6 @@ dependencies = [
"thiserror",
]
[[package]]
name = "solana-sdk-macro"
version = "1.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b8a6635f1798c8ff1b88bb0fad1d4693c011f36a73c9ae03f198203144edcabb"
dependencies = [
"bs58",
"proc-macro2 1.0.24",
"quote 1.0.6",
"rustversion",
"syn 1.0.48",
]
[[package]]
name = "solana-sdk-macro"
version = "1.5.19"
@@ -3284,7 +3357,20 @@ dependencies = [
"proc-macro2 1.0.24",
"quote 1.0.6",
"rustversion",
"syn 1.0.48",
"syn 1.0.67",
]
[[package]]
name = "solana-sdk-macro"
version = "1.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5649e54928a244aad80ee3ab817b6ac37bf7b3b1559fd72989d5978e308b616a"
dependencies = [
"bs58",
"proc-macro2 1.0.24",
"quote 1.0.6",
"rustversion",
"syn 1.0.67",
]
[[package]]
@@ -3407,7 +3493,7 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4adc47eebe5d2b662cbaaba1843719c28a67e5ec5d0460bc3ca60900a51f74e2"
dependencies = [
"solana-program 1.5.8",
"solana-program 1.6.5",
"spl-token",
]
@@ -3417,7 +3503,7 @@ version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb2b771f6146dec14ef5fbf498f9374652c54badc3befc8c40c1d426dd45d720"
dependencies = [
"solana-program 1.5.8",
"solana-program 1.6.5",
]
[[package]]
@@ -3426,7 +3512,7 @@ version = "3.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e76b60c6f58279b5469beb1705744e9778ee94d643c8e3e2ff91874c59bb3c63"
dependencies = [
"solana-program 1.5.8",
"solana-program 1.6.5",
]
[[package]]
@@ -3439,7 +3525,7 @@ dependencies = [
"num-derive 0.3.0",
"num-traits",
"num_enum",
"solana-program 1.5.8",
"solana-program 1.6.5",
"thiserror",
]
@@ -3486,9 +3572,9 @@ dependencies = [
[[package]]
name = "syn"
version = "1.0.48"
version = "1.0.67"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc371affeffc477f42a221a1e4297aedcea33d47d19b61455588bd9d8f6b19ac"
checksum = "6498a9efc342871f91cc2d0d694c674368b4ceb40f62b65a7a08c3792935e702"
dependencies = [
"proc-macro2 1.0.24",
"quote 1.0.6",
@@ -3503,7 +3589,7 @@ checksum = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545"
dependencies = [
"proc-macro2 1.0.24",
"quote 1.0.6",
"syn 1.0.48",
"syn 1.0.67",
"unicode-xid 0.2.0",
]
@@ -3587,7 +3673,7 @@ checksum = "9be73a2caec27583d0046ef3796c3794f868a5bc813db689eed00c7631275cd1"
dependencies = [
"proc-macro2 1.0.24",
"quote 1.0.6",
"syn 1.0.48",
"syn 1.0.67",
]
[[package]]
@@ -3750,7 +3836,7 @@ checksum = "46dfffa59fc3c8aad216ed61bdc2c263d2b9d87a9c8ac9de0c11a813e51b6db7"
dependencies = [
"proc-macro2 1.0.24",
"quote 1.0.6",
"syn 1.0.48",
"syn 1.0.67",
]
[[package]]
@@ -4115,7 +4201,7 @@ dependencies = [
"log",
"proc-macro2 1.0.24",
"quote 1.0.6",
"syn 1.0.48",
"syn 1.0.67",
"wasm-bindgen-shared",
]
@@ -4149,7 +4235,7 @@ checksum = "3156052d8ec77142051a533cdd686cba889537b213f948cd1d20869926e68e92"
dependencies = [
"proc-macro2 1.0.24",
"quote 1.0.6",
"syn 1.0.48",
"syn 1.0.67",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@@ -4260,6 +4346,15 @@ dependencies = [
"libc",
]
[[package]]
name = "yaml-rust"
version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
dependencies = [
"linked-hash-map",
]
[[package]]
name = "zeroize"
version = "1.1.0"
@@ -4277,7 +4372,7 @@ checksum = "de251eec69fc7c1bc3923403d18ececb929380e016afe103da75f396704f8ca2"
dependencies = [
"proc-macro2 1.0.24",
"quote 1.0.6",
"syn 1.0.48",
"syn 1.0.67",
"synstructure",
]