Support token-2022 in RPC instruction parsing (#24537)

* Use token-2022 dependency in parse_token and add tests for new variants

* Remove test hack

* Bump spl-token-2022 and use new AuthorityType::CloseMint

* Add zk-token-sdk to patch-crates.sh
This commit is contained in:
Tyera Eulberg 2022-04-27 15:42:00 -04:00 committed by GitHub
parent 7b5aee7576
commit a1b066a438
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 443 additions and 187 deletions

66
Cargo.lock generated
View File

@ -4739,9 +4739,9 @@ dependencies = [
[[package]]
name = "solana-frozen-abi"
version = "1.10.9"
version = "1.10.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55e139feda2afd510dea2027584cc35a9ee9ebac0bfef1ab4d23647bf5c091a6"
checksum = "7299c2ca50bd2d8a5b4a8043e4817892b5e700345234a31adc5b4c1208a32283"
dependencies = [
"bs58",
"bv",
@ -4755,7 +4755,7 @@ dependencies = [
"serde_bytes",
"serde_derive",
"sha2 0.10.2",
"solana-frozen-abi-macro 1.10.9",
"solana-frozen-abi-macro 1.10.10",
"thiserror",
]
@ -4782,9 +4782,9 @@ dependencies = [
[[package]]
name = "solana-frozen-abi-macro"
version = "1.10.9"
version = "1.10.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "798b851026ff2366b318f7818a64846dd1ebc7e613f7893fba07a61cd55e6a48"
checksum = "d726d2fbe5b1b21cb8a81b8c3c1d1aca32bfcfd795f92536d8ff3e66e2e51df8"
dependencies = [
"proc-macro2 1.0.37",
"quote 1.0.18",
@ -5092,9 +5092,9 @@ dependencies = [
[[package]]
name = "solana-logger"
version = "1.10.9"
version = "1.10.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f63d0e97c25935253d93bf9c4740a990264185d1cf59a638a87066278ed817f0"
checksum = "cc6aeaa4145cc77bbfab151a233b14e611a82747fd2eee611a52e07f582544d6"
dependencies = [
"env_logger",
"lazy_static",
@ -5263,9 +5263,9 @@ dependencies = [
[[package]]
name = "solana-program"
version = "1.10.9"
version = "1.10.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "80e41ae6eb080e3ab14e9eda4474b676861af63fb0871db8b9149b0c69aada4d"
checksum = "6425f7248eb69806ae5e8c193a5b7dcfc764516d2f0d354cdf80bacaf422a188"
dependencies = [
"base64 0.13.0",
"bincode",
@ -5296,9 +5296,9 @@ dependencies = [
"serde_derive",
"sha2 0.10.2",
"sha3 0.10.1",
"solana-frozen-abi 1.10.9",
"solana-frozen-abi-macro 1.10.9",
"solana-sdk-macro 1.10.9",
"solana-frozen-abi 1.10.10",
"solana-frozen-abi-macro 1.10.10",
"solana-sdk-macro 1.10.10",
"thiserror",
"wasm-bindgen",
]
@ -5560,9 +5560,9 @@ dependencies = [
[[package]]
name = "solana-sdk"
version = "1.10.9"
version = "1.10.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ef63e9db435bcc173d37073d769871379bb90c0fc60b20616f87edc0b06d890"
checksum = "f5ad83e1a502a53512e0e077fbaa76bf73b19e8789dc014c940077506e8fb7ac"
dependencies = [
"assert_matches",
"base64 0.13.0",
@ -5599,11 +5599,11 @@ dependencies = [
"serde_json",
"sha2 0.10.2",
"sha3 0.10.1",
"solana-frozen-abi 1.10.9",
"solana-frozen-abi-macro 1.10.9",
"solana-logger 1.10.9",
"solana-program 1.10.9",
"solana-sdk-macro 1.10.9",
"solana-frozen-abi 1.10.10",
"solana-frozen-abi-macro 1.10.10",
"solana-logger 1.10.10",
"solana-program 1.10.10",
"solana-sdk-macro 1.10.10",
"thiserror",
"uriparse",
"wasm-bindgen",
@ -5663,9 +5663,9 @@ dependencies = [
[[package]]
name = "solana-sdk-macro"
version = "1.10.9"
version = "1.10.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f4d6c73b2dea5705afd28266015a00e7a9c3496a98a45104733fa81e8dabbb5"
checksum = "d0e117d4d001f4f3c1e568979da52d76a75d814344c1debf9febd10b5a571993"
dependencies = [
"bs58",
"proc-macro2 1.0.37",
@ -6061,9 +6061,9 @@ dependencies = [
[[package]]
name = "solana-zk-token-sdk"
version = "0.8.1"
version = "1.10.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "74b149253f9ed1afb68b3161b53b62b637d0dd7a3b328dffdc8bb5878d48358e"
checksum = "1b48cc8372b23949286546f1b73c3859e06b1d42b8d2c13162484d6ca4b35cb2"
dependencies = [
"aes-gcm-siv",
"arrayref",
@ -6071,7 +6071,7 @@ dependencies = [
"bincode",
"bytemuck",
"byteorder",
"cipher 0.3.0",
"cipher 0.4.3",
"curve25519-dalek",
"getrandom 0.1.16",
"lazy_static",
@ -6082,8 +6082,8 @@ dependencies = [
"serde",
"serde_json",
"sha3 0.9.1",
"solana-program 1.10.9",
"solana-sdk 1.10.9",
"solana-program 1.10.10",
"solana-sdk 1.10.10",
"subtle",
"thiserror",
"zeroize",
@ -6164,7 +6164,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b013067447a1396303ddfc294f36e3d260a32f8a16c501c295bcdc7de39b490"
dependencies = [
"borsh",
"solana-program 1.10.9",
"solana-program 1.10.10",
"spl-token",
]
@ -6174,7 +6174,7 @@ version = "3.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd0dc6f70db6bacea7ff25870b016a65ba1d1b6013536f08e4fd79a8f9005325"
dependencies = [
"solana-program 1.10.9",
"solana-program 1.10.10",
]
[[package]]
@ -6187,23 +6187,23 @@ dependencies = [
"num-derive",
"num-traits",
"num_enum",
"solana-program 1.10.9",
"solana-program 1.10.10",
"thiserror",
]
[[package]]
name = "spl-token-2022"
version = "0.2.0"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fce48c69350134e8678de5c0956a531b7de586b28eebdddc03211ceec0660983"
checksum = "83f001b3579e69a695a22e458fa1a4b76ab25a142544a094e3f65af63dc61c2f"
dependencies = [
"arrayref",
"bytemuck",
"num-derive",
"num-traits",
"num_enum",
"solana-program 1.10.9",
"solana-zk-token-sdk 0.8.1",
"solana-program 1.10.10",
"solana-zk-token-sdk 1.10.10",
"spl-memo",
"spl-token",
"thiserror",

View File

@ -23,7 +23,7 @@ solana-config-program = { path = "../programs/config", version = "=1.11.0" }
solana-sdk = { path = "../sdk", version = "=1.11.0" }
solana-vote-program = { path = "../programs/vote", version = "=1.11.0" }
spl-token = { version = "=3.3.0", features = ["no-entrypoint"] }
spl-token-2022 = { version = "=0.2.0", features = ["no-entrypoint"] }
spl-token-2022 = { version = "=0.3.0", features = ["no-entrypoint"] }
thiserror = "1.0"
zstd = "0.11.1"

View File

@ -48,7 +48,7 @@ solana-streamer = { path = "../streamer", version = "=1.11.0" }
solana-transaction-status = { path = "../transaction-status", version = "=1.11.0" }
solana-version = { path = "../version", version = "=1.11.0" }
solana-vote-program = { path = "../programs/vote", version = "=1.11.0" }
spl-token-2022 = { version = "=0.2.0", features = ["no-entrypoint"] }
spl-token-2022 = { version = "=0.3.0", features = ["no-entrypoint"] }
thiserror = "1.0"
tokio = { version = "1", features = ["full"] }
tokio-stream = "0.1.8"

View File

@ -4368,9 +4368,9 @@ dependencies = [
[[package]]
name = "solana-frozen-abi"
version = "1.10.9"
version = "1.10.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55e139feda2afd510dea2027584cc35a9ee9ebac0bfef1ab4d23647bf5c091a6"
checksum = "7299c2ca50bd2d8a5b4a8043e4817892b5e700345234a31adc5b4c1208a32283"
dependencies = [
"bs58",
"bv",
@ -4384,7 +4384,7 @@ dependencies = [
"serde_bytes",
"serde_derive",
"sha2 0.10.2",
"solana-frozen-abi-macro 1.10.9",
"solana-frozen-abi-macro 1.10.10",
"thiserror",
]
@ -4410,9 +4410,9 @@ dependencies = [
[[package]]
name = "solana-frozen-abi-macro"
version = "1.10.9"
version = "1.10.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "798b851026ff2366b318f7818a64846dd1ebc7e613f7893fba07a61cd55e6a48"
checksum = "d726d2fbe5b1b21cb8a81b8c3c1d1aca32bfcfd795f92536d8ff3e66e2e51df8"
dependencies = [
"proc-macro2 1.0.36",
"quote 1.0.6",
@ -4566,9 +4566,9 @@ dependencies = [
[[package]]
name = "solana-logger"
version = "1.10.9"
version = "1.10.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f63d0e97c25935253d93bf9c4740a990264185d1cf59a638a87066278ed817f0"
checksum = "cc6aeaa4145cc77bbfab151a233b14e611a82747fd2eee611a52e07f582544d6"
dependencies = [
"env_logger",
"lazy_static",
@ -4677,9 +4677,9 @@ dependencies = [
[[package]]
name = "solana-program"
version = "1.10.9"
version = "1.10.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "80e41ae6eb080e3ab14e9eda4474b676861af63fb0871db8b9149b0c69aada4d"
checksum = "6425f7248eb69806ae5e8c193a5b7dcfc764516d2f0d354cdf80bacaf422a188"
dependencies = [
"base64 0.13.0",
"bincode",
@ -4710,9 +4710,9 @@ dependencies = [
"serde_derive",
"sha2 0.10.2",
"sha3 0.10.1",
"solana-frozen-abi 1.10.9",
"solana-frozen-abi-macro 1.10.9",
"solana-sdk-macro 1.10.9",
"solana-frozen-abi 1.10.10",
"solana-frozen-abi-macro 1.10.10",
"solana-sdk-macro 1.10.10",
"thiserror",
"wasm-bindgen",
]
@ -4934,9 +4934,9 @@ dependencies = [
[[package]]
name = "solana-sdk"
version = "1.10.9"
version = "1.10.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ef63e9db435bcc173d37073d769871379bb90c0fc60b20616f87edc0b06d890"
checksum = "f5ad83e1a502a53512e0e077fbaa76bf73b19e8789dc014c940077506e8fb7ac"
dependencies = [
"assert_matches",
"base64 0.13.0",
@ -4973,11 +4973,11 @@ dependencies = [
"serde_json",
"sha2 0.10.2",
"sha3 0.10.1",
"solana-frozen-abi 1.10.9",
"solana-frozen-abi-macro 1.10.9",
"solana-logger 1.10.9",
"solana-program 1.10.9",
"solana-sdk-macro 1.10.9",
"solana-frozen-abi 1.10.10",
"solana-frozen-abi-macro 1.10.10",
"solana-logger 1.10.10",
"solana-program 1.10.10",
"solana-sdk-macro 1.10.10",
"thiserror",
"uriparse",
"wasm-bindgen",
@ -5034,9 +5034,9 @@ dependencies = [
[[package]]
name = "solana-sdk-macro"
version = "1.10.9"
version = "1.10.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f4d6c73b2dea5705afd28266015a00e7a9c3496a98a45104733fa81e8dabbb5"
checksum = "d0e117d4d001f4f3c1e568979da52d76a75d814344c1debf9febd10b5a571993"
dependencies = [
"bs58",
"proc-macro2 1.0.36",
@ -5318,9 +5318,9 @@ dependencies = [
[[package]]
name = "solana-zk-token-sdk"
version = "0.8.1"
version = "1.10.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "74b149253f9ed1afb68b3161b53b62b637d0dd7a3b328dffdc8bb5878d48358e"
checksum = "1b48cc8372b23949286546f1b73c3859e06b1d42b8d2c13162484d6ca4b35cb2"
dependencies = [
"aes-gcm-siv",
"arrayref",
@ -5328,7 +5328,7 @@ dependencies = [
"bincode",
"bytemuck",
"byteorder 1.4.3",
"cipher 0.3.0",
"cipher 0.4.3",
"curve25519-dalek",
"getrandom 0.1.14",
"lazy_static",
@ -5339,8 +5339,8 @@ dependencies = [
"serde",
"serde_json",
"sha3 0.9.1",
"solana-program 1.10.9",
"solana-sdk 1.10.9",
"solana-program 1.10.10",
"solana-sdk 1.10.10",
"subtle",
"thiserror",
"zeroize",
@ -5421,7 +5421,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b013067447a1396303ddfc294f36e3d260a32f8a16c501c295bcdc7de39b490"
dependencies = [
"borsh",
"solana-program 1.10.9",
"solana-program 1.10.10",
"spl-token",
]
@ -5431,7 +5431,7 @@ version = "3.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd0dc6f70db6bacea7ff25870b016a65ba1d1b6013536f08e4fd79a8f9005325"
dependencies = [
"solana-program 1.10.9",
"solana-program 1.10.10",
]
[[package]]
@ -5444,23 +5444,23 @@ dependencies = [
"num-derive",
"num-traits",
"num_enum",
"solana-program 1.10.9",
"solana-program 1.10.10",
"thiserror",
]
[[package]]
name = "spl-token-2022"
version = "0.2.0"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fce48c69350134e8678de5c0956a531b7de586b28eebdddc03211ceec0660983"
checksum = "83f001b3579e69a695a22e458fa1a4b76ab25a142544a094e3f65af63dc61c2f"
dependencies = [
"arrayref",
"bytemuck",
"num-derive",
"num-traits",
"num_enum",
"solana-program 1.10.9",
"solana-zk-token-sdk 0.8.1",
"solana-program 1.10.10",
"solana-zk-token-sdk 1.10.10",
"spl-memo",
"spl-token",
"thiserror",

View File

@ -49,7 +49,7 @@ solana-transaction-status = { path = "../transaction-status", version = "=1.11.0
solana-version = { path = "../version", version = "=1.11.0" }
solana-vote-program = { path = "../programs/vote", version = "=1.11.0" }
spl-token = { version = "=3.3.0", features = ["no-entrypoint"] }
spl-token-2022 = { version = "=0.2.0", features = ["no-entrypoint"] }
spl-token-2022 = { version = "=0.3.0", features = ["no-entrypoint"] }
stream-cancel = "0.8.1"
thiserror = "1.0"
tokio = { version = "1", features = ["full"] }

View File

@ -18,6 +18,8 @@ update_solana_dependencies() {
sed -i -e "s#\(solana-account-decoder = { version = \"\)[^\"]*\(\"\)#\1=$solana_ver\2#g" "${tomls[@]}" || return $?
sed -i -e "s#\(solana-faucet = \"\)[^\"]*\(\"\)#\1=$solana_ver\2#g" "${tomls[@]}" || return $?
sed -i -e "s#\(solana-faucet = { version = \"\)[^\"]*\(\"\)#\1=$solana_ver\2#g" "${tomls[@]}" || return $?
sed -i -e "s#\(solana-zk-token-sdk = \"\)[^\"]*\(\"\)#\1=$solana_ver\2#g" "${tomls[@]}" || return $?
sed -i -e "s#\(solana-zk-token-sdk = { version = \"\)[^\"]*\(\"\)#\1=$solana_ver\2#g" "${tomls[@]}" || return $?
}
patch_crates_io_solana() {
@ -32,5 +34,6 @@ solana-program = { path = "$solana_dir/sdk/program" }
solana-program-test = { path = "$solana_dir/program-test" }
solana-sdk = { path = "$solana_dir/sdk" }
solana-faucet = { path = "$solana_dir/faucet" }
solana-zk-token-sdk = { path = "$solana_dir/zk-token-sdk" }
EOF
}

View File

@ -29,7 +29,7 @@ solana-vote-program = { path = "../programs/vote", version = "=1.11.0" }
spl-associated-token-account = { version = "=1.0.5", features = ["no-entrypoint"] }
spl-memo = { version = "=3.0.1", features = ["no-entrypoint"] }
spl-token = { version = "=3.3.0", features = ["no-entrypoint"] }
spl-token-2022 = { version = "=0.2.0", features = ["no-entrypoint"] }
spl-token-2022 = { version = "=0.3.0", features = ["no-entrypoint"] }
thiserror = "1.0"
[package.metadata.docs.rs]

File diff suppressed because it is too large Load Diff