From cf2d21f522bb92cdb4864718d2208a2b9212724c Mon Sep 17 00:00:00 2001 From: Collin Brittain Date: Thu, 14 Nov 2024 11:24:39 -0600 Subject: [PATCH 01/10] Update lock file --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5cc82c40..14a17d2f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4045,7 +4045,7 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "steward" -version = "4.2.6" +version = "4.2.7" dependencies = [ "abscissa_core", "abscissa_tokio", @@ -4106,7 +4106,7 @@ dependencies = [ [[package]] name = "steward-proto" -version = "4.2.6" +version = "4.2.7" dependencies = [ "prost", "serde", From e9e38488c83e86e0ca0e77452c00c23b5b782775 Mon Sep 17 00:00:00 2001 From: Collin Brittain Date: Thu, 14 Nov 2024 11:25:09 -0600 Subject: [PATCH 02/10] Add Boring Vault's ManagerWithMerkleVerification abi --- .../ManagerWithMerkleVerification.json | 434 +++++++++ build.rs | 20 +- hash_abi | 2 +- .../manager_with_merkle_verification.rs | 824 ++++++++++++++++++ src/lib.rs | 6 + 5 files changed, 1278 insertions(+), 8 deletions(-) create mode 100644 abi/boring-vault/ManagerWithMerkleVerification.json create mode 100644 src/gen/abi/boring_vault/manager_with_merkle_verification.rs diff --git a/abi/boring-vault/ManagerWithMerkleVerification.json b/abi/boring-vault/ManagerWithMerkleVerification.json new file mode 100644 index 00000000..e06df71c --- /dev/null +++ b/abi/boring-vault/ManagerWithMerkleVerification.json @@ -0,0 +1,434 @@ +[ + { + "type": "constructor", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + }, + { + "name": "_vault", + "type": "address", + "internalType": "address" + }, + { + "name": "_balancerVault", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "authority", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balancerVault", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract BalancerVault" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "flashLoan", + "inputs": [ + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "tokens", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "amounts", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "userData", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isPaused", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "manageRoot", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "manageVaultWithMerkleVerification", + "inputs": [ + { + "name": "manageProofs", + "type": "bytes32[][]", + "internalType": "bytes32[][]" + }, + { + "name": "decodersAndSanitizers", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "targets", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "targetData", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "receiveFlashLoan", + "inputs": [ + { + "name": "tokens", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "amounts", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "feeAmounts", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "userData", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAuthority", + "inputs": [ + { + "name": "newAuthority", + "type": "address", + "internalType": "contract Authority" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setManageRoot", + "inputs": [ + { + "name": "strategist", + "type": "address", + "internalType": "address" + }, + { + "name": "_manageRoot", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferOwnership", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "unpause", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vault", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract BoringVault" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "AuthorityUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAuthority", + "type": "address", + "indexed": true, + "internalType": "contract Authority" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "BoringVaultManaged", + "inputs": [ + { + "name": "callsMade", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ManageRootUpdated", + "inputs": [ + { + "name": "strategist", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "oldRoot", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + }, + { + "name": "newRoot", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OwnershipTransferred", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newOwner", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Paused", + "inputs": [], + "anonymous": false + }, + { + "type": "event", + "name": "Unpaused", + "inputs": [], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "ManagerWithMerkleVerification__BadFlashLoanIntentHash", + "inputs": [] + }, + { + "type": "error", + "name": "ManagerWithMerkleVerification__FailedToVerifyManageProof", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "targetData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ManagerWithMerkleVerification__FlashLoanNotExecuted", + "inputs": [] + }, + { + "type": "error", + "name": "ManagerWithMerkleVerification__FlashLoanNotInProgress", + "inputs": [] + }, + { + "type": "error", + "name": "ManagerWithMerkleVerification__InvalidDecodersAndSanitizersLength", + "inputs": [] + }, + { + "type": "error", + "name": "ManagerWithMerkleVerification__InvalidManageProofLength", + "inputs": [] + }, + { + "type": "error", + "name": "ManagerWithMerkleVerification__InvalidTargetDataLength", + "inputs": [] + }, + { + "type": "error", + "name": "ManagerWithMerkleVerification__InvalidValuesLength", + "inputs": [] + }, + { + "type": "error", + "name": "ManagerWithMerkleVerification__OnlyCallableByBalancerVault", + "inputs": [] + }, + { + "type": "error", + "name": "ManagerWithMerkleVerification__OnlyCallableByBoringVault", + "inputs": [] + }, + { + "type": "error", + "name": "ManagerWithMerkleVerification__Paused", + "inputs": [] + }, + { + "type": "error", + "name": "ManagerWithMerkleVerification__TotalSupplyMustRemainConstantDuringPlatform", + "inputs": [] + } +] diff --git a/build.rs b/build.rs index ba9cfc4b..fe6c17fe 100644 --- a/build.rs +++ b/build.rs @@ -125,15 +125,21 @@ fn generate_contract_abis() { ("ERC4626AdaptorV1", "erc4626_adaptor_v1"), ("StakingAdaptorV1", "staking_adaptor_v1"), ("PendleAdaptorV1", "pendle_adaptor_v1"), + ("boring-vault/ManagerWithMerkleVerification", "boring_vault/manager_with_merkle_verification"), ]; contracts.iter().for_each(|n| { - let name = n.0; - let file_name = n.1; - let abigen = match Abigen::new(name, format!("abi/{}.json", name)) { + let json_file_name = n.0; + let rust_file_name = n.1; + let identifier = if json_file_name.contains('/') { + json_file_name.split('/').last().unwrap() + } else { + json_file_name + }; + let abigen = match Abigen::new(identifier, format!("abi/{}.json", json_file_name)) { Ok(abigen) => abigen, Err(e) => { - println!("Could not open {}.json: {}", name, e); + println!("Could not open {}.json: {}", json_file_name, e); process::exit(1); } }; @@ -145,14 +151,14 @@ fn generate_contract_abis() { { Ok(abi) => abi, Err(e) => { - println!("Could not generate abi from {}.json: {}", name, e); + println!("Could not generate abi from {}.json: {}", json_file_name, e); process::exit(1); } }; - match abi.write_to_file(format!("src/gen/abi/{}.rs", file_name)) { + match abi.write_to_file(format!("src/gen/abi/{}.rs", rust_file_name)) { Ok(_) => (), - Err(e) => println!("Error writing {}.rs: {}", file_name, e), + Err(e) => println!("Error writing {}.rs: {}", rust_file_name, e), } }) } diff --git a/hash_abi b/hash_abi index 679c1ded..04631bbb 100644 --- a/hash_abi +++ b/hash_abi @@ -1 +1 @@ -f272a40db2d18f20779864a09705e714d3634167ef3aab6c9a01596bc51dc033 \ No newline at end of file +d2c996f6a0a0dbbf0cfa8b48fa119a38ca5b28c7f2738b7a4252a96253f8bbb9 \ No newline at end of file diff --git a/src/gen/abi/boring_vault/manager_with_merkle_verification.rs b/src/gen/abi/boring_vault/manager_with_merkle_verification.rs new file mode 100644 index 00000000..616abb57 --- /dev/null +++ b/src/gen/abi/boring_vault/manager_with_merkle_verification.rs @@ -0,0 +1,824 @@ +pub use managerwithmerkleverification_mod::*; +#[allow(clippy::too_many_arguments)] +mod managerwithmerkleverification_mod { + #![allow(clippy::enum_variant_names)] + #![allow(dead_code)] + #![allow(clippy::type_complexity)] + #![allow(unused_imports)] + use ethers::contract::{ + builders::{ContractCall, Event}, + Contract, Lazy, + }; + use ethers::core::{ + abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable}, + types::*, + }; + use ethers::providers::Middleware; + #[doc = "ManagerWithMerkleVerification was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"] + use std::sync::Arc; + pub static MANAGERWITHMERKLEVERIFICATION_ABI: ethers::contract::Lazy = + ethers::contract::Lazy::new(|| { + serde_json :: from_str ("[\n {\n \"type\": \"constructor\",\n \"inputs\": [\n {\n \"name\": \"_owner\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"_vault\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"_balancerVault\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"authority\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"contract Authority\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"balancerVault\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"contract BalancerVault\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"flashLoan\",\n \"inputs\": [\n {\n \"name\": \"recipient\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"tokens\",\n \"type\": \"address[]\",\n \"internalType\": \"address[]\"\n },\n {\n \"name\": \"amounts\",\n \"type\": \"uint256[]\",\n \"internalType\": \"uint256[]\"\n },\n {\n \"name\": \"userData\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"isPaused\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"manageRoot\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"manageVaultWithMerkleVerification\",\n \"inputs\": [\n {\n \"name\": \"manageProofs\",\n \"type\": \"bytes32[][]\",\n \"internalType\": \"bytes32[][]\"\n },\n {\n \"name\": \"decodersAndSanitizers\",\n \"type\": \"address[]\",\n \"internalType\": \"address[]\"\n },\n {\n \"name\": \"targets\",\n \"type\": \"address[]\",\n \"internalType\": \"address[]\"\n },\n {\n \"name\": \"targetData\",\n \"type\": \"bytes[]\",\n \"internalType\": \"bytes[]\"\n },\n {\n \"name\": \"values\",\n \"type\": \"uint256[]\",\n \"internalType\": \"uint256[]\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"owner\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"pause\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"receiveFlashLoan\",\n \"inputs\": [\n {\n \"name\": \"tokens\",\n \"type\": \"address[]\",\n \"internalType\": \"address[]\"\n },\n {\n \"name\": \"amounts\",\n \"type\": \"uint256[]\",\n \"internalType\": \"uint256[]\"\n },\n {\n \"name\": \"feeAmounts\",\n \"type\": \"uint256[]\",\n \"internalType\": \"uint256[]\"\n },\n {\n \"name\": \"userData\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"setAuthority\",\n \"inputs\": [\n {\n \"name\": \"newAuthority\",\n \"type\": \"address\",\n \"internalType\": \"contract Authority\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"setManageRoot\",\n \"inputs\": [\n {\n \"name\": \"strategist\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"_manageRoot\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"transferOwnership\",\n \"inputs\": [\n {\n \"name\": \"newOwner\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"unpause\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"vault\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"contract BoringVault\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"event\",\n \"name\": \"AuthorityUpdated\",\n \"inputs\": [\n {\n \"name\": \"user\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newAuthority\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"contract Authority\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"BoringVaultManaged\",\n \"inputs\": [\n {\n \"name\": \"callsMade\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"ManageRootUpdated\",\n \"inputs\": [\n {\n \"name\": \"strategist\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"oldRoot\",\n \"type\": \"bytes32\",\n \"indexed\": false,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"newRoot\",\n \"type\": \"bytes32\",\n \"indexed\": false,\n \"internalType\": \"bytes32\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"OwnershipTransferred\",\n \"inputs\": [\n {\n \"name\": \"user\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newOwner\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"Paused\",\n \"inputs\": [],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"Unpaused\",\n \"inputs\": [],\n \"anonymous\": false\n },\n {\n \"type\": \"error\",\n \"name\": \"AddressEmptyCode\",\n \"inputs\": [\n {\n \"name\": \"target\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"FailedInnerCall\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ManagerWithMerkleVerification__BadFlashLoanIntentHash\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ManagerWithMerkleVerification__FailedToVerifyManageProof\",\n \"inputs\": [\n {\n \"name\": \"target\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"targetData\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n },\n {\n \"name\": \"value\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"ManagerWithMerkleVerification__FlashLoanNotExecuted\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ManagerWithMerkleVerification__FlashLoanNotInProgress\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ManagerWithMerkleVerification__InvalidDecodersAndSanitizersLength\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ManagerWithMerkleVerification__InvalidManageProofLength\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ManagerWithMerkleVerification__InvalidTargetDataLength\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ManagerWithMerkleVerification__InvalidValuesLength\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ManagerWithMerkleVerification__OnlyCallableByBalancerVault\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ManagerWithMerkleVerification__OnlyCallableByBoringVault\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ManagerWithMerkleVerification__Paused\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ManagerWithMerkleVerification__TotalSupplyMustRemainConstantDuringPlatform\",\n \"inputs\": []\n }\n]\n") . expect ("invalid abi") + }); + #[derive(Clone)] + pub struct ManagerWithMerkleVerification(ethers::contract::Contract); + impl std::ops::Deref for ManagerWithMerkleVerification { + type Target = ethers::contract::Contract; + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl std::fmt::Debug for ManagerWithMerkleVerification { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + f.debug_tuple(stringify!(ManagerWithMerkleVerification)) + .field(&self.address()) + .finish() + } + } + impl<'a, M: ethers::providers::Middleware> ManagerWithMerkleVerification { + #[doc = r" Creates a new contract instance with the specified `ethers`"] + #[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"] + #[doc = r" object"] + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + let contract = ethers::contract::Contract::new( + address.into(), + MANAGERWITHMERKLEVERIFICATION_ABI.clone(), + client, + ); + Self(contract) + } + #[doc = "Calls the contract's `authority` (0xbf7e214f) function"] + pub fn authority( + &self, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([191, 126, 33, 79], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `balancerVault` (0x158274a5) function"] + pub fn balancer_vault( + &self, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([21, 130, 116, 165], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `flashLoan` (0x5c38449e) function"] + pub fn flash_loan( + &self, + recipient: ethers::core::types::Address, + tokens: ::std::vec::Vec, + amounts: ::std::vec::Vec, + user_data: ethers::core::types::Bytes, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([92, 56, 68, 158], (recipient, tokens, amounts, user_data)) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `isPaused` (0xb187bd26) function"] + pub fn is_paused(&self) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([177, 135, 189, 38], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `manageRoot` (0x5ca58a99) function"] + pub fn manage_root( + &self, + p0: ethers::core::types::Address, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([92, 165, 138, 153], p0) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `manageVaultWithMerkleVerification` (0x244b0f6a) function"] + pub fn manage_vault_with_merkle_verification( + &self, + manage_proofs: ::std::vec::Vec<::std::vec::Vec<[u8; 32]>>, + decoders_and_sanitizers: ::std::vec::Vec, + targets: ::std::vec::Vec, + target_data: ::std::vec::Vec, + values: ::std::vec::Vec, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash( + [36, 75, 15, 106], + ( + manage_proofs, + decoders_and_sanitizers, + targets, + target_data, + values, + ), + ) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `owner` (0x8da5cb5b) function"] + pub fn owner( + &self, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([141, 165, 203, 91], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `pause` (0x8456cb59) function"] + pub fn pause(&self) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([132, 86, 203, 89], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `receiveFlashLoan` (0xf04f2707) function"] + pub fn receive_flash_loan( + &self, + tokens: ::std::vec::Vec, + amounts: ::std::vec::Vec, + fee_amounts: ::std::vec::Vec, + user_data: ethers::core::types::Bytes, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([240, 79, 39, 7], (tokens, amounts, fee_amounts, user_data)) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `setAuthority` (0x7a9e5e4b) function"] + pub fn set_authority( + &self, + new_authority: ethers::core::types::Address, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([122, 158, 94, 75], new_authority) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `setManageRoot` (0x21801a99) function"] + pub fn set_manage_root( + &self, + strategist: ethers::core::types::Address, + manage_root: [u8; 32], + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([33, 128, 26, 153], (strategist, manage_root)) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `transferOwnership` (0xf2fde38b) function"] + pub fn transfer_ownership( + &self, + new_owner: ethers::core::types::Address, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([242, 253, 227, 139], new_owner) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `unpause` (0x3f4ba83a) function"] + pub fn unpause(&self) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([63, 75, 168, 58], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `vault` (0xfbfa77cf) function"] + pub fn vault( + &self, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([251, 250, 119, 207], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Gets the contract's `AuthorityUpdated` event"] + pub fn authority_updated_filter( + &self, + ) -> ethers::contract::builders::Event { + self.0.event() + } + #[doc = "Gets the contract's `BoringVaultManaged` event"] + pub fn boring_vault_managed_filter( + &self, + ) -> ethers::contract::builders::Event { + self.0.event() + } + #[doc = "Gets the contract's `ManageRootUpdated` event"] + pub fn manage_root_updated_filter( + &self, + ) -> ethers::contract::builders::Event { + self.0.event() + } + #[doc = "Gets the contract's `OwnershipTransferred` event"] + pub fn ownership_transferred_filter( + &self, + ) -> ethers::contract::builders::Event { + self.0.event() + } + #[doc = "Gets the contract's `Paused` event"] + pub fn paused_filter(&self) -> ethers::contract::builders::Event { + self.0.event() + } + #[doc = "Gets the contract's `Unpaused` event"] + pub fn unpaused_filter(&self) -> ethers::contract::builders::Event { + self.0.event() + } + #[doc = r" Returns an [`Event`](#ethers_contract::builders::Event) builder for all events of this contract"] + pub fn events( + &self, + ) -> ethers::contract::builders::Event { + self.0.event_with_filter(Default::default()) + } + } + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthEvent, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethevent(name = "AuthorityUpdated", abi = "AuthorityUpdated(address,address)")] + pub struct AuthorityUpdatedFilter { + #[ethevent(indexed)] + pub user: ethers::core::types::Address, + #[ethevent(indexed)] + pub new_authority: ethers::core::types::Address, + } + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthEvent, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethevent(name = "BoringVaultManaged", abi = "BoringVaultManaged(uint256)")] + pub struct BoringVaultManagedFilter { + pub calls_made: ethers::core::types::U256, + } + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthEvent, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethevent( + name = "ManageRootUpdated", + abi = "ManageRootUpdated(address,bytes32,bytes32)" + )] + pub struct ManageRootUpdatedFilter { + #[ethevent(indexed)] + pub strategist: ethers::core::types::Address, + pub old_root: [u8; 32], + pub new_root: [u8; 32], + } + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthEvent, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethevent( + name = "OwnershipTransferred", + abi = "OwnershipTransferred(address,address)" + )] + pub struct OwnershipTransferredFilter { + #[ethevent(indexed)] + pub user: ethers::core::types::Address, + #[ethevent(indexed)] + pub new_owner: ethers::core::types::Address, + } + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthEvent, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethevent(name = "Paused", abi = "Paused()")] + pub struct PausedFilter(); + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthEvent, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethevent(name = "Unpaused", abi = "Unpaused()")] + pub struct UnpausedFilter(); + #[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)] + pub enum ManagerWithMerkleVerificationEvents { + AuthorityUpdatedFilter(AuthorityUpdatedFilter), + BoringVaultManagedFilter(BoringVaultManagedFilter), + ManageRootUpdatedFilter(ManageRootUpdatedFilter), + OwnershipTransferredFilter(OwnershipTransferredFilter), + PausedFilter(PausedFilter), + UnpausedFilter(UnpausedFilter), + } + impl ethers::contract::EthLogDecode for ManagerWithMerkleVerificationEvents { + fn decode_log(log: ðers::core::abi::RawLog) -> Result + where + Self: Sized, + { + if let Ok(decoded) = AuthorityUpdatedFilter::decode_log(log) { + return Ok(ManagerWithMerkleVerificationEvents::AuthorityUpdatedFilter( + decoded, + )); + } + if let Ok(decoded) = BoringVaultManagedFilter::decode_log(log) { + return Ok(ManagerWithMerkleVerificationEvents::BoringVaultManagedFilter(decoded)); + } + if let Ok(decoded) = ManageRootUpdatedFilter::decode_log(log) { + return Ok(ManagerWithMerkleVerificationEvents::ManageRootUpdatedFilter(decoded)); + } + if let Ok(decoded) = OwnershipTransferredFilter::decode_log(log) { + return Ok(ManagerWithMerkleVerificationEvents::OwnershipTransferredFilter(decoded)); + } + if let Ok(decoded) = PausedFilter::decode_log(log) { + return Ok(ManagerWithMerkleVerificationEvents::PausedFilter(decoded)); + } + if let Ok(decoded) = UnpausedFilter::decode_log(log) { + return Ok(ManagerWithMerkleVerificationEvents::UnpausedFilter(decoded)); + } + Err(ethers::core::abi::Error::InvalidData) + } + } + impl ::std::fmt::Display for ManagerWithMerkleVerificationEvents { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + match self { + ManagerWithMerkleVerificationEvents::AuthorityUpdatedFilter(element) => { + element.fmt(f) + } + ManagerWithMerkleVerificationEvents::BoringVaultManagedFilter(element) => { + element.fmt(f) + } + ManagerWithMerkleVerificationEvents::ManageRootUpdatedFilter(element) => { + element.fmt(f) + } + ManagerWithMerkleVerificationEvents::OwnershipTransferredFilter(element) => { + element.fmt(f) + } + ManagerWithMerkleVerificationEvents::PausedFilter(element) => element.fmt(f), + ManagerWithMerkleVerificationEvents::UnpausedFilter(element) => element.fmt(f), + } + } + } + #[doc = "Container type for all input parameters for the `authority`function with signature `authority()` and selector `[191, 126, 33, 79]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "authority", abi = "authority()")] + pub struct AuthorityCall; + #[doc = "Container type for all input parameters for the `balancerVault`function with signature `balancerVault()` and selector `[21, 130, 116, 165]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "balancerVault", abi = "balancerVault()")] + pub struct BalancerVaultCall; + #[doc = "Container type for all input parameters for the `flashLoan`function with signature `flashLoan(address,address[],uint256[],bytes)` and selector `[92, 56, 68, 158]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall( + name = "flashLoan", + abi = "flashLoan(address,address[],uint256[],bytes)" + )] + pub struct FlashLoanCall { + pub recipient: ethers::core::types::Address, + pub tokens: ::std::vec::Vec, + pub amounts: ::std::vec::Vec, + pub user_data: ethers::core::types::Bytes, + } + #[doc = "Container type for all input parameters for the `isPaused`function with signature `isPaused()` and selector `[177, 135, 189, 38]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "isPaused", abi = "isPaused()")] + pub struct IsPausedCall; + #[doc = "Container type for all input parameters for the `manageRoot`function with signature `manageRoot(address)` and selector `[92, 165, 138, 153]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "manageRoot", abi = "manageRoot(address)")] + pub struct ManageRootCall(pub ethers::core::types::Address); + #[doc = "Container type for all input parameters for the `manageVaultWithMerkleVerification`function with signature `manageVaultWithMerkleVerification(bytes32[][],address[],address[],bytes[],uint256[])` and selector `[36, 75, 15, 106]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall( + name = "manageVaultWithMerkleVerification", + abi = "manageVaultWithMerkleVerification(bytes32[][],address[],address[],bytes[],uint256[])" + )] + pub struct ManageVaultWithMerkleVerificationCall { + pub manage_proofs: ::std::vec::Vec<::std::vec::Vec<[u8; 32]>>, + pub decoders_and_sanitizers: ::std::vec::Vec, + pub targets: ::std::vec::Vec, + pub target_data: ::std::vec::Vec, + pub values: ::std::vec::Vec, + } + #[doc = "Container type for all input parameters for the `owner`function with signature `owner()` and selector `[141, 165, 203, 91]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "owner", abi = "owner()")] + pub struct OwnerCall; + #[doc = "Container type for all input parameters for the `pause`function with signature `pause()` and selector `[132, 86, 203, 89]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "pause", abi = "pause()")] + pub struct PauseCall; + #[doc = "Container type for all input parameters for the `receiveFlashLoan`function with signature `receiveFlashLoan(address[],uint256[],uint256[],bytes)` and selector `[240, 79, 39, 7]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall( + name = "receiveFlashLoan", + abi = "receiveFlashLoan(address[],uint256[],uint256[],bytes)" + )] + pub struct ReceiveFlashLoanCall { + pub tokens: ::std::vec::Vec, + pub amounts: ::std::vec::Vec, + pub fee_amounts: ::std::vec::Vec, + pub user_data: ethers::core::types::Bytes, + } + #[doc = "Container type for all input parameters for the `setAuthority`function with signature `setAuthority(address)` and selector `[122, 158, 94, 75]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "setAuthority", abi = "setAuthority(address)")] + pub struct SetAuthorityCall { + pub new_authority: ethers::core::types::Address, + } + #[doc = "Container type for all input parameters for the `setManageRoot`function with signature `setManageRoot(address,bytes32)` and selector `[33, 128, 26, 153]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "setManageRoot", abi = "setManageRoot(address,bytes32)")] + pub struct SetManageRootCall { + pub strategist: ethers::core::types::Address, + pub manage_root: [u8; 32], + } + #[doc = "Container type for all input parameters for the `transferOwnership`function with signature `transferOwnership(address)` and selector `[242, 253, 227, 139]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "transferOwnership", abi = "transferOwnership(address)")] + pub struct TransferOwnershipCall { + pub new_owner: ethers::core::types::Address, + } + #[doc = "Container type for all input parameters for the `unpause`function with signature `unpause()` and selector `[63, 75, 168, 58]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "unpause", abi = "unpause()")] + pub struct UnpauseCall; + #[doc = "Container type for all input parameters for the `vault`function with signature `vault()` and selector `[251, 250, 119, 207]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "vault", abi = "vault()")] + pub struct VaultCall; + #[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)] + pub enum ManagerWithMerkleVerificationCalls { + Authority(AuthorityCall), + BalancerVault(BalancerVaultCall), + FlashLoan(FlashLoanCall), + IsPaused(IsPausedCall), + ManageRoot(ManageRootCall), + ManageVaultWithMerkleVerification(ManageVaultWithMerkleVerificationCall), + Owner(OwnerCall), + Pause(PauseCall), + ReceiveFlashLoan(ReceiveFlashLoanCall), + SetAuthority(SetAuthorityCall), + SetManageRoot(SetManageRootCall), + TransferOwnership(TransferOwnershipCall), + Unpause(UnpauseCall), + Vault(VaultCall), + } + impl ethers::core::abi::AbiDecode for ManagerWithMerkleVerificationCalls { + fn decode(data: impl AsRef<[u8]>) -> Result { + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(ManagerWithMerkleVerificationCalls::Authority(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(ManagerWithMerkleVerificationCalls::BalancerVault(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(ManagerWithMerkleVerificationCalls::FlashLoan(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(ManagerWithMerkleVerificationCalls::IsPaused(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(ManagerWithMerkleVerificationCalls::ManageRoot(decoded)); + } + if let Ok(decoded) = + ::decode( + data.as_ref(), + ) + { + return Ok( + ManagerWithMerkleVerificationCalls::ManageVaultWithMerkleVerification(decoded), + ); + } + if let Ok(decoded) = ::decode(data.as_ref()) + { + return Ok(ManagerWithMerkleVerificationCalls::Owner(decoded)); + } + if let Ok(decoded) = ::decode(data.as_ref()) + { + return Ok(ManagerWithMerkleVerificationCalls::Pause(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(ManagerWithMerkleVerificationCalls::ReceiveFlashLoan( + decoded, + )); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(ManagerWithMerkleVerificationCalls::SetAuthority(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(ManagerWithMerkleVerificationCalls::SetManageRoot(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(ManagerWithMerkleVerificationCalls::TransferOwnership( + decoded, + )); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(ManagerWithMerkleVerificationCalls::Unpause(decoded)); + } + if let Ok(decoded) = ::decode(data.as_ref()) + { + return Ok(ManagerWithMerkleVerificationCalls::Vault(decoded)); + } + Err(ethers::core::abi::Error::InvalidData.into()) + } + } + impl ethers::core::abi::AbiEncode for ManagerWithMerkleVerificationCalls { + fn encode(self) -> Vec { + match self { + ManagerWithMerkleVerificationCalls::Authority(element) => element.encode(), + ManagerWithMerkleVerificationCalls::BalancerVault(element) => element.encode(), + ManagerWithMerkleVerificationCalls::FlashLoan(element) => element.encode(), + ManagerWithMerkleVerificationCalls::IsPaused(element) => element.encode(), + ManagerWithMerkleVerificationCalls::ManageRoot(element) => element.encode(), + ManagerWithMerkleVerificationCalls::ManageVaultWithMerkleVerification(element) => { + element.encode() + } + ManagerWithMerkleVerificationCalls::Owner(element) => element.encode(), + ManagerWithMerkleVerificationCalls::Pause(element) => element.encode(), + ManagerWithMerkleVerificationCalls::ReceiveFlashLoan(element) => element.encode(), + ManagerWithMerkleVerificationCalls::SetAuthority(element) => element.encode(), + ManagerWithMerkleVerificationCalls::SetManageRoot(element) => element.encode(), + ManagerWithMerkleVerificationCalls::TransferOwnership(element) => element.encode(), + ManagerWithMerkleVerificationCalls::Unpause(element) => element.encode(), + ManagerWithMerkleVerificationCalls::Vault(element) => element.encode(), + } + } + } + impl ::std::fmt::Display for ManagerWithMerkleVerificationCalls { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + match self { + ManagerWithMerkleVerificationCalls::Authority(element) => element.fmt(f), + ManagerWithMerkleVerificationCalls::BalancerVault(element) => element.fmt(f), + ManagerWithMerkleVerificationCalls::FlashLoan(element) => element.fmt(f), + ManagerWithMerkleVerificationCalls::IsPaused(element) => element.fmt(f), + ManagerWithMerkleVerificationCalls::ManageRoot(element) => element.fmt(f), + ManagerWithMerkleVerificationCalls::ManageVaultWithMerkleVerification(element) => { + element.fmt(f) + } + ManagerWithMerkleVerificationCalls::Owner(element) => element.fmt(f), + ManagerWithMerkleVerificationCalls::Pause(element) => element.fmt(f), + ManagerWithMerkleVerificationCalls::ReceiveFlashLoan(element) => element.fmt(f), + ManagerWithMerkleVerificationCalls::SetAuthority(element) => element.fmt(f), + ManagerWithMerkleVerificationCalls::SetManageRoot(element) => element.fmt(f), + ManagerWithMerkleVerificationCalls::TransferOwnership(element) => element.fmt(f), + ManagerWithMerkleVerificationCalls::Unpause(element) => element.fmt(f), + ManagerWithMerkleVerificationCalls::Vault(element) => element.fmt(f), + } + } + } + impl ::std::convert::From for ManagerWithMerkleVerificationCalls { + fn from(var: AuthorityCall) -> Self { + ManagerWithMerkleVerificationCalls::Authority(var) + } + } + impl ::std::convert::From for ManagerWithMerkleVerificationCalls { + fn from(var: BalancerVaultCall) -> Self { + ManagerWithMerkleVerificationCalls::BalancerVault(var) + } + } + impl ::std::convert::From for ManagerWithMerkleVerificationCalls { + fn from(var: FlashLoanCall) -> Self { + ManagerWithMerkleVerificationCalls::FlashLoan(var) + } + } + impl ::std::convert::From for ManagerWithMerkleVerificationCalls { + fn from(var: IsPausedCall) -> Self { + ManagerWithMerkleVerificationCalls::IsPaused(var) + } + } + impl ::std::convert::From for ManagerWithMerkleVerificationCalls { + fn from(var: ManageRootCall) -> Self { + ManagerWithMerkleVerificationCalls::ManageRoot(var) + } + } + impl ::std::convert::From + for ManagerWithMerkleVerificationCalls + { + fn from(var: ManageVaultWithMerkleVerificationCall) -> Self { + ManagerWithMerkleVerificationCalls::ManageVaultWithMerkleVerification(var) + } + } + impl ::std::convert::From for ManagerWithMerkleVerificationCalls { + fn from(var: OwnerCall) -> Self { + ManagerWithMerkleVerificationCalls::Owner(var) + } + } + impl ::std::convert::From for ManagerWithMerkleVerificationCalls { + fn from(var: PauseCall) -> Self { + ManagerWithMerkleVerificationCalls::Pause(var) + } + } + impl ::std::convert::From for ManagerWithMerkleVerificationCalls { + fn from(var: ReceiveFlashLoanCall) -> Self { + ManagerWithMerkleVerificationCalls::ReceiveFlashLoan(var) + } + } + impl ::std::convert::From for ManagerWithMerkleVerificationCalls { + fn from(var: SetAuthorityCall) -> Self { + ManagerWithMerkleVerificationCalls::SetAuthority(var) + } + } + impl ::std::convert::From for ManagerWithMerkleVerificationCalls { + fn from(var: SetManageRootCall) -> Self { + ManagerWithMerkleVerificationCalls::SetManageRoot(var) + } + } + impl ::std::convert::From for ManagerWithMerkleVerificationCalls { + fn from(var: TransferOwnershipCall) -> Self { + ManagerWithMerkleVerificationCalls::TransferOwnership(var) + } + } + impl ::std::convert::From for ManagerWithMerkleVerificationCalls { + fn from(var: UnpauseCall) -> Self { + ManagerWithMerkleVerificationCalls::Unpause(var) + } + } + impl ::std::convert::From for ManagerWithMerkleVerificationCalls { + fn from(var: VaultCall) -> Self { + ManagerWithMerkleVerificationCalls::Vault(var) + } + } +} diff --git a/src/lib.rs b/src/lib.rs index c72c9875..8e1723e7 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -195,6 +195,12 @@ pub mod abi { pub mod zero_x_adaptor_v1 { include!("gen/abi/zero_x_adaptor_v1.rs"); } + + pub mod boring_vault { + pub mod manager_with_merkle_verification { + include!("gen/abi/boring_vault/manager_with_merkle_verification.rs"); + } + } } } From c8e9b047047d2b858ef72f57b420dec029c01442 Mon Sep 17 00:00:00 2001 From: Collin Brittain Date: Thu, 14 Nov 2024 11:52:51 -0600 Subject: [PATCH 03/10] Add Boring Vault Manager protos --- build.rs | 6 ++- crates/steward-proto/src/gen/descriptor.bin | Bin 245040 -> 246700 bytes crates/steward-proto/src/gen/steward.v4.rs | 47 ++++++++++++++++-- hash_proto | 2 +- .../steward/v4/boring_vault/v1/manager.proto | 33 ++++++++++++ proto/steward/v4/steward.proto | 7 +-- 6 files changed, 86 insertions(+), 9 deletions(-) create mode 100644 proto/steward/v4/boring_vault/v1/manager.proto diff --git a/build.rs b/build.rs index fe6c17fe..0ad65252 100644 --- a/build.rs +++ b/build.rs @@ -168,9 +168,11 @@ fn generate_rust_protos() { let tmp_dir = Path::new(&TMP_PATH); let root = env!("CARGO_MANIFEST_DIR"); let root: PathBuf = root.parse().unwrap(); - let mut steward_proto_dir = root; + let mut steward_proto_dir = root.clone(); steward_proto_dir.push("proto/steward/v4"); - let steward_proto_dir = [steward_proto_dir]; + let mut boring_vault_proto_dir = root; + boring_vault_proto_dir.push("proto/steward/v4/boring_vault/v1"); + let steward_proto_dir = [steward_proto_dir, boring_vault_proto_dir]; // List available proto files let mut protos: Vec = vec![]; diff --git a/crates/steward-proto/src/gen/descriptor.bin b/crates/steward-proto/src/gen/descriptor.bin index fb227094bc8507739a457ee67f109a642caecfde..f9a42657b0ec41a430e96deaf15d43070a79054f 100644 GIT binary patch delta 2763 zcmbVNO>Y}j6rGv(Y|lI=jx$M|v75w`@=-S_E=?;CDQOxvP181Q5~poQ5q14BZLFkr z7&{+jfmu{y!v>8iroLO8IsSbw2vmn%1O8~OFs`r(Zuhi~O8`J3Axzt+=uOjs)8 zo?hXH7x;l?FP7`e7c6^a)w*KYJ5=F3#n--+Ya^C2R+LIYx(t>Whicv(LE)Z;|kCgQu(2}{6e;WjCN_yf-I<0Dw)pxhJ0v1xNo|*X^LWOvskU5kYc^& z+$HiLBor#?RFh1ZF-E8)>qJvuWo-;PDoz;f3;+cbtYsLDae(2e1s%zv6p;AfKmt9AvYzC zBC3%{ZV&dxGVaZ#S~45CI)FxhIoI82`N&v= zg+xGrM?_i}0=j|yww~1|*6GNEW z*tO3L)!i${_Obx*@KYk0zc)|)$Ks4LwYZ!wS90Z&p&=>FhFpBMq$ikKvhtX*( z&gAFhPpW<0$Dediy6v3!g8arbrVu{M(t(`=56EYVd~)aeugJ74AK!^RB+K$d*q!i@ zPDa(DH?$!P^r-u!@racWj2=C5%|Cc3GHtg*2F zoK&#J@SJ8{mZp<&8h4(3L(WfWV2w9f8d&2^mIl^%%)pvasI1eBbXKe!J|-E}V6Q_> z=A%F9eDsLCF*NDv;2R<)!{TWJL1!}B>DDasxtZcMpBb8J#&g9fFE1hxKZRJUJi) z&V;-DGsw;K8f>1^_(r`*F9i~(OegV>oN?|xCc(x<*5#>!IqO}OqVSD23uE~91>$G% zVIM(tHhtKmp{Y4F=^gO}Hm62?1ln9@!bhOZ;q{6h0Omn!hy(<@`6iD)?fE8;58Zr| zM|F}_U+^R;XjxVF5op=20Uv>u9o+AwgGmcbS^%^KK|7A_0^lt)c>(Yiz~iGrbh;>A z6<5HET2x~!1uqG|f+gqYZ^=+<$@3oH5U~^%`x*#3OW4=r&_U5T=g1Q>@lFnx$dv;+ z%}Yh0%=71=%#8_f+NTAuQSjLV`k1jGcoV-s!Tu>iqD8oIAa&8Lm{2 zOO>hV`T>BZ%TzogAV`(F_xWd#Di0*tDk=!_SzB?geMc&p6{>m>d;(T9F;|E{{0ioZ zcM{TRMXHHT_yezCY7Rmt#M7@ik*8#MXw7Q@-w?6pc?1NVHF$KwjmMGg6rYll4Z9i7 z^V(rChaoqwy|0h2B8r8vF2zv-p?pKE!$4k+rqfO7wkU`1fK9d6bwlIjY U3lIXgJY#_(C~K=H=Km1>0nf+qrvLx| delta 1315 zcmX|=%}*0S7{+(^own0iQCPlOkS|S4DTx|A7?l)DQ;RfES`EP%kzxtuvla;@9>4>M ziB}K%2WX53H5}ANBLw&lJa{oC-qj0NPd>9dySII2p5ODn^X|;sXQy`moqW2Z?-(Cw z_>K9uUo<>kpQ{zuN-wH^n(cEhY0x;Ndg488>9MHb56i`c)dvfu2=CQntPpbat&-It zcxkR!T3%S4i-hZ2yL8OL$DJZ*v7okTZ+@iT^_5Tb%Fu`E)@K^g^=tOGeahBff1xg2 zqy=M|5wd8|UfQGNC42`Um=GsKK zVIs$neP&tIK_GDKtcrtzF>AJXdx*=nM?_v?T(j61yB+9A_1fR}X>5B;G^;>B0TUc(@86Fx`a zCVY;h)#sQ+d45(!GGKXbc?wv*x!Y5~@_lDiIn1ZvV*y|V7rTz)0dNJM3xF$tledH{ zHmTipr!SkD@ctsrnYj9N5jG&NH!Hg1)A6r%X*Ad;= zuKIpiw`#igFyz#&cAget)Wxe`*P>{Fn0)5z7@%w?Y_Sb((`_e=^$p(cOd~AYsj0z2 dV6Zh+1q#NR8Z6XFv{h?un+-l%tE^Wp{|5wklaBxZ diff --git a/crates/steward-proto/src/gen/steward.v4.rs b/crates/steward-proto/src/gen/steward.v4.rs index 8758f1fe..6ed9fc1f 100644 --- a/crates/steward-proto/src/gen/steward.v4.rs +++ b/crates/steward-proto/src/gen/steward.v4.rs @@ -5470,6 +5470,45 @@ pub mod governance_call { CellarV25(super::CellarV25governance), } } +#[derive(serde::Deserialize, serde::Serialize, Clone, PartialEq, ::prost::Message)] +pub struct BoringVaultManagerWithMerkleVerification { + #[prost( + oneof = "boring_vault_manager_with_merkle_verification::Function", + tags = "1, 2, 3" + )] + pub function: ::core::option::Option, +} +/// Nested message and enum types in `BoringVaultManagerWithMerkleVerification`. +pub mod boring_vault_manager_with_merkle_verification { + /// Represents function `setManageRoot(address strategist, bytes32 merkleRoot)` + #[derive(serde::Deserialize, serde::Serialize, Clone, PartialEq, ::prost::Message)] + pub struct SetManageRoot { + /// The address of the strategist + #[prost(string, tag = "1")] + pub strategist: ::prost::alloc::string::String, + /// The manage root to set + #[prost(string, tag = "2")] + pub manage_root: ::prost::alloc::string::String, + } + /// Represents function `pause()` + #[derive(serde::Deserialize, serde::Serialize, Clone, PartialEq, ::prost::Message)] + pub struct Pause {} + /// Represents function `unpause()` + #[derive(serde::Deserialize, serde::Serialize, Clone, PartialEq, ::prost::Message)] + pub struct Unpause {} + #[derive(serde::Deserialize, serde::Serialize, Clone, PartialEq, ::prost::Oneof)] + pub enum Function { + /// Represents function `setManageRoot(address strategist, bytes32 merkleRoot)` + #[prost(message, tag = "1")] + SetManageRoot(SetManageRoot), + /// Represents function `pause()` + #[prost(message, tag = "2")] + Pause(Pause), + /// Represents function `unpause()` + #[prost(message, tag = "3")] + Unpause(Unpause), + } +} /// /// Represents a scheduled function call to a particular Cellar #[derive(serde::Deserialize, serde::Serialize, Clone, PartialEq, ::prost::Message)] @@ -5481,13 +5520,13 @@ pub struct ScheduleRequest { #[prost(uint64, tag = "2")] pub block_height: u64, /// The ID of the chain on which the target Cellar resides - #[prost(uint64, tag = "8")] + #[prost(uint64, tag = "9")] pub chain_id: u64, /// The unix timestamp deadline for the contract call to be executed - #[prost(uint64, tag = "9")] + #[prost(uint64, tag = "10")] pub deadline: u64, /// The data from which the desired contract function will be encoded - #[prost(oneof = "schedule_request::CallData", tags = "3, 4, 5, 6, 7")] + #[prost(oneof = "schedule_request::CallData", tags = "3, 4, 5, 6, 7, 8")] pub call_data: ::core::option::Option, } /// Nested message and enum types in `ScheduleRequest`. @@ -5505,6 +5544,8 @@ pub mod schedule_request { CellarV22(super::CellarV22), #[prost(message, tag = "7")] CellarV25(super::CellarV25), + #[prost(message, tag = "8")] + BoringVaultManagerWithMerkleVerification(super::BoringVaultManagerWithMerkleVerification), } } #[derive(serde::Deserialize, serde::Serialize, Clone, PartialEq, ::prost::Message)] diff --git a/hash_proto b/hash_proto index 4d7f20fe..4ad41383 100644 --- a/hash_proto +++ b/hash_proto @@ -1 +1 @@ -4e0284025de03d59dfec8ca9913874737e4a310150543686ae35adbe406dbb42 \ No newline at end of file +f04d4830d2444ea05cb4447873b1ebae4110dcd891379d0a4aff094b7b8cd91d \ No newline at end of file diff --git a/proto/steward/v4/boring_vault/v1/manager.proto b/proto/steward/v4/boring_vault/v1/manager.proto new file mode 100644 index 00000000..d8ce0076 --- /dev/null +++ b/proto/steward/v4/boring_vault/v1/manager.proto @@ -0,0 +1,33 @@ +/* +* Protos for function calls to Boring Vault Manager contracts +*/ + +syntax = "proto3"; +package steward.v4; + +option go_package = "/steward_proto"; + +message BoringVaultManagerWithMerkleVerification { + oneof function { + // Represents function `setManageRoot(address strategist, bytes32 merkleRoot)` + SetManageRoot set_manage_root = 1; + // Represents function `pause()` + Pause pause = 2; + // Represents function `unpause()` + Unpause unpause = 3; + } + + // Represents function `setManageRoot(address strategist, bytes32 merkleRoot)` + message SetManageRoot { + // The address of the strategist + string strategist = 1; + // The manage root to set + string manage_root = 2; + } + + // Represents function `pause()` + message Pause {} + + // Represents function `unpause()` + message Unpause {} +} diff --git a/proto/steward/v4/steward.proto b/proto/steward/v4/steward.proto index 32367499..683e1490 100644 --- a/proto/steward/v4/steward.proto +++ b/proto/steward/v4/steward.proto @@ -12,7 +12,7 @@ option go_package = "/steward_proto"; import "aave_v2_stablecoin.proto"; import "cellar_v1.proto"; import "cellar_v2.proto"; - +import "boring_vault/v1/manager.proto"; /* * Service for handling Cellar contract calls */ @@ -56,11 +56,12 @@ message ScheduleRequest { CellarV2 cellar_v2 = 5; CellarV2_2 cellar_v2_2 = 6; CellarV2_5 cellar_v2_5 = 7; + BoringVaultManagerWithMerkleVerification boring_vault_manager_with_merkle_verification = 8; } // The ID of the chain on which the target Cellar resides - uint64 chain_id = 8; + uint64 chain_id = 9; // The unix timestamp deadline for the contract call to be executed - uint64 deadline = 9; + uint64 deadline = 10; } message ScheduleResponse { From 9f09e90b972c98b5310ba01beef50e1ec710048e Mon Sep 17 00:00:00 2001 From: Collin Brittain Date: Thu, 14 Nov 2024 11:53:11 -0600 Subject: [PATCH 04/10] Delete old descriptor file --- src/gen/proto/descriptor.bin | Bin 125918 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/gen/proto/descriptor.bin diff --git a/src/gen/proto/descriptor.bin b/src/gen/proto/descriptor.bin deleted file mode 100644 index 43d79776eacf73492023af263e390d57dcfb98dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 125918 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 E0Mj4u*8l(j From 1c8d39bf34810abaaba77963f85dd08845b7e22d Mon Sep 17 00:00:00 2001 From: Collin Brittain Date: Thu, 14 Nov 2024 12:20:51 -0600 Subject: [PATCH 05/10] Fmt build.rs --- build.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/build.rs b/build.rs index 0ad65252..dea835bc 100644 --- a/build.rs +++ b/build.rs @@ -125,7 +125,10 @@ fn generate_contract_abis() { ("ERC4626AdaptorV1", "erc4626_adaptor_v1"), ("StakingAdaptorV1", "staking_adaptor_v1"), ("PendleAdaptorV1", "pendle_adaptor_v1"), - ("boring-vault/ManagerWithMerkleVerification", "boring_vault/manager_with_merkle_verification"), + ( + "boring-vault/ManagerWithMerkleVerification", + "boring_vault/manager_with_merkle_verification", + ), ]; contracts.iter().for_each(|n| { From 8a2a4f57d7758bf17af64e38ca748e95f5587508 Mon Sep 17 00:00:00 2001 From: Collin Brittain Date: Thu, 14 Nov 2024 12:21:18 -0600 Subject: [PATCH 06/10] Add encoding handlers for ManagerWithMerkleVerification ABI --- src/cellars.rs | 1 + ..._vault_manager_with_merkle_verification.rs | 56 +++++++++++++++++++ src/cork.rs | 15 ++++- 3 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 src/cellars/boring_vault_manager_with_merkle_verification.rs diff --git a/src/cellars.rs b/src/cellars.rs index 080d0e8e..a4b601b7 100644 --- a/src/cellars.rs +++ b/src/cellars.rs @@ -12,6 +12,7 @@ pub type CachePriceRouterArgs = (bool, u32, Option); pub(crate) mod aave_v2_stablecoin; pub(crate) mod adaptors; +pub(crate) mod boring_vault_manager_with_merkle_verification; pub(crate) mod cellar_v1; pub(crate) mod cellar_v2; pub(crate) mod cellar_v2_2; diff --git a/src/cellars/boring_vault_manager_with_merkle_verification.rs b/src/cellars/boring_vault_manager_with_merkle_verification.rs new file mode 100644 index 00000000..f826a85f --- /dev/null +++ b/src/cellars/boring_vault_manager_with_merkle_verification.rs @@ -0,0 +1,56 @@ +use ethers::{abi::AbiEncode, contract::EthCall}; +use steward_proto::proto::boring_vault_manager_with_merkle_verification::Function; + +use crate::{ + abi::adaptors::boring_vault::manager_with_merkle_verification::{ + ManagerWithMerkleVerificationCalls, PauseCall, SetManageRootCall, UnpauseCall, + }, + error::{Error, ErrorKind}, + utils::sp_call_parse_address, +}; + +use super::log_cellar_call; + +const CELLAR_NAME: &str = "ManagerWithMerkleVerification"; + +pub fn get_encoded_call(function: Function, cellar_id: String) -> Result, Error> { + get_call(function, cellar_id).map(|call| call.encode()) +} + +pub fn get_call( + function: Function, + cellar_id: String, +) -> Result { + match function { + Function::SetManageRoot(params) => { + log_cellar_call(CELLAR_NAME, &SetManageRootCall::function_name(), &cellar_id); + + let strategist = sp_call_parse_address(params.strategist)?; + let manage_root = hex::decode(params.manage_root) + .map_err(|e| { + ErrorKind::SPCallError.context(format!("failed to decode manage_root: {e}")) + })? + .try_into() + .map_err(|_| { + ErrorKind::SPCallError.context("manage_root must be 32 bytes".to_string()) + })?; + + let call = SetManageRootCall { + strategist, + manage_root, + }; + + Ok(ManagerWithMerkleVerificationCalls::SetManageRoot(call)) + } + Function::Pause(_) => { + log_cellar_call(CELLAR_NAME, &PauseCall::function_name(), &cellar_id); + let call = PauseCall {}; + Ok(ManagerWithMerkleVerificationCalls::Pause(call)) + } + Function::Unpause(_) => { + log_cellar_call(CELLAR_NAME, &UnpauseCall::function_name(), &cellar_id); + let call = UnpauseCall {}; + Ok(ManagerWithMerkleVerificationCalls::Unpause(call)) + } + } +} diff --git a/src/cork.rs b/src/cork.rs index 7863bdf8..410c1059 100644 --- a/src/cork.rs +++ b/src/cork.rs @@ -9,7 +9,10 @@ use tonic::{self, async_trait, Code, Request, Response, Status}; use crate::cellars::to_checksum_address; use crate::server::handle_authorization; use crate::{ - cellars::{self, aave_v2_stablecoin, cellar_v1, cellar_v2, cellar_v2_2, cellar_v2_5}, + cellars::{ + self, aave_v2_stablecoin, boring_vault_manager_with_merkle_verification, cellar_v1, + cellar_v2, cellar_v2_2, cellar_v2_5, + }, error::{ Error, ErrorKind::{self, *}, @@ -147,6 +150,16 @@ pub fn get_encoded_call(request: ScheduleRequest) -> Result, Error> { cellar_v2_5::get_encoded_call(call.call_type.unwrap(), request.cellar_id) } + BoringVaultManagerWithMerkleVerification(call) => { + if call.function.is_none() { + return Err(ErrorKind::Http.context("empty function data").into()); + } + + boring_vault_manager_with_merkle_verification::get_encoded_call( + call.function.unwrap(), + request.cellar_id, + ) + } } } From 309d3494db348ba7f79591b5d02e94a67a987a8f Mon Sep 17 00:00:00 2001 From: Collin Brittain Date: Fri, 15 Nov 2024 09:52:12 -0600 Subject: [PATCH 07/10] Generate go protos --- .../steward_proto/a_token.pb.go | 2 +- ...2_enable_asset_as_collateral_adaptor.pb.go | 2 +- .../steward_proto/aave_v2_stablecoin.pb.go | 2 +- .../steward_proto/aave_v3_a_token.pb.go | 2 +- .../steward_proto/aave_v3_debt_token.pb.go | 2 +- .../aave_v3_debt_token_flash_loan.pb.go | 2 +- .../steward_proto/aura_erc4626.pb.go | 2 +- .../steward_proto/balancer_pool.pb.go | 2 +- .../balancer_pool_flash_loan.pb.go | 2 +- go/steward_proto_go/steward_proto/base.pb.go | 2 +- .../steward_proto/c_token.pb.go | 2 +- .../steward_proto/cellar_adaptor.pb.go | 2 +- .../steward_proto/cellar_v1.pb.go | 2 +- .../steward_proto/cellar_v2.pb.go | 2 +- .../steward_proto/collateral_f_token.pb.go | 2 +- .../steward_proto/common.pb.go | 2 +- .../steward_proto/convex_curve.pb.go | 2 +- go/steward_proto_go/steward_proto/curve.pb.go | 2 +- .../steward_proto/debt_f_token.pb.go | 2 +- .../steward_proto/debt_token.pb.go | 2 +- .../steward_proto/erc4626.pb.go | 2 +- .../steward_proto/f_token.pb.go | 2 +- .../steward_proto/fees_and_reserves.pb.go | 2 +- .../steward_proto/governance.pb.go | 2 +- .../steward_proto/legacy_cellar_adaptor.pb.go | 2 +- .../steward_proto/manager.pb.go | 408 ++++++++++++++++++ .../morpho_aave_v2_a_token.pb.go | 2 +- .../morpho_aave_v2_debt_token.pb.go | 2 +- .../morpho_aave_v3_a_token_collateral.pb.go | 2 +- .../morpho_aave_v3_a_token_p2p.pb.go | 2 +- .../morpho_aave_v3_debt_token.pb.go | 2 +- .../morpho_blue_collateral.pb.go | 2 +- .../steward_proto/morpho_blue_debt.pb.go | 2 +- .../steward_proto/morpho_blue_supply.pb.go | 2 +- .../steward_proto/morpho_reward_handler.pb.go | 2 +- .../steward_proto/oneinch.pb.go | 2 +- .../steward_proto/pendle.pb.go | 2 +- .../steward_proto/staking.pb.go | 2 +- .../steward_proto/steward.pb.go | 324 ++++++++------ .../steward_proto/steward_grpc.pb.go | 2 +- .../steward_proto/swap_with_uniswap.pb.go | 2 +- .../steward_proto/uniswap_v3.pb.go | 2 +- .../steward_proto/vesting_simple.pb.go | 2 +- .../steward_proto/zero_x.pb.go | 2 +- scripts/build_go_protos.sh | 2 + 45 files changed, 635 insertions(+), 183 deletions(-) create mode 100644 go/steward_proto_go/steward_proto/manager.pb.go diff --git a/go/steward_proto_go/steward_proto/a_token.pb.go b/go/steward_proto_go/steward_proto/a_token.pb.go index 8de3b7e5..bd885226 100644 --- a/go/steward_proto_go/steward_proto/a_token.pb.go +++ b/go/steward_proto_go/steward_proto/a_token.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: a_token.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/aave_v2_enable_asset_as_collateral_adaptor.pb.go b/go/steward_proto_go/steward_proto/aave_v2_enable_asset_as_collateral_adaptor.pb.go index 05616b10..3ac6268e 100644 --- a/go/steward_proto_go/steward_proto/aave_v2_enable_asset_as_collateral_adaptor.pb.go +++ b/go/steward_proto_go/steward_proto/aave_v2_enable_asset_as_collateral_adaptor.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: aave_v2_enable_asset_as_collateral_adaptor.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/aave_v2_stablecoin.pb.go b/go/steward_proto_go/steward_proto/aave_v2_stablecoin.pb.go index 834417dd..8c61e438 100644 --- a/go/steward_proto_go/steward_proto/aave_v2_stablecoin.pb.go +++ b/go/steward_proto_go/steward_proto/aave_v2_stablecoin.pb.go @@ -6,7 +6,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: aave_v2_stablecoin.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/aave_v3_a_token.pb.go b/go/steward_proto_go/steward_proto/aave_v3_a_token.pb.go index a563702f..c3804ff1 100644 --- a/go/steward_proto_go/steward_proto/aave_v3_a_token.pb.go +++ b/go/steward_proto_go/steward_proto/aave_v3_a_token.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: aave_v3_a_token.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/aave_v3_debt_token.pb.go b/go/steward_proto_go/steward_proto/aave_v3_debt_token.pb.go index 7445cd9b..17bd224b 100644 --- a/go/steward_proto_go/steward_proto/aave_v3_debt_token.pb.go +++ b/go/steward_proto_go/steward_proto/aave_v3_debt_token.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: aave_v3_debt_token.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/aave_v3_debt_token_flash_loan.pb.go b/go/steward_proto_go/steward_proto/aave_v3_debt_token_flash_loan.pb.go index 3725f810..5aeb626d 100644 --- a/go/steward_proto_go/steward_proto/aave_v3_debt_token_flash_loan.pb.go +++ b/go/steward_proto_go/steward_proto/aave_v3_debt_token_flash_loan.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: aave_v3_debt_token_flash_loan.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/aura_erc4626.pb.go b/go/steward_proto_go/steward_proto/aura_erc4626.pb.go index 634bd334..a309f32f 100644 --- a/go/steward_proto_go/steward_proto/aura_erc4626.pb.go +++ b/go/steward_proto_go/steward_proto/aura_erc4626.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: aura_erc4626.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/balancer_pool.pb.go b/go/steward_proto_go/steward_proto/balancer_pool.pb.go index 839d200f..f1bbfd24 100644 --- a/go/steward_proto_go/steward_proto/balancer_pool.pb.go +++ b/go/steward_proto_go/steward_proto/balancer_pool.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: balancer_pool.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/balancer_pool_flash_loan.pb.go b/go/steward_proto_go/steward_proto/balancer_pool_flash_loan.pb.go index 48a082fa..0a1ec395 100644 --- a/go/steward_proto_go/steward_proto/balancer_pool_flash_loan.pb.go +++ b/go/steward_proto_go/steward_proto/balancer_pool_flash_loan.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: balancer_pool_flash_loan.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/base.pb.go b/go/steward_proto_go/steward_proto/base.pb.go index 921de254..953a2a2f 100644 --- a/go/steward_proto_go/steward_proto/base.pb.go +++ b/go/steward_proto_go/steward_proto/base.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: base.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/c_token.pb.go b/go/steward_proto_go/steward_proto/c_token.pb.go index 1ddf0908..3673b9e3 100644 --- a/go/steward_proto_go/steward_proto/c_token.pb.go +++ b/go/steward_proto_go/steward_proto/c_token.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: c_token.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/cellar_adaptor.pb.go b/go/steward_proto_go/steward_proto/cellar_adaptor.pb.go index 5d8833f9..ca39a9d3 100644 --- a/go/steward_proto_go/steward_proto/cellar_adaptor.pb.go +++ b/go/steward_proto_go/steward_proto/cellar_adaptor.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: cellar_adaptor.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/cellar_v1.pb.go b/go/steward_proto_go/steward_proto/cellar_v1.pb.go index 85b60a7d..102d6f28 100644 --- a/go/steward_proto_go/steward_proto/cellar_v1.pb.go +++ b/go/steward_proto_go/steward_proto/cellar_v1.pb.go @@ -6,7 +6,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: cellar_v1.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/cellar_v2.pb.go b/go/steward_proto_go/steward_proto/cellar_v2.pb.go index 7d959f62..dd3e9c2d 100644 --- a/go/steward_proto_go/steward_proto/cellar_v2.pb.go +++ b/go/steward_proto_go/steward_proto/cellar_v2.pb.go @@ -6,7 +6,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: cellar_v2.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/collateral_f_token.pb.go b/go/steward_proto_go/steward_proto/collateral_f_token.pb.go index 6d398742..26be4336 100644 --- a/go/steward_proto_go/steward_proto/collateral_f_token.pb.go +++ b/go/steward_proto_go/steward_proto/collateral_f_token.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: collateral_f_token.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/common.pb.go b/go/steward_proto_go/steward_proto/common.pb.go index f89ed87c..30701880 100644 --- a/go/steward_proto_go/steward_proto/common.pb.go +++ b/go/steward_proto_go/steward_proto/common.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: common.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/convex_curve.pb.go b/go/steward_proto_go/steward_proto/convex_curve.pb.go index 670690d5..1e1369da 100644 --- a/go/steward_proto_go/steward_proto/convex_curve.pb.go +++ b/go/steward_proto_go/steward_proto/convex_curve.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: convex_curve.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/curve.pb.go b/go/steward_proto_go/steward_proto/curve.pb.go index 639b73a1..b4ab1a24 100644 --- a/go/steward_proto_go/steward_proto/curve.pb.go +++ b/go/steward_proto_go/steward_proto/curve.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: curve.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/debt_f_token.pb.go b/go/steward_proto_go/steward_proto/debt_f_token.pb.go index 7c89c571..0fd70686 100644 --- a/go/steward_proto_go/steward_proto/debt_f_token.pb.go +++ b/go/steward_proto_go/steward_proto/debt_f_token.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: debt_f_token.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/debt_token.pb.go b/go/steward_proto_go/steward_proto/debt_token.pb.go index 9a67dabc..5d80592b 100644 --- a/go/steward_proto_go/steward_proto/debt_token.pb.go +++ b/go/steward_proto_go/steward_proto/debt_token.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: debt_token.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/erc4626.pb.go b/go/steward_proto_go/steward_proto/erc4626.pb.go index f4958ef8..079fd6aa 100644 --- a/go/steward_proto_go/steward_proto/erc4626.pb.go +++ b/go/steward_proto_go/steward_proto/erc4626.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: erc4626.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/f_token.pb.go b/go/steward_proto_go/steward_proto/f_token.pb.go index f5130bbd..a3a82cae 100644 --- a/go/steward_proto_go/steward_proto/f_token.pb.go +++ b/go/steward_proto_go/steward_proto/f_token.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: f_token.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/fees_and_reserves.pb.go b/go/steward_proto_go/steward_proto/fees_and_reserves.pb.go index 2854ce35..02390fd3 100644 --- a/go/steward_proto_go/steward_proto/fees_and_reserves.pb.go +++ b/go/steward_proto_go/steward_proto/fees_and_reserves.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: fees_and_reserves.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/governance.pb.go b/go/steward_proto_go/steward_proto/governance.pb.go index 055114e3..e8ea4ce7 100644 --- a/go/steward_proto_go/steward_proto/governance.pb.go +++ b/go/steward_proto_go/steward_proto/governance.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: governance.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/legacy_cellar_adaptor.pb.go b/go/steward_proto_go/steward_proto/legacy_cellar_adaptor.pb.go index 1fe429f0..eebacabf 100644 --- a/go/steward_proto_go/steward_proto/legacy_cellar_adaptor.pb.go +++ b/go/steward_proto_go/steward_proto/legacy_cellar_adaptor.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: legacy_cellar_adaptor.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/manager.pb.go b/go/steward_proto_go/steward_proto/manager.pb.go new file mode 100644 index 00000000..69bc8a6f --- /dev/null +++ b/go/steward_proto_go/steward_proto/manager.pb.go @@ -0,0 +1,408 @@ +// +// Protos for function calls to Boring Vault Manager contracts + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v5.27.1 +// source: boring_vault/v1/manager.proto + +package steward_proto + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type BoringVaultManagerWithMerkleVerification struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Function: + // + // *BoringVaultManagerWithMerkleVerification_SetManageRoot_ + // *BoringVaultManagerWithMerkleVerification_Pause_ + // *BoringVaultManagerWithMerkleVerification_Unpause_ + Function isBoringVaultManagerWithMerkleVerification_Function `protobuf_oneof:"function"` +} + +func (x *BoringVaultManagerWithMerkleVerification) Reset() { + *x = BoringVaultManagerWithMerkleVerification{} + if protoimpl.UnsafeEnabled { + mi := &file_boring_vault_v1_manager_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BoringVaultManagerWithMerkleVerification) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BoringVaultManagerWithMerkleVerification) ProtoMessage() {} + +func (x *BoringVaultManagerWithMerkleVerification) ProtoReflect() protoreflect.Message { + mi := &file_boring_vault_v1_manager_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BoringVaultManagerWithMerkleVerification.ProtoReflect.Descriptor instead. +func (*BoringVaultManagerWithMerkleVerification) Descriptor() ([]byte, []int) { + return file_boring_vault_v1_manager_proto_rawDescGZIP(), []int{0} +} + +func (m *BoringVaultManagerWithMerkleVerification) GetFunction() isBoringVaultManagerWithMerkleVerification_Function { + if m != nil { + return m.Function + } + return nil +} + +func (x *BoringVaultManagerWithMerkleVerification) GetSetManageRoot() *BoringVaultManagerWithMerkleVerification_SetManageRoot { + if x, ok := x.GetFunction().(*BoringVaultManagerWithMerkleVerification_SetManageRoot_); ok { + return x.SetManageRoot + } + return nil +} + +func (x *BoringVaultManagerWithMerkleVerification) GetPause() *BoringVaultManagerWithMerkleVerification_Pause { + if x, ok := x.GetFunction().(*BoringVaultManagerWithMerkleVerification_Pause_); ok { + return x.Pause + } + return nil +} + +func (x *BoringVaultManagerWithMerkleVerification) GetUnpause() *BoringVaultManagerWithMerkleVerification_Unpause { + if x, ok := x.GetFunction().(*BoringVaultManagerWithMerkleVerification_Unpause_); ok { + return x.Unpause + } + return nil +} + +type isBoringVaultManagerWithMerkleVerification_Function interface { + isBoringVaultManagerWithMerkleVerification_Function() +} + +type BoringVaultManagerWithMerkleVerification_SetManageRoot_ struct { + // Represents function `setManageRoot(address strategist, bytes32 merkleRoot)` + SetManageRoot *BoringVaultManagerWithMerkleVerification_SetManageRoot `protobuf:"bytes,1,opt,name=set_manage_root,json=setManageRoot,proto3,oneof"` +} + +type BoringVaultManagerWithMerkleVerification_Pause_ struct { + // Represents function `pause()` + Pause *BoringVaultManagerWithMerkleVerification_Pause `protobuf:"bytes,2,opt,name=pause,proto3,oneof"` +} + +type BoringVaultManagerWithMerkleVerification_Unpause_ struct { + // Represents function `unpause()` + Unpause *BoringVaultManagerWithMerkleVerification_Unpause `protobuf:"bytes,3,opt,name=unpause,proto3,oneof"` +} + +func (*BoringVaultManagerWithMerkleVerification_SetManageRoot_) isBoringVaultManagerWithMerkleVerification_Function() { +} + +func (*BoringVaultManagerWithMerkleVerification_Pause_) isBoringVaultManagerWithMerkleVerification_Function() { +} + +func (*BoringVaultManagerWithMerkleVerification_Unpause_) isBoringVaultManagerWithMerkleVerification_Function() { +} + +// Represents function `setManageRoot(address strategist, bytes32 merkleRoot)` +type BoringVaultManagerWithMerkleVerification_SetManageRoot struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The address of the strategist + Strategist string `protobuf:"bytes,1,opt,name=strategist,proto3" json:"strategist,omitempty"` + // The manage root to set + ManageRoot string `protobuf:"bytes,2,opt,name=manage_root,json=manageRoot,proto3" json:"manage_root,omitempty"` +} + +func (x *BoringVaultManagerWithMerkleVerification_SetManageRoot) Reset() { + *x = BoringVaultManagerWithMerkleVerification_SetManageRoot{} + if protoimpl.UnsafeEnabled { + mi := &file_boring_vault_v1_manager_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BoringVaultManagerWithMerkleVerification_SetManageRoot) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BoringVaultManagerWithMerkleVerification_SetManageRoot) ProtoMessage() {} + +func (x *BoringVaultManagerWithMerkleVerification_SetManageRoot) ProtoReflect() protoreflect.Message { + mi := &file_boring_vault_v1_manager_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BoringVaultManagerWithMerkleVerification_SetManageRoot.ProtoReflect.Descriptor instead. +func (*BoringVaultManagerWithMerkleVerification_SetManageRoot) Descriptor() ([]byte, []int) { + return file_boring_vault_v1_manager_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *BoringVaultManagerWithMerkleVerification_SetManageRoot) GetStrategist() string { + if x != nil { + return x.Strategist + } + return "" +} + +func (x *BoringVaultManagerWithMerkleVerification_SetManageRoot) GetManageRoot() string { + if x != nil { + return x.ManageRoot + } + return "" +} + +// Represents function `pause()` +type BoringVaultManagerWithMerkleVerification_Pause struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *BoringVaultManagerWithMerkleVerification_Pause) Reset() { + *x = BoringVaultManagerWithMerkleVerification_Pause{} + if protoimpl.UnsafeEnabled { + mi := &file_boring_vault_v1_manager_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BoringVaultManagerWithMerkleVerification_Pause) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BoringVaultManagerWithMerkleVerification_Pause) ProtoMessage() {} + +func (x *BoringVaultManagerWithMerkleVerification_Pause) ProtoReflect() protoreflect.Message { + mi := &file_boring_vault_v1_manager_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BoringVaultManagerWithMerkleVerification_Pause.ProtoReflect.Descriptor instead. +func (*BoringVaultManagerWithMerkleVerification_Pause) Descriptor() ([]byte, []int) { + return file_boring_vault_v1_manager_proto_rawDescGZIP(), []int{0, 1} +} + +// Represents function `unpause()` +type BoringVaultManagerWithMerkleVerification_Unpause struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *BoringVaultManagerWithMerkleVerification_Unpause) Reset() { + *x = BoringVaultManagerWithMerkleVerification_Unpause{} + if protoimpl.UnsafeEnabled { + mi := &file_boring_vault_v1_manager_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BoringVaultManagerWithMerkleVerification_Unpause) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BoringVaultManagerWithMerkleVerification_Unpause) ProtoMessage() {} + +func (x *BoringVaultManagerWithMerkleVerification_Unpause) ProtoReflect() protoreflect.Message { + mi := &file_boring_vault_v1_manager_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BoringVaultManagerWithMerkleVerification_Unpause.ProtoReflect.Descriptor instead. +func (*BoringVaultManagerWithMerkleVerification_Unpause) Descriptor() ([]byte, []int) { + return file_boring_vault_v1_manager_proto_rawDescGZIP(), []int{0, 2} +} + +var File_boring_vault_v1_manager_proto protoreflect.FileDescriptor + +var file_boring_vault_v1_manager_proto_rawDesc = []byte{ + 0x0a, 0x1d, 0x62, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x2f, 0x76, + 0x31, 0x2f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x0a, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x22, 0xb8, 0x03, 0x0a, 0x28, + 0x42, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6c, 0x0a, 0x0f, 0x73, 0x65, 0x74, 0x5f, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x42, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x42, + 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x52, 0x0a, 0x05, 0x70, 0x61, 0x75, 0x73, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, + 0x76, 0x34, 0x2e, 0x42, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x75, 0x73, + 0x65, 0x48, 0x00, 0x52, 0x05, 0x70, 0x61, 0x75, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x07, 0x75, 0x6e, + 0x70, 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x73, 0x74, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x42, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x75, 0x6c, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x4d, + 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x55, 0x6e, 0x70, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x07, 0x75, 0x6e, 0x70, + 0x61, 0x75, 0x73, 0x65, 0x1a, 0x50, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x5f, + 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x1a, 0x07, 0x0a, 0x05, 0x50, 0x61, 0x75, 0x73, 0x65, 0x1a, + 0x09, 0x0a, 0x07, 0x55, 0x6e, 0x70, 0x61, 0x75, 0x73, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x66, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x5a, 0x0e, 0x2f, 0x73, 0x74, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_boring_vault_v1_manager_proto_rawDescOnce sync.Once + file_boring_vault_v1_manager_proto_rawDescData = file_boring_vault_v1_manager_proto_rawDesc +) + +func file_boring_vault_v1_manager_proto_rawDescGZIP() []byte { + file_boring_vault_v1_manager_proto_rawDescOnce.Do(func() { + file_boring_vault_v1_manager_proto_rawDescData = protoimpl.X.CompressGZIP(file_boring_vault_v1_manager_proto_rawDescData) + }) + return file_boring_vault_v1_manager_proto_rawDescData +} + +var file_boring_vault_v1_manager_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_boring_vault_v1_manager_proto_goTypes = []interface{}{ + (*BoringVaultManagerWithMerkleVerification)(nil), // 0: steward.v4.BoringVaultManagerWithMerkleVerification + (*BoringVaultManagerWithMerkleVerification_SetManageRoot)(nil), // 1: steward.v4.BoringVaultManagerWithMerkleVerification.SetManageRoot + (*BoringVaultManagerWithMerkleVerification_Pause)(nil), // 2: steward.v4.BoringVaultManagerWithMerkleVerification.Pause + (*BoringVaultManagerWithMerkleVerification_Unpause)(nil), // 3: steward.v4.BoringVaultManagerWithMerkleVerification.Unpause +} +var file_boring_vault_v1_manager_proto_depIdxs = []int32{ + 1, // 0: steward.v4.BoringVaultManagerWithMerkleVerification.set_manage_root:type_name -> steward.v4.BoringVaultManagerWithMerkleVerification.SetManageRoot + 2, // 1: steward.v4.BoringVaultManagerWithMerkleVerification.pause:type_name -> steward.v4.BoringVaultManagerWithMerkleVerification.Pause + 3, // 2: steward.v4.BoringVaultManagerWithMerkleVerification.unpause:type_name -> steward.v4.BoringVaultManagerWithMerkleVerification.Unpause + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_boring_vault_v1_manager_proto_init() } +func file_boring_vault_v1_manager_proto_init() { + if File_boring_vault_v1_manager_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_boring_vault_v1_manager_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BoringVaultManagerWithMerkleVerification); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_boring_vault_v1_manager_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BoringVaultManagerWithMerkleVerification_SetManageRoot); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_boring_vault_v1_manager_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BoringVaultManagerWithMerkleVerification_Pause); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_boring_vault_v1_manager_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BoringVaultManagerWithMerkleVerification_Unpause); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_boring_vault_v1_manager_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*BoringVaultManagerWithMerkleVerification_SetManageRoot_)(nil), + (*BoringVaultManagerWithMerkleVerification_Pause_)(nil), + (*BoringVaultManagerWithMerkleVerification_Unpause_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_boring_vault_v1_manager_proto_rawDesc, + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_boring_vault_v1_manager_proto_goTypes, + DependencyIndexes: file_boring_vault_v1_manager_proto_depIdxs, + MessageInfos: file_boring_vault_v1_manager_proto_msgTypes, + }.Build() + File_boring_vault_v1_manager_proto = out.File + file_boring_vault_v1_manager_proto_rawDesc = nil + file_boring_vault_v1_manager_proto_goTypes = nil + file_boring_vault_v1_manager_proto_depIdxs = nil +} diff --git a/go/steward_proto_go/steward_proto/morpho_aave_v2_a_token.pb.go b/go/steward_proto_go/steward_proto/morpho_aave_v2_a_token.pb.go index d5099bd5..87d29f45 100644 --- a/go/steward_proto_go/steward_proto/morpho_aave_v2_a_token.pb.go +++ b/go/steward_proto_go/steward_proto/morpho_aave_v2_a_token.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: morpho_aave_v2_a_token.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/morpho_aave_v2_debt_token.pb.go b/go/steward_proto_go/steward_proto/morpho_aave_v2_debt_token.pb.go index 189d6b5e..d3ad237a 100644 --- a/go/steward_proto_go/steward_proto/morpho_aave_v2_debt_token.pb.go +++ b/go/steward_proto_go/steward_proto/morpho_aave_v2_debt_token.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: morpho_aave_v2_debt_token.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/morpho_aave_v3_a_token_collateral.pb.go b/go/steward_proto_go/steward_proto/morpho_aave_v3_a_token_collateral.pb.go index b0c33f71..473067f8 100644 --- a/go/steward_proto_go/steward_proto/morpho_aave_v3_a_token_collateral.pb.go +++ b/go/steward_proto_go/steward_proto/morpho_aave_v3_a_token_collateral.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: morpho_aave_v3_a_token_collateral.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/morpho_aave_v3_a_token_p2p.pb.go b/go/steward_proto_go/steward_proto/morpho_aave_v3_a_token_p2p.pb.go index b7f65c1c..1d7bfb1c 100644 --- a/go/steward_proto_go/steward_proto/morpho_aave_v3_a_token_p2p.pb.go +++ b/go/steward_proto_go/steward_proto/morpho_aave_v3_a_token_p2p.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: morpho_aave_v3_a_token_p2p.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/morpho_aave_v3_debt_token.pb.go b/go/steward_proto_go/steward_proto/morpho_aave_v3_debt_token.pb.go index b4c3c216..38ca3e92 100644 --- a/go/steward_proto_go/steward_proto/morpho_aave_v3_debt_token.pb.go +++ b/go/steward_proto_go/steward_proto/morpho_aave_v3_debt_token.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: morpho_aave_v3_debt_token.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/morpho_blue_collateral.pb.go b/go/steward_proto_go/steward_proto/morpho_blue_collateral.pb.go index f978808d..ce766ce2 100644 --- a/go/steward_proto_go/steward_proto/morpho_blue_collateral.pb.go +++ b/go/steward_proto_go/steward_proto/morpho_blue_collateral.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: morpho_blue_collateral.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/morpho_blue_debt.pb.go b/go/steward_proto_go/steward_proto/morpho_blue_debt.pb.go index 6cc62a61..4a299167 100644 --- a/go/steward_proto_go/steward_proto/morpho_blue_debt.pb.go +++ b/go/steward_proto_go/steward_proto/morpho_blue_debt.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: morpho_blue_debt.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/morpho_blue_supply.pb.go b/go/steward_proto_go/steward_proto/morpho_blue_supply.pb.go index 210821d9..00532824 100644 --- a/go/steward_proto_go/steward_proto/morpho_blue_supply.pb.go +++ b/go/steward_proto_go/steward_proto/morpho_blue_supply.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: morpho_blue_supply.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/morpho_reward_handler.pb.go b/go/steward_proto_go/steward_proto/morpho_reward_handler.pb.go index a292cb69..9a2293ad 100644 --- a/go/steward_proto_go/steward_proto/morpho_reward_handler.pb.go +++ b/go/steward_proto_go/steward_proto/morpho_reward_handler.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: morpho_reward_handler.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/oneinch.pb.go b/go/steward_proto_go/steward_proto/oneinch.pb.go index 422e09a0..dbdc61a1 100644 --- a/go/steward_proto_go/steward_proto/oneinch.pb.go +++ b/go/steward_proto_go/steward_proto/oneinch.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: oneinch.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/pendle.pb.go b/go/steward_proto_go/steward_proto/pendle.pb.go index 6068000e..cacfa564 100644 --- a/go/steward_proto_go/steward_proto/pendle.pb.go +++ b/go/steward_proto_go/steward_proto/pendle.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: pendle.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/staking.pb.go b/go/steward_proto_go/steward_proto/staking.pb.go index 488eaa4c..a37c456f 100644 --- a/go/steward_proto_go/steward_proto/staking.pb.go +++ b/go/steward_proto_go/steward_proto/staking.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: staking.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/steward.pb.go b/go/steward_proto_go/steward_proto/steward.pb.go index a38c9a38..ee2f7d43 100644 --- a/go/steward_proto_go/steward_proto/steward.pb.go +++ b/go/steward_proto_go/steward_proto/steward.pb.go @@ -6,7 +6,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: steward.proto package steward_proto @@ -44,11 +44,12 @@ type ScheduleRequest struct { // *ScheduleRequest_CellarV2 // *ScheduleRequest_CellarV2_2 // *ScheduleRequest_CellarV2_5 + // *ScheduleRequest_BoringVaultManagerWithMerkleVerification CallData isScheduleRequest_CallData `protobuf_oneof:"call_data"` // The ID of the chain on which the target Cellar resides - ChainId uint64 `protobuf:"varint,8,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` + ChainId uint64 `protobuf:"varint,9,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` // The unix timestamp deadline for the contract call to be executed - Deadline uint64 `protobuf:"varint,9,opt,name=deadline,proto3" json:"deadline,omitempty"` + Deadline uint64 `protobuf:"varint,10,opt,name=deadline,proto3" json:"deadline,omitempty"` } func (x *ScheduleRequest) Reset() { @@ -139,6 +140,13 @@ func (x *ScheduleRequest) GetCellarV2_5() *CellarV2_5 { return nil } +func (x *ScheduleRequest) GetBoringVaultManagerWithMerkleVerification() *BoringVaultManagerWithMerkleVerification { + if x, ok := x.GetCallData().(*ScheduleRequest_BoringVaultManagerWithMerkleVerification); ok { + return x.BoringVaultManagerWithMerkleVerification + } + return nil +} + func (x *ScheduleRequest) GetChainId() uint64 { if x != nil { return x.ChainId @@ -177,6 +185,10 @@ type ScheduleRequest_CellarV2_5 struct { CellarV2_5 *CellarV2_5 `protobuf:"bytes,7,opt,name=cellar_v2_5,json=cellarV25,proto3,oneof"` } +type ScheduleRequest_BoringVaultManagerWithMerkleVerification struct { + BoringVaultManagerWithMerkleVerification *BoringVaultManagerWithMerkleVerification `protobuf:"bytes,8,opt,name=boring_vault_manager_with_merkle_verification,json=boringVaultManagerWithMerkleVerification,proto3,oneof"` +} + func (*ScheduleRequest_AaveV2Stablecoin) isScheduleRequest_CallData() {} func (*ScheduleRequest_CellarV1) isScheduleRequest_CallData() {} @@ -187,6 +199,8 @@ func (*ScheduleRequest_CellarV2_2) isScheduleRequest_CallData() {} func (*ScheduleRequest_CellarV2_5) isScheduleRequest_CallData() {} +func (*ScheduleRequest_BoringVaultManagerWithMerkleVerification) isScheduleRequest_CallData() {} + type ScheduleResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -196,6 +210,8 @@ type ScheduleResponse struct { Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // The ID of the chain on which the target Cellar resides ChainId uint64 `protobuf:"varint,2,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` + // Invalidation scope for the gravity tx, keccak256 of the target contract address and encoded contract call + InvalidationScope string `protobuf:"bytes,3,opt,name=invalidation_scope,json=invalidationScope,proto3" json:"invalidation_scope,omitempty"` } func (x *ScheduleResponse) Reset() { @@ -244,6 +260,13 @@ func (x *ScheduleResponse) GetChainId() uint64 { return 0 } +func (x *ScheduleResponse) GetInvalidationScope() string { + if x != nil { + return x.InvalidationScope + } + return "" +} + type EncodeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -718,110 +741,125 @@ var file_steward_proto_rawDesc = []byte{ 0x65, 0x5f, 0x76, 0x32, 0x5f, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x5f, 0x76, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x5f, 0x76, - 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc1, 0x03, 0x0a, 0x0f, 0x53, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, - 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x4c, 0x0a, 0x12, 0x61, - 0x61, 0x76, 0x65, 0x5f, 0x76, 0x32, 0x5f, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x63, 0x6f, 0x69, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x41, 0x61, 0x76, 0x65, 0x56, 0x32, 0x53, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x63, 0x6f, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x61, 0x61, 0x76, 0x65, 0x56, 0x32, 0x53, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x63, 0x6f, 0x69, 0x6e, 0x12, 0x33, 0x0a, 0x09, 0x63, 0x65, 0x6c, - 0x6c, 0x61, 0x72, 0x5f, 0x76, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, - 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, - 0x56, 0x31, 0x48, 0x00, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x31, 0x12, 0x33, - 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x5f, 0x76, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x43, - 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x48, 0x00, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x61, - 0x72, 0x56, 0x32, 0x12, 0x38, 0x0a, 0x0b, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x5f, 0x76, 0x32, - 0x5f, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x5f, 0x32, - 0x48, 0x00, 0x52, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x32, 0x12, 0x38, 0x0a, - 0x0b, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x5f, 0x76, 0x32, 0x5f, 0x35, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, - 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x5f, 0x35, 0x48, 0x00, 0x52, 0x09, 0x63, 0x65, - 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x35, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x0b, - 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3d, 0x0a, 0x10, 0x53, - 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0xe5, 0x02, 0x0a, 0x0d, 0x45, - 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, - 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x12, 0x61, 0x61, 0x76, - 0x65, 0x5f, 0x76, 0x32, 0x5f, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x63, 0x6f, 0x69, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, - 0x76, 0x34, 0x2e, 0x41, 0x61, 0x76, 0x65, 0x56, 0x32, 0x53, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x63, - 0x6f, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x61, 0x61, 0x76, 0x65, 0x56, 0x32, 0x53, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x63, 0x6f, 0x69, 0x6e, 0x12, 0x33, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x61, - 0x72, 0x5f, 0x76, 0x31, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x74, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x31, - 0x48, 0x00, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x31, 0x12, 0x33, 0x0a, 0x09, - 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x5f, 0x76, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x14, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x43, 0x65, 0x6c, - 0x6c, 0x61, 0x72, 0x56, 0x32, 0x48, 0x00, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, - 0x32, 0x12, 0x38, 0x0a, 0x0b, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x5f, 0x76, 0x32, 0x5f, 0x32, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x2e, 0x76, 0x34, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x5f, 0x32, 0x48, 0x00, - 0x52, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x32, 0x12, 0x38, 0x0a, 0x0b, 0x63, - 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x5f, 0x76, 0x32, 0x5f, 0x35, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x16, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x43, 0x65, - 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x5f, 0x35, 0x48, 0x00, 0x52, 0x09, 0x63, 0x65, 0x6c, 0x6c, - 0x61, 0x72, 0x56, 0x32, 0x35, 0x42, 0x0b, 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x61, - 0x74, 0x61, 0x22, 0x33, 0x0a, 0x0e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x5f, - 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, - 0x64, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x22, 0x0f, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x2a, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x69, 0x0a, 0x0f, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, - 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x22, - 0x5a, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x5f, 0x63, - 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x64, - 0x65, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x22, 0x10, 0x0a, 0x0e, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x2b, 0x0a, - 0x0f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x5e, 0x0a, 0x13, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x47, 0x0a, 0x08, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x2e, - 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x73, 0x74, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x32, 0x54, 0x0a, 0x0f, 0x45, 0x6e, - 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x41, 0x0a, - 0x06, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, - 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x32, 0x66, 0x0a, 0x1b, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0x47, 0x0a, 0x08, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x2e, 0x73, 0x74, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x32, 0x55, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x07, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, - 0x34, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1b, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, - 0x10, 0x5a, 0x0e, 0x2f, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x62, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, + 0x76, 0x61, 0x75, 0x6c, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdb, 0x04, 0x0a, 0x0f, 0x53, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x65, + 0x6c, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, + 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x4c, 0x0a, 0x12, 0x61, 0x61, + 0x76, 0x65, 0x5f, 0x76, 0x32, 0x5f, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x63, 0x6f, 0x69, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x2e, 0x76, 0x34, 0x2e, 0x41, 0x61, 0x76, 0x65, 0x56, 0x32, 0x53, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x63, 0x6f, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x61, 0x61, 0x76, 0x65, 0x56, 0x32, 0x53, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x63, 0x6f, 0x69, 0x6e, 0x12, 0x33, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, + 0x61, 0x72, 0x5f, 0x76, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x74, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, + 0x31, 0x48, 0x00, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x31, 0x12, 0x33, 0x0a, + 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x5f, 0x76, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x43, 0x65, + 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x48, 0x00, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, + 0x56, 0x32, 0x12, 0x38, 0x0a, 0x0b, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x5f, 0x76, 0x32, 0x5f, + 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x5f, 0x32, 0x48, + 0x00, 0x52, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x32, 0x12, 0x38, 0x0a, 0x0b, + 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x5f, 0x76, 0x32, 0x5f, 0x35, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x43, + 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x5f, 0x35, 0x48, 0x00, 0x52, 0x09, 0x63, 0x65, 0x6c, + 0x6c, 0x61, 0x72, 0x56, 0x32, 0x35, 0x12, 0x97, 0x01, 0x0a, 0x2d, 0x62, 0x6f, 0x72, 0x69, 0x6e, + 0x67, 0x5f, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, + 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, + 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x42, 0x6f, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x57, 0x69, + 0x74, 0x68, 0x4d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x28, 0x62, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x75, 0x6c, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, + 0x72, 0x6b, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, + 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, + 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x5f, + 0x64, 0x61, 0x74, 0x61, 0x22, 0x6c, 0x0a, 0x10, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x11, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, + 0x70, 0x65, 0x22, 0xe5, 0x02, 0x0a, 0x0d, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x49, + 0x64, 0x12, 0x4c, 0x0a, 0x12, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x32, 0x5f, 0x73, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x41, 0x61, 0x76, 0x65, 0x56, + 0x32, 0x53, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x63, 0x6f, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x61, + 0x61, 0x76, 0x65, 0x56, 0x32, 0x53, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x63, 0x6f, 0x69, 0x6e, 0x12, + 0x33, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x5f, 0x76, 0x31, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, + 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x31, 0x48, 0x00, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, + 0x61, 0x72, 0x56, 0x31, 0x12, 0x33, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x5f, 0x76, + 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x48, 0x00, 0x52, + 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x12, 0x38, 0x0a, 0x0b, 0x63, 0x65, 0x6c, + 0x6c, 0x61, 0x72, 0x5f, 0x76, 0x32, 0x5f, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x43, 0x65, 0x6c, 0x6c, + 0x61, 0x72, 0x56, 0x32, 0x5f, 0x32, 0x48, 0x00, 0x52, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, + 0x56, 0x32, 0x32, 0x12, 0x38, 0x0a, 0x0b, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x5f, 0x76, 0x32, + 0x5f, 0x35, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x5f, 0x35, + 0x48, 0x00, 0x52, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x35, 0x42, 0x0b, 0x0a, + 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x22, 0x33, 0x0a, 0x0e, 0x45, 0x6e, + 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, + 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x22, + 0x0f, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x22, 0x2a, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x69, 0x0a, 0x0f, + 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x35, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, + 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6e, 0x63, + 0x6f, 0x64, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x5a, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, + 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x23, + 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, + 0x6f, 0x64, 0x79, 0x22, 0x10, 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x2b, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x32, 0x5e, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x43, 0x61, + 0x6c, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x08, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, + 0x76, 0x34, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, + 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x32, 0x54, 0x0a, 0x0f, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x12, + 0x19, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x45, 0x6e, 0x63, + 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x73, 0x74, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x32, 0x66, 0x0a, 0x1b, 0x53, 0x69, 0x6d, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x43, 0x61, 0x6c, 0x6c, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x08, 0x53, 0x69, 0x6d, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x12, 0x1b, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, + 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1c, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x53, 0x69, + 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x32, 0x55, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0x44, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x2e, 0x73, + 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x10, 0x5a, 0x0e, 0x2f, 0x73, 0x74, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -838,21 +876,22 @@ func file_steward_proto_rawDescGZIP() []byte { var file_steward_proto_msgTypes = make([]protoimpl.MessageInfo, 10) var file_steward_proto_goTypes = []interface{}{ - (*ScheduleRequest)(nil), // 0: steward.v4.ScheduleRequest - (*ScheduleResponse)(nil), // 1: steward.v4.ScheduleResponse - (*EncodeRequest)(nil), // 2: steward.v4.EncodeRequest - (*EncodeResponse)(nil), // 3: steward.v4.EncodeResponse - (*StatusRequest)(nil), // 4: steward.v4.StatusRequest - (*StatusResponse)(nil), // 5: steward.v4.StatusResponse - (*SimulateRequest)(nil), // 6: steward.v4.SimulateRequest - (*SimulateResponse)(nil), // 7: steward.v4.SimulateResponse - (*VersionRequest)(nil), // 8: steward.v4.VersionRequest - (*VersionResponse)(nil), // 9: steward.v4.VersionResponse - (*AaveV2Stablecoin)(nil), // 10: steward.v4.AaveV2Stablecoin - (*CellarV1)(nil), // 11: steward.v4.CellarV1 - (*CellarV2)(nil), // 12: steward.v4.CellarV2 - (*CellarV2_2)(nil), // 13: steward.v4.CellarV2_2 - (*CellarV2_5)(nil), // 14: steward.v4.CellarV2_5 + (*ScheduleRequest)(nil), // 0: steward.v4.ScheduleRequest + (*ScheduleResponse)(nil), // 1: steward.v4.ScheduleResponse + (*EncodeRequest)(nil), // 2: steward.v4.EncodeRequest + (*EncodeResponse)(nil), // 3: steward.v4.EncodeResponse + (*StatusRequest)(nil), // 4: steward.v4.StatusRequest + (*StatusResponse)(nil), // 5: steward.v4.StatusResponse + (*SimulateRequest)(nil), // 6: steward.v4.SimulateRequest + (*SimulateResponse)(nil), // 7: steward.v4.SimulateResponse + (*VersionRequest)(nil), // 8: steward.v4.VersionRequest + (*VersionResponse)(nil), // 9: steward.v4.VersionResponse + (*AaveV2Stablecoin)(nil), // 10: steward.v4.AaveV2Stablecoin + (*CellarV1)(nil), // 11: steward.v4.CellarV1 + (*CellarV2)(nil), // 12: steward.v4.CellarV2 + (*CellarV2_2)(nil), // 13: steward.v4.CellarV2_2 + (*CellarV2_5)(nil), // 14: steward.v4.CellarV2_5 + (*BoringVaultManagerWithMerkleVerification)(nil), // 15: steward.v4.BoringVaultManagerWithMerkleVerification } var file_steward_proto_depIdxs = []int32{ 10, // 0: steward.v4.ScheduleRequest.aave_v2_stablecoin:type_name -> steward.v4.AaveV2Stablecoin @@ -860,25 +899,26 @@ var file_steward_proto_depIdxs = []int32{ 12, // 2: steward.v4.ScheduleRequest.cellar_v2:type_name -> steward.v4.CellarV2 13, // 3: steward.v4.ScheduleRequest.cellar_v2_2:type_name -> steward.v4.CellarV2_2 14, // 4: steward.v4.ScheduleRequest.cellar_v2_5:type_name -> steward.v4.CellarV2_5 - 10, // 5: steward.v4.EncodeRequest.aave_v2_stablecoin:type_name -> steward.v4.AaveV2Stablecoin - 11, // 6: steward.v4.EncodeRequest.cellar_v1:type_name -> steward.v4.CellarV1 - 12, // 7: steward.v4.EncodeRequest.cellar_v2:type_name -> steward.v4.CellarV2 - 13, // 8: steward.v4.EncodeRequest.cellar_v2_2:type_name -> steward.v4.CellarV2_2 - 14, // 9: steward.v4.EncodeRequest.cellar_v2_5:type_name -> steward.v4.CellarV2_5 - 0, // 10: steward.v4.SimulateRequest.request:type_name -> steward.v4.ScheduleRequest - 0, // 11: steward.v4.ContractCallService.Schedule:input_type -> steward.v4.ScheduleRequest - 2, // 12: steward.v4.EncodingService.Encode:input_type -> steward.v4.EncodeRequest - 6, // 13: steward.v4.SimulateContractCallService.Simulate:input_type -> steward.v4.SimulateRequest - 8, // 14: steward.v4.StatusService.Version:input_type -> steward.v4.VersionRequest - 1, // 15: steward.v4.ContractCallService.Schedule:output_type -> steward.v4.ScheduleResponse - 3, // 16: steward.v4.EncodingService.Encode:output_type -> steward.v4.EncodeResponse - 7, // 17: steward.v4.SimulateContractCallService.Simulate:output_type -> steward.v4.SimulateResponse - 9, // 18: steward.v4.StatusService.Version:output_type -> steward.v4.VersionResponse - 15, // [15:19] is the sub-list for method output_type - 11, // [11:15] is the sub-list for method input_type - 11, // [11:11] is the sub-list for extension type_name - 11, // [11:11] is the sub-list for extension extendee - 0, // [0:11] is the sub-list for field type_name + 15, // 5: steward.v4.ScheduleRequest.boring_vault_manager_with_merkle_verification:type_name -> steward.v4.BoringVaultManagerWithMerkleVerification + 10, // 6: steward.v4.EncodeRequest.aave_v2_stablecoin:type_name -> steward.v4.AaveV2Stablecoin + 11, // 7: steward.v4.EncodeRequest.cellar_v1:type_name -> steward.v4.CellarV1 + 12, // 8: steward.v4.EncodeRequest.cellar_v2:type_name -> steward.v4.CellarV2 + 13, // 9: steward.v4.EncodeRequest.cellar_v2_2:type_name -> steward.v4.CellarV2_2 + 14, // 10: steward.v4.EncodeRequest.cellar_v2_5:type_name -> steward.v4.CellarV2_5 + 0, // 11: steward.v4.SimulateRequest.request:type_name -> steward.v4.ScheduleRequest + 0, // 12: steward.v4.ContractCallService.Schedule:input_type -> steward.v4.ScheduleRequest + 2, // 13: steward.v4.EncodingService.Encode:input_type -> steward.v4.EncodeRequest + 6, // 14: steward.v4.SimulateContractCallService.Simulate:input_type -> steward.v4.SimulateRequest + 8, // 15: steward.v4.StatusService.Version:input_type -> steward.v4.VersionRequest + 1, // 16: steward.v4.ContractCallService.Schedule:output_type -> steward.v4.ScheduleResponse + 3, // 17: steward.v4.EncodingService.Encode:output_type -> steward.v4.EncodeResponse + 7, // 18: steward.v4.SimulateContractCallService.Simulate:output_type -> steward.v4.SimulateResponse + 9, // 19: steward.v4.StatusService.Version:output_type -> steward.v4.VersionResponse + 16, // [16:20] is the sub-list for method output_type + 12, // [12:16] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name } func init() { file_steward_proto_init() } @@ -889,6 +929,7 @@ func file_steward_proto_init() { file_aave_v2_stablecoin_proto_init() file_cellar_v1_proto_init() file_cellar_v2_proto_init() + file_boring_vault_v1_manager_proto_init() if !protoimpl.UnsafeEnabled { file_steward_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScheduleRequest); i { @@ -1017,6 +1058,7 @@ func file_steward_proto_init() { (*ScheduleRequest_CellarV2)(nil), (*ScheduleRequest_CellarV2_2)(nil), (*ScheduleRequest_CellarV2_5)(nil), + (*ScheduleRequest_BoringVaultManagerWithMerkleVerification)(nil), } file_steward_proto_msgTypes[2].OneofWrappers = []interface{}{ (*EncodeRequest_AaveV2Stablecoin)(nil), diff --git a/go/steward_proto_go/steward_proto/steward_grpc.pb.go b/go/steward_proto_go/steward_proto/steward_grpc.pb.go index b4095ff1..8ac50ec4 100644 --- a/go/steward_proto_go/steward_proto/steward_grpc.pb.go +++ b/go/steward_proto_go/steward_proto/steward_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.2.0 -// - protoc v4.25.3 +// - protoc v5.27.1 // source: steward.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/swap_with_uniswap.pb.go b/go/steward_proto_go/steward_proto/swap_with_uniswap.pb.go index f1a818b2..1337fcd1 100644 --- a/go/steward_proto_go/steward_proto/swap_with_uniswap.pb.go +++ b/go/steward_proto_go/steward_proto/swap_with_uniswap.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: swap_with_uniswap.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/uniswap_v3.pb.go b/go/steward_proto_go/steward_proto/uniswap_v3.pb.go index c85e369e..903f4440 100644 --- a/go/steward_proto_go/steward_proto/uniswap_v3.pb.go +++ b/go/steward_proto_go/steward_proto/uniswap_v3.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: uniswap_v3.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/vesting_simple.pb.go b/go/steward_proto_go/steward_proto/vesting_simple.pb.go index 83726e1c..c426f624 100644 --- a/go/steward_proto_go/steward_proto/vesting_simple.pb.go +++ b/go/steward_proto_go/steward_proto/vesting_simple.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: vesting_simple.proto package steward_proto diff --git a/go/steward_proto_go/steward_proto/zero_x.pb.go b/go/steward_proto_go/steward_proto/zero_x.pb.go index f8cc8fdf..19d2a8dd 100644 --- a/go/steward_proto_go/steward_proto/zero_x.pb.go +++ b/go/steward_proto_go/steward_proto/zero_x.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: zero_x.proto package steward_proto diff --git a/scripts/build_go_protos.sh b/scripts/build_go_protos.sh index 2ddf3e56..302bd4ea 100755 --- a/scripts/build_go_protos.sh +++ b/scripts/build_go_protos.sh @@ -10,8 +10,10 @@ echo echo Building Go bindings. Output will be in ./steward_proto_go/steward_proto mkdir -p $GO_OUT protoc --proto_path=$PROTO_PATH \ + --proto_path=$PROTO_PATH/boring_vault/v1 \ --go_out=$GO_OUT/ \ --go-grpc_out=$GO_OUT/ \ $PROTO_PATH/*.proto \ + $PROTO_PATH/boring_vault/v1/*.proto echo Done! From 35ba0dc26e0b2cad4a77aeeccdfb59fd2b122c70 Mon Sep 17 00:00:00 2001 From: Collin Brittain Date: Fri, 15 Nov 2024 09:53:13 -0600 Subject: [PATCH 08/10] Update integration_tests package to support Sommelier v8 --- go.mod | 152 ++-- go.sum | 1303 +++++++++++++++++++++++----- integration_tests/chain.go | 92 +- integration_tests/genesis.go | 2 +- integration_tests/proposal_test.go | 4 +- integration_tests/setup_test.go | 65 +- integration_tests/validator.go | 14 +- 7 files changed, 1306 insertions(+), 326 deletions(-) diff --git a/go.mod b/go.mod index 4d5a5607..5b61778b 100644 --- a/go.mod +++ b/go.mod @@ -5,18 +5,18 @@ go 1.22 toolchain go1.22.1 require ( - cosmossdk.io/math v1.0.0-rc.0 - github.com/cosmos/cosmos-sdk v0.46.14 + cosmossdk.io/math v1.3.0 + github.com/cometbft/cometbft v0.37.5 + github.com/cosmos/cosmos-sdk v0.47.14 github.com/cosmos/go-bip39 v1.0.0 github.com/ethereum/go-ethereum v1.10.22 github.com/miguelmota/go-ethereum-hdwallet v0.1.1 github.com/ory/dockertest/v3 v3.10.0 - github.com/peggyjv/gravity-bridge/module/v4 v4.0.1 - github.com/peggyjv/sommelier/v7 v7.0.1 + github.com/peggyjv/gravity-bridge/module/v5 v5.0.0-20241023135054-397d3b1298c8 + github.com/peggyjv/sommelier/v8 v8.0.3 github.com/peggyjv/steward/steward_proto_go/steward_proto v0.0.0-20230323171404-00b2e7c3ae9d - github.com/spf13/viper v1.14.0 - github.com/stretchr/testify v1.8.4 - github.com/tendermint/tendermint v0.34.29 + github.com/spf13/viper v1.18.2 + github.com/stretchr/testify v1.9.0 google.golang.org/grpc v1.64.0 ) @@ -26,20 +26,25 @@ require ( cloud.google.com/go/compute/metadata v0.2.3 // indirect cloud.google.com/go/iam v1.1.6 // indirect cloud.google.com/go/storage v1.38.0 // indirect - cosmossdk.io/errors v1.0.0-beta.7 // indirect - filippo.io/edwards25519 v1.0.0-rc.1 // indirect + cosmossdk.io/api v0.3.1 // indirect + cosmossdk.io/core v0.5.1 // indirect + cosmossdk.io/depinject v1.0.0-alpha.4 // indirect + cosmossdk.io/errors v1.0.1 // indirect + cosmossdk.io/log v1.4.1 // indirect + cosmossdk.io/tools/rosetta v0.2.1 // indirect + filippo.io/edwards25519 v1.0.0 // indirect github.com/99designs/keyring v1.2.1 // indirect - github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect + github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect github.com/ChainSafe/go-schnorrkel v1.0.0 // indirect - github.com/Microsoft/go-winio v0.6.0 // indirect + github.com/DataDog/zstd v1.5.0 // indirect + github.com/Microsoft/go-winio v0.6.1 // indirect github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 // indirect github.com/StackExchange/wmi v1.2.1 // indirect - github.com/Workiva/go-datastructures v1.0.53 // indirect github.com/armon/go-metrics v0.4.1 // indirect - github.com/aws/aws-sdk-go v1.40.45 // indirect + github.com/aws/aws-sdk-go v1.44.203 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect - github.com/bgentry/speakeasy v0.1.0 // indirect + github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 // indirect github.com/btcsuite/btcd v0.22.1 // indirect github.com/btcsuite/btcd/btcec/v2 v2.3.2 // indirect github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 // indirect @@ -47,51 +52,60 @@ require ( github.com/cenkalti/backoff/v4 v4.1.3 // indirect github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect - github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e // indirect - github.com/cockroachdb/apd/v2 v2.0.2 // indirect + github.com/chzyer/readline v1.5.1 // indirect + github.com/cockroachdb/errors v1.11.1 // indirect + github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect + github.com/cockroachdb/pebble v1.1.0 // indirect + github.com/cockroachdb/redact v1.1.5 // indirect + github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/coinbase/rosetta-sdk-go v0.7.9 // indirect - github.com/cometbft/cometbft-db v0.7.0 // indirect + github.com/cometbft/cometbft-db v0.11.0 // indirect github.com/confio/ics23/go v0.9.0 // indirect github.com/containerd/continuity v0.3.0 // indirect github.com/cosmos/btcutil v1.0.5 // indirect - github.com/cosmos/cosmos-proto v1.0.0-alpha8 // indirect - github.com/cosmos/gorocksdb v1.2.0 // indirect - github.com/cosmos/iavl v0.19.6 // indirect - github.com/cosmos/ibc-go/v6 v6.2.0 // indirect + github.com/cosmos/cosmos-proto v1.0.0-beta.5 // indirect + github.com/cosmos/gogogateway v1.2.0 // indirect + github.com/cosmos/gogoproto v1.7.0 // indirect + github.com/cosmos/iavl v0.20.1 // indirect + github.com/cosmos/ibc-go/v7 v7.8.0 // indirect + github.com/cosmos/ics23/go v0.10.0 // indirect github.com/cosmos/ledger-cosmos-go v0.12.4 // indirect - github.com/creachadair/taskgroup v0.3.2 // indirect + github.com/cosmos/rosetta-sdk-go v0.10.0 // indirect + github.com/creachadair/taskgroup v0.4.2 // indirect github.com/danieljoos/wincred v1.1.2 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect + github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/deckarep/golang-set v1.8.0 // indirect github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect github.com/dgraph-io/badger/v2 v2.2007.4 // indirect - github.com/dgraph-io/ristretto v0.1.0 // indirect + github.com/dgraph-io/ristretto v0.1.1 // indirect github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect - github.com/docker/cli v20.10.17+incompatible // indirect - github.com/docker/docker v20.10.19+incompatible // indirect + github.com/docker/cli v23.0.1+incompatible // indirect + github.com/docker/docker v23.0.1+incompatible // indirect github.com/docker/go-connections v0.4.0 // indirect github.com/docker/go-units v0.5.0 // indirect - github.com/dustin/go-humanize v1.0.0 // indirect - github.com/dvsekhvalnov/jose2go v1.5.0 // indirect + github.com/dustin/go-humanize v1.0.1 // indirect + github.com/dvsekhvalnov/jose2go v1.6.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect - github.com/fsnotify/fsnotify v1.6.0 // indirect + github.com/fsnotify/fsnotify v1.7.0 // indirect + github.com/getsentry/sentry-go v0.23.0 // indirect github.com/go-kit/kit v0.12.0 // indirect github.com/go-kit/log v0.2.1 // indirect - github.com/go-logfmt/logfmt v0.5.1 // indirect + github.com/go-logfmt/logfmt v0.6.0 // indirect github.com/go-logr/logr v1.4.1 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.2.6 // indirect - github.com/go-playground/validator/v10 v10.4.1 // indirect github.com/go-stack/stack v1.8.0 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect - github.com/gogo/gateway v1.1.0 // indirect + github.com/gogo/googleapis v1.4.1 // indirect github.com/gogo/protobuf v1.3.3 // indirect github.com/golang/glog v1.2.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/mock v1.6.0 // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/btree v1.1.2 // indirect + github.com/google/go-cmp v0.6.0 // indirect github.com/google/orderedcode v0.0.1 // indirect github.com/google/s2a-go v0.1.7 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect @@ -107,93 +121,97 @@ require ( github.com/gtank/merlin v0.1.1 // indirect github.com/gtank/ristretto255 v0.1.2 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect - github.com/hashicorp/go-getter v1.6.1 // indirect + github.com/hashicorp/go-getter v1.7.5 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect github.com/hashicorp/go-safetemp v1.0.0 // indirect github.com/hashicorp/go-version v1.6.0 // indirect github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 // indirect + github.com/hdevalence/ed25519consensus v0.1.0 // indirect + github.com/huandu/skiplist v1.2.0 // indirect github.com/imdario/mergo v0.3.13 // indirect github.com/improbable-eng/grpc-web v0.15.0 // indirect - github.com/inconshreveable/mousetrap v1.0.1 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/jmhodges/levigo v1.0.0 // indirect github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d // indirect - github.com/klauspost/compress v1.16.0 // indirect + github.com/klauspost/compress v1.17.0 // indirect + github.com/kr/pretty v0.3.1 // indirect + github.com/kr/text v0.2.0 // indirect github.com/lib/pq v1.10.7 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect - github.com/magiconair/properties v1.8.6 // indirect + github.com/linxGnu/grocksdb v1.8.12 // indirect + github.com/magiconair/properties v1.8.7 // indirect github.com/manifoldco/promptui v0.9.0 // indirect github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.18 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect github.com/minio/highwayhash v1.0.2 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/go-testing-interface v1.14.1 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect - github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae // indirect + github.com/moby/term v0.0.0-20221205130635-1aeaba878587 // indirect github.com/mtibben/percent v0.2.1 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.0-rc2 // indirect github.com/opencontainers/runc v1.1.5 // indirect - github.com/pelletier/go-toml v1.9.5 // indirect - github.com/pelletier/go-toml/v2 v2.0.7 // indirect + github.com/pelletier/go-toml/v2 v2.1.0 // indirect github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 // indirect github.com/pkg/errors v0.9.1 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.14.0 // indirect github.com/prometheus/client_model v0.3.0 // indirect github.com/prometheus/common v0.42.0 // indirect - github.com/prometheus/procfs v0.9.0 // indirect + github.com/prometheus/procfs v0.12.0 // indirect github.com/rakyll/statik v0.1.7 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect - github.com/regen-network/cosmos-proto v0.3.1 // indirect github.com/rjeczalik/notify v0.9.1 // indirect - github.com/rs/cors v1.8.2 // indirect - github.com/rs/zerolog v1.29.1 // indirect + github.com/rogpeppe/go-internal v1.11.0 // indirect + github.com/rs/cors v1.8.3 // indirect + github.com/rs/zerolog v1.33.0 // indirect + github.com/sagikazarmark/locafero v0.4.0 // indirect + github.com/sagikazarmark/slog-shim v0.1.0 // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect github.com/sirupsen/logrus v1.9.0 // indirect - github.com/spf13/afero v1.9.2 // indirect - github.com/spf13/cast v1.5.0 // indirect - github.com/spf13/cobra v1.6.1 // indirect - github.com/spf13/jwalterweatherman v1.1.0 // indirect + github.com/sourcegraph/conc v0.3.0 // indirect + github.com/spf13/afero v1.11.0 // indirect + github.com/spf13/cast v1.6.0 // indirect + github.com/spf13/cobra v1.8.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/subosito/gotenv v1.4.1 // indirect + github.com/subosito/gotenv v1.6.0 // indirect github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect - github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c // indirect github.com/tendermint/go-amino v0.16.0 // indirect - github.com/tendermint/tm-db v0.6.7 // indirect - github.com/tidwall/btree v1.5.0 // indirect + github.com/tidwall/btree v1.6.0 // indirect github.com/tklauser/go-sysconf v0.3.9 // indirect github.com/tklauser/numcpus v0.3.0 // indirect github.com/tyler-smith/go-bip39 v1.0.2 // indirect - github.com/ulikunitz/xz v0.5.8 // indirect + github.com/ulikunitz/xz v0.5.11 // indirect github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect github.com/xeipuuv/gojsonschema v1.2.0 // indirect github.com/zondax/hid v0.9.2 // indirect github.com/zondax/ledger-go v0.14.3 // indirect - go.etcd.io/bbolt v1.3.6 // indirect + go.etcd.io/bbolt v1.3.8 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect go.opentelemetry.io/otel v1.24.0 // indirect go.opentelemetry.io/otel/metric v1.24.0 // indirect go.opentelemetry.io/otel/trace v1.24.0 // indirect + go.uber.org/multierr v1.10.0 // indirect golang.org/x/crypto v0.21.0 // indirect - golang.org/x/exp v0.0.0-20230310171629-522b1b587ee0 // indirect - golang.org/x/mod v0.9.0 // indirect - golang.org/x/net v0.22.0 // indirect + golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect + golang.org/x/mod v0.12.0 // indirect + golang.org/x/net v0.23.0 // indirect golang.org/x/oauth2 v0.18.0 // indirect golang.org/x/sync v0.6.0 // indirect - golang.org/x/sys v0.18.0 // indirect + golang.org/x/sys v0.22.0 // indirect golang.org/x/term v0.18.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/time v0.5.0 // indirect - golang.org/x/tools v0.7.0 // indirect + golang.org/x/tools v0.13.0 // indirect google.golang.org/api v0.169.0 // indirect google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 // indirect @@ -205,7 +223,8 @@ require ( gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect nhooyr.io/websocket v1.8.6 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect + pgregory.net/rapid v1.1.0 // indirect + sigs.k8s.io/yaml v1.4.0 // indirect ) replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 @@ -214,5 +233,10 @@ replace github.com/99designs/keyring => github.com/cosmos/keyring v1.1.7-0.20210 replace github.com/peggyjv/steward/steward_proto_go/steward_proto => ./go/steward_proto_go/steward_proto -// use cometbft -replace github.com/tendermint/tendermint => github.com/cometbft/cometbft v0.34.28 +replace github.com/cosmos/gogoproto => github.com/cosmos/gogoproto v1.4.10 + +replace github.com/syndtr/goleveldb => github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 + +replace golang.org/x/exp => golang.org/x/exp v0.0.0-20230711153332-06a737ee72cb + +exclude github.com/cometbft/cometbft v0.38.0 diff --git a/go.sum b/go.sum index 37812ff7..ef8c9a02 100644 --- a/go.sum +++ b/go.sum @@ -19,43 +19,527 @@ cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHOb cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= +cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= +cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= +cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= +cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= +cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= +cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= +cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= +cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U= +cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= +cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= +cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= +cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= +cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= +cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= +cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= cloud.google.com/go v0.112.1 h1:uJSeirPke5UNZHIb4SxfZklVSiWWVqW4oXlETwZziwM= cloud.google.com/go v0.112.1/go.mod h1:+Vbu+Y1UU+I1rjmzeMOb/8RfkKJK2Gyxi1X6jJCZLo4= +cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= +cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= +cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E= +cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o= +cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= +cloud.google.com/go/accesscontextmanager v1.6.0/go.mod h1:8XCvZWfYw3K/ji0iVnp+6pu7huxoQTLmxAbVjbloTtM= +cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= +cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= +cloud.google.com/go/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg= +cloud.google.com/go/aiplatform v1.35.0/go.mod h1:7MFT/vCaOyZT/4IIFfxH4ErVg/4ku6lKv3w0+tFTgXQ= +cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= +cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= +cloud.google.com/go/analytics v0.18.0/go.mod h1:ZkeHGQlcIPkw0R/GW+boWHhCOR43xz9RN/jn7WcqfIE= +cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk= +cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= +cloud.google.com/go/apigateway v1.5.0/go.mod h1:GpnZR3Q4rR7LVu5951qfXPJCHquZt02jf7xQx7kpqN8= +cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc= +cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= +cloud.google.com/go/apigeeconnect v1.5.0/go.mod h1:KFaCqvBRU6idyhSNyn3vlHXc8VMDJdRmwDF6JyFRqZ8= +cloud.google.com/go/apigeeregistry v0.4.0/go.mod h1:EUG4PGcsZvxOXAdyEghIdXwAEi/4MEaoqLMLDMIwKXY= +cloud.google.com/go/apigeeregistry v0.5.0/go.mod h1:YR5+s0BVNZfVOUkMa5pAR2xGd0A473vA5M7j247o1wM= +cloud.google.com/go/apikeys v0.4.0/go.mod h1:XATS/yqZbaBK0HOssf+ALHp8jAlNHUgyfprvNcBIszU= +cloud.google.com/go/apikeys v0.5.0/go.mod h1:5aQfwY4D+ewMMWScd3hm2en3hCj+BROlyrt3ytS7KLI= +cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno= +cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= +cloud.google.com/go/appengine v1.6.0/go.mod h1:hg6i0J/BD2cKmDJbaFSYHFyZkgBEfQrDg/X0V5fJn84= +cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= +cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= +cloud.google.com/go/area120 v0.7.1/go.mod h1:j84i4E1RboTWjKtZVWXPqvK5VHQFJRF2c1Nm69pWm9k= +cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= +cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= +cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0= +cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc= +cloud.google.com/go/artifactregistry v1.11.2/go.mod h1:nLZns771ZGAwVLzTX/7Al6R9ehma4WUEhZGWV6CeQNQ= +cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= +cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= +cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= +cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ= +cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY= +cloud.google.com/go/asset v1.11.1/go.mod h1:fSwLhbRvC9p9CXQHJ3BgFeQNM4c9x10lqlrdEUYXlJo= +cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= +cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= +cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= +cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo= +cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0= +cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E= +cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= +cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= +cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8= +cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM= +cloud.google.com/go/automl v1.12.0/go.mod h1:tWDcHDp86aMIuHmyvjuKeeHEGq76lD7ZqfGLN6B0NuU= +cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc= +cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= +cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss= +cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE= +cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= +cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g= +cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4= +cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= +cloud.google.com/go/beyondcorp v0.4.0/go.mod h1:3ApA0mbhHx6YImmuubf5pyW8srKnCEPON32/5hj+RmM= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= +cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw= +cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc= +cloud.google.com/go/bigquery v1.48.0/go.mod h1:QAwSz+ipNgfL5jxiaK7weyOhzdoAy1zFm0Nf1fysJac= cloud.google.com/go/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o= +cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= +cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= +cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI= +cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y= +cloud.google.com/go/billing v1.12.0/go.mod h1:yKrZio/eu+okO/2McZEbch17O5CB5NpZhhXG6Z766ss= +cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= +cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= +cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0= +cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk= +cloud.google.com/go/binaryauthorization v1.5.0/go.mod h1:OSe4OU1nN/VswXKRBmciKpo9LulY41gch5c68htf3/Q= +cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg= +cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= +cloud.google.com/go/certificatemanager v1.6.0/go.mod h1:3Hh64rCKjRAX8dXgRAyOcY5vQ/fE1sh8o+Mdd6KPgY8= +cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk= +cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= +cloud.google.com/go/channel v1.11.0/go.mod h1:IdtI0uWGqhEeatSB62VOoJ8FSUhJ9/+iGkJVqp74CGE= +cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U= +cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= +cloud.google.com/go/cloudbuild v1.7.0/go.mod h1:zb5tWh2XI6lR9zQmsm1VRA+7OCuve5d8S+zJUul8KTg= +cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM= +cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= +cloud.google.com/go/clouddms v1.5.0/go.mod h1:QSxQnhikCLUw13iAbffF2CZxAER3xDGNHjsTAkQJcQA= +cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= +cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= +cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4= +cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI= +cloud.google.com/go/cloudtasks v1.9.0/go.mod h1:w+EyLsVkLWHcOaqNEyvcKAsWp9p29dL6uL9Nst1cI7Y= +cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= +cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= +cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= +cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= +cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= +cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= +cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= +cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE= +cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= +cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA= +cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs= cloud.google.com/go/compute v1.25.1 h1:ZRpHJedLtTpKgr3RV1Fx23NuaAEN1Zfx9hw1u4aJdjU= cloud.google.com/go/compute v1.25.1/go.mod h1:oopOIR53ly6viBYxaDhBfJwzUAxf1zE//uf3IB011ls= +cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= +cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= +cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY= +cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= +cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w= +cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg= +cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= +cloud.google.com/go/container v1.13.1/go.mod h1:6wgbMPeQRw9rSnKBCAJXnds3Pzj03C4JHamr8asWKy4= +cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= +cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= +cloud.google.com/go/containeranalysis v0.7.0/go.mod h1:9aUL+/vZ55P2CXfuZjS4UjQ9AgXoSw8Ts6lemfmxBxI= +cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= +cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= +cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc= +cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE= +cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM= +cloud.google.com/go/datacatalog v1.8.1/go.mod h1:RJ58z4rMp3gvETA465Vg+ag8BGgBdnRPEMMSTr5Uv+M= +cloud.google.com/go/datacatalog v1.12.0/go.mod h1:CWae8rFkfp6LzLumKOnmVh4+Zle4A3NXLzVJ1d1mRm0= +cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= +cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= +cloud.google.com/go/dataflow v0.8.0/go.mod h1:Rcf5YgTKPtQyYz8bLYhFoIV/vP39eL7fWNcSOyFfLJE= +cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= +cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= +cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0= +cloud.google.com/go/dataform v0.6.0/go.mod h1:QPflImQy33e29VuapFdf19oPbE4aYTJxr31OAPV+ulA= +cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38= +cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= +cloud.google.com/go/datafusion v1.6.0/go.mod h1:WBsMF8F1RhSXvVM8rCV3AeyWVxcC2xY6vith3iw3S+8= +cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= +cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= +cloud.google.com/go/datalabeling v0.7.0/go.mod h1:WPQb1y08RJbmpM3ww0CSUAGweL0SxByuW2E+FU+wXcM= +cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA= +cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= +cloud.google.com/go/dataplex v1.5.2/go.mod h1:cVMgQHsmfRoI5KFYq4JtIBEUbYwc3c7tXmIDhRmNNVQ= +cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s= +cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= +cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4= +cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= +cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= +cloud.google.com/go/dataqna v0.7.0/go.mod h1:Lx9OcIIeqCrw1a6KdO3/5KMP1wAmTc0slZWwP12Qq3c= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM= +cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= +cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= +cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g= +cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4= +cloud.google.com/go/datastream v1.6.0/go.mod h1:6LQSuswqLa7S4rPAOZFVjHIG3wJIjZcZrw8JDEDJuIs= +cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c= +cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= +cloud.google.com/go/deploy v1.6.0/go.mod h1:f9PTHehG/DjCom3QH0cntOVRm93uGBDt2vKzAPwpXQI= +cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= +cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= +cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= +cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek= +cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0= +cloud.google.com/go/dialogflow v1.29.0/go.mod h1:b+2bzMe+k1s9V+F2jbJwpHPzrnIyHihAdRFMtn2WXuM= +cloud.google.com/go/dialogflow v1.31.0/go.mod h1:cuoUccuL1Z+HADhyIA7dci3N5zUssgpBJmCzI6fNRB4= +cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM= +cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= +cloud.google.com/go/dlp v1.9.0/go.mod h1:qdgmqgTyReTz5/YNSSuueR8pl7hO0o9bQ39ZhtgkWp4= +cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= +cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= +cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k= +cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4= +cloud.google.com/go/documentai v1.16.0/go.mod h1:o0o0DLTEZ+YnJZ+J4wNfTxmDVyrkzFvttBXXtYRMHkM= +cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= +cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= +cloud.google.com/go/domains v0.8.0/go.mod h1:M9i3MMDzGFXsydri9/vW+EWz9sWb4I6WyHqdlAk0idE= +cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= +cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= +cloud.google.com/go/edgecontainer v0.3.0/go.mod h1:FLDpP4nykgwwIfcLt6zInhprzw0lEi2P1fjO6Ie0qbc= +cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= +cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI= +cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= +cloud.google.com/go/essentialcontacts v1.5.0/go.mod h1:ay29Z4zODTuwliK7SnX8E86aUF2CTzdNtvv42niCX0M= +cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc= +cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= +cloud.google.com/go/eventarc v1.10.0/go.mod h1:u3R35tmZ9HvswGRBnF48IlYgYeBcPUCjkr4BTdem2Kw= +cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w= +cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= +cloud.google.com/go/filestore v1.5.0/go.mod h1:FqBXDWBp4YLHqRnVGveOkHDf8svj9r5+mUDLupOWEDs= +cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= +cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= +cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= +cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY= +cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08= +cloud.google.com/go/functions v1.10.0/go.mod h1:0D3hEOe3DbEvCXtYOZHQZmD+SzYsi1YbI7dGvHfldXw= +cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= +cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= +cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w= +cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= +cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0= +cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60= +cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= +cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg= +cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= +cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= +cloud.google.com/go/gkeconnect v0.7.0/go.mod h1:SNfmVqPkaEi3bF/B3CNZOAYPYdg7sU+obZ+QTky2Myw= +cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= +cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= +cloud.google.com/go/gkehub v0.11.0/go.mod h1:JOWHlmN+GHyIbuWQPl47/C2RFhnFKH38jH9Ascu3n0E= +cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA= +cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= +cloud.google.com/go/gkemulticloud v0.5.0/go.mod h1:W0JDkiyi3Tqh0TJr//y19wyb1yf8llHVto2Htf2Ja3Y= +cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= +cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM= +cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= +cloud.google.com/go/gsuiteaddons v1.5.0/go.mod h1:TFCClYLd64Eaa12sFVmUyG62tk4mdIsI7pAnSXRkcFo= +cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= +cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= +cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= +cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc= +cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= +cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= +cloud.google.com/go/iam v0.11.0/go.mod h1:9PiLDanza5D+oWFZiH1uG+RnRCfEGKoyl6yo4cgWZGY= +cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY= cloud.google.com/go/iam v1.1.6 h1:bEa06k05IO4f4uJonbB5iAgKTPpABy1ayxaIZV/GHVc= cloud.google.com/go/iam v1.1.6/go.mod h1:O0zxdPeGBoFdWW3HWmBxJsk0pfvNM/p/qa82rWOGTwI= +cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc= +cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= +cloud.google.com/go/iap v1.6.0/go.mod h1:NSuvI9C/j7UdjGjIde7t7HBz+QTwBcapPE07+sSRcLk= +cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM= +cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= +cloud.google.com/go/ids v1.3.0/go.mod h1:JBdTYwANikFKaDP6LtW5JAi4gubs57SVNQjemdt6xV4= +cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs= +cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= +cloud.google.com/go/iot v1.5.0/go.mod h1:mpz5259PDl3XJthEmh9+ap0affn/MqNSP4My77Qql9o= +cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= +cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= +cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= +cloud.google.com/go/kms v1.9.0/go.mod h1:qb1tPTgfF9RQP8e1wq4cLFErVuTJv7UsSC915J8dh3w= +cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= +cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= +cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE= +cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8= +cloud.google.com/go/language v1.9.0/go.mod h1:Ns15WooPM5Ad/5no/0n81yUetis74g3zrbeJBE+ptUY= +cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= +cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= +cloud.google.com/go/lifesciences v0.8.0/go.mod h1:lFxiEOMqII6XggGbOnKiyZ7IBwoIqA84ClvoezaA/bo= +cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw= +cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M= +cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= +cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= +cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo= +cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE= +cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= +cloud.google.com/go/managedidentities v1.5.0/go.mod h1:+dWcZ0JlUmpuxpIDfyP5pP5y0bLdRwOS4Lp7gMni/LA= +cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= +cloud.google.com/go/maps v0.6.0/go.mod h1:o6DAMMfb+aINHz/p/jbcY+mYeXBoZoxTfdSQ8VAJaCw= +cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= +cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= +cloud.google.com/go/mediatranslation v0.7.0/go.mod h1:LCnB/gZr90ONOIQLgSXagp8XUW1ODs2UmUMvcgMfI2I= +cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= +cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= +cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA= +cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY= +cloud.google.com/go/memcache v1.9.0/go.mod h1:8oEyzXCu+zo9RzlEaEjHl4KkgjlNDaXbCQeQWlzNFJM= +cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= +cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= +cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8= +cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI= +cloud.google.com/go/metastore v1.10.0/go.mod h1:fPEnH3g4JJAk+gMRnrAnoqyv2lpUCqJPWOodSaf45Eo= +cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk= +cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= +cloud.google.com/go/monitoring v1.12.0/go.mod h1:yx8Jj2fZNEkL/GYZyTLS4ZtZEZN8WtDEiEqG4kLK50w= +cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= +cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= +cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM= +cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8= +cloud.google.com/go/networkconnectivity v1.10.0/go.mod h1:UP4O4sWXJG13AqrTdQCD9TnLGEbtNRqjuaaA7bNjF5E= +cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8= +cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= +cloud.google.com/go/networkmanagement v1.6.0/go.mod h1:5pKPqyXjB/sgtvB5xqOemumoQNB7y95Q7S+4rjSOPYY= +cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= +cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= +cloud.google.com/go/networksecurity v0.7.0/go.mod h1:mAnzoxx/8TBSyXEeESMy9OOYwo1v+gZ5eMRnsT5bC8k= +cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= +cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= +cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA= +cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0= +cloud.google.com/go/notebooks v1.7.0/go.mod h1:PVlaDGfJgj1fl1S3dUwhFMXFgfYGhYQt2164xOMONmE= +cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4= +cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= +cloud.google.com/go/optimization v1.3.1/go.mod h1:IvUSefKiwd1a5p0RgHDbWCIbDFgKuEdB+fPPuP0IDLI= +cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA= +cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= +cloud.google.com/go/orchestration v1.6.0/go.mod h1:M62Bevp7pkxStDfFfTuCOaXgaaqRAga1yKyoMtEoWPQ= +cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE= +cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= +cloud.google.com/go/orgpolicy v1.10.0/go.mod h1:w1fo8b7rRqlXlIJbVhOMPrwVljyuW5mqssvBtU18ONc= +cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= +cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= +cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo= +cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw= +cloud.google.com/go/osconfig v1.11.0/go.mod h1:aDICxrur2ogRd9zY5ytBLV89KEgT2MKB2L/n6x1ooPw= +cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= +cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= +cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70= +cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo= +cloud.google.com/go/oslogin v1.9.0/go.mod h1:HNavntnH8nzrn8JCTT5fj18FuJLFJc4NaZJtBnQtKFs= +cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= +cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= +cloud.google.com/go/phishingprotection v0.7.0/go.mod h1:8qJI4QKHoda/sb/7/YmMQ2omRLSLYSu9bU0EKCNI+Lk= +cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg= +cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= +cloud.google.com/go/policytroubleshooter v1.5.0/go.mod h1:Rz1WfV+1oIpPdN2VvvuboLVRsB1Hclg3CKQ53j9l8vw= +cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= +cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= +cloud.google.com/go/privatecatalog v0.7.0/go.mod h1:2s5ssIFO69F5csTXcwBP7NPFTZvps26xGzvQ2PQaBYg= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/pubsub v1.26.0/go.mod h1:QgBH3U/jdJy/ftjPhTkyXNj543Tin1pRYcdcPRnFIRI= +cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0= +cloud.google.com/go/pubsub v1.28.0/go.mod h1:vuXFpwaVoIPQMGXqRyUQigu/AX1S3IWugR9xznmcXX8= +cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= +cloud.google.com/go/pubsublite v1.6.0/go.mod h1:1eFCS0U11xlOuMFV/0iBqw3zP12kddMeCbj/F3FSj9k= +cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= +cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= +cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= +cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= +cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE= +cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U= +cloud.google.com/go/recaptchaenterprise/v2 v2.6.0/go.mod h1:RPauz9jeLtB3JVzg6nCbe12qNoaa8pXc4d/YukAmcnA= +cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= +cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= +cloud.google.com/go/recommendationengine v0.7.0/go.mod h1:1reUcE3GIu6MeBz/h5xZJqNLuuVjNg1lmWMPyjatzac= +cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= +cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= +cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs= +cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70= +cloud.google.com/go/recommender v1.9.0/go.mod h1:PnSsnZY7q+VL1uax2JWkt/UegHssxjUVVCrX52CuEmQ= +cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= +cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= +cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA= +cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM= +cloud.google.com/go/redis v1.11.0/go.mod h1:/X6eicana+BWcUda5PpwZC48o37SiFVTFSs0fWAJ7uQ= +cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA= +cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= +cloud.google.com/go/resourcemanager v1.5.0/go.mod h1:eQoXNAiAvCf5PXxWxXjhKQoTMaUSNrEfg+6qdf/wots= +cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU= +cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= +cloud.google.com/go/resourcesettings v1.5.0/go.mod h1:+xJF7QSG6undsQDfsCJyqWXyBwUoJLhetkRMDRnIoXA= +cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= +cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= +cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc= +cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y= +cloud.google.com/go/retail v1.12.0/go.mod h1:UMkelN/0Z8XvKymXFbD4EhFJlYKRx1FGhQkVPU5kF14= +cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do= +cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= +cloud.google.com/go/run v0.8.0/go.mod h1:VniEnuBwqjigv0A7ONfQUaEItaiCRVujlMqerPPiktM= +cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= +cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= +cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk= +cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44= +cloud.google.com/go/scheduler v1.8.0/go.mod h1:TCET+Y5Gp1YgHT8py4nlg2Sew8nUHMqcpousDgXJVQc= +cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= +cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4= +cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= +cloud.google.com/go/secretmanager v1.10.0/go.mod h1:MfnrdvKMPNra9aZtQFvBcvRU54hbPD8/HayQdlUgJpU= +cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= +cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= +cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= +cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q= +cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA= +cloud.google.com/go/security v1.12.0/go.mod h1:rV6EhrpbNHrrxqlvW0BWAIawFWq3X90SduMJdFwtLB8= +cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= +cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= +cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk= +cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk= +cloud.google.com/go/securitycenter v1.18.1/go.mod h1:0/25gAzCM/9OL9vVx4ChPeM/+DlfGQJDwBy/UC8AKK0= +cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU= +cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= +cloud.google.com/go/servicecontrol v1.11.0/go.mod h1:kFmTzYzTUIuZs0ycVqRHNaNhgR+UMUpw9n02l/pY+mc= +cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= +cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= +cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4= +cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U= +cloud.google.com/go/servicedirectory v1.8.0/go.mod h1:srXodfhY1GFIPvltunswqXpVxFPpZjf8nkKQT7XcXaY= +cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco= +cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= +cloud.google.com/go/servicemanagement v1.6.0/go.mod h1:aWns7EeeCOtGEX4OvZUWCCJONRZeFKiptqKf1D0l/Jc= +cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E= +cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= +cloud.google.com/go/serviceusage v1.5.0/go.mod h1:w8U1JvqUqwJNPEOTQjrMHkw3IaIFLoLsPLvsE3xueec= +cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4= +cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= +cloud.google.com/go/shell v1.6.0/go.mod h1:oHO8QACS90luWgxP3N9iZVuEiSF84zNyLytb+qE2f9A= +cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= +cloud.google.com/go/spanner v1.44.0/go.mod h1:G8XIgYdOK+Fbcpbs7p2fiprDw4CaZX63whnSMLVBxjk= +cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= +cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= +cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0= +cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco= +cloud.google.com/go/speech v1.14.1/go.mod h1:gEosVRPJ9waG7zqqnsHpYTOoAS4KouMRLDFMekpJ0J0= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= +cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= +cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= +cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= +cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= cloud.google.com/go/storage v1.38.0 h1:Az68ZRGlnNTpIBbLjSMIV2BDcwwXYlRlQzis0llkpJg= cloud.google.com/go/storage v1.38.0/go.mod h1:tlUADB0mAb9BgYls9lq+8MGkfzOXuLrnHXlpHmvFJoY= +cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w= +cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= +cloud.google.com/go/storagetransfer v1.7.0/go.mod h1:8Giuj1QNb1kfLAiWM1bN6dHzfdlDAVC9rv9abHot2W4= +cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= +cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= +cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM= +cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA= +cloud.google.com/go/talent v1.5.0/go.mod h1:G+ODMj9bsasAEJkQSzO2uHQWXHHXUomArjWQQYkqK6c= +cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= +cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= +cloud.google.com/go/texttospeech v1.6.0/go.mod h1:YmwmFT8pj1aBblQOI3TfKmwibnsfvhIBzPXcW4EBovc= +cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ= +cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= +cloud.google.com/go/tpu v1.5.0/go.mod h1:8zVo1rYDFuW2l4yZVY0R0fb/v44xLh3llq7RuV61fPM= +cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28= +cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= +cloud.google.com/go/trace v1.8.0/go.mod h1:zH7vcsbAhklH8hWFig58HvxcxyQbaIqMarMg9hn5ECA= +cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs= +cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= +cloud.google.com/go/translate v1.6.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= +cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= +cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= +cloud.google.com/go/video v1.13.0/go.mod h1:ulzkYlYgCp15N2AokzKjy7MQ9ejuynOJdf1tR5lGthk= +cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= +cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= +cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M= +cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU= +cloud.google.com/go/videointelligence v1.10.0/go.mod h1:LHZngX1liVtUhZvi2uNS0VQuOzNi2TkY1OakiuoUOjU= +cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= +cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= +cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= +cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY= +cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= +cloud.google.com/go/vision/v2 v2.6.0/go.mod h1:158Hes0MvOS9Z/bDMSFpjwsUrZ5fPrdwuyyvKSGAGMY= +cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE= +cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= +cloud.google.com/go/vmmigration v1.5.0/go.mod h1:E4YQ8q7/4W9gobHjQg4JJSgXXSgY21nA5r8swQV+Xxc= +cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= +cloud.google.com/go/vmwareengine v0.2.2/go.mod h1:sKdctNJxb3KLZkE/6Oui94iw/xs9PRNC2wnNLXsHvH8= +cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w= +cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= +cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27RV31lnmZes= +cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= +cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= +cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc= +cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A= +cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg= +cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo= +cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= +cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng= +cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= +cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= +cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M= +cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= +cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw= collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE= -cosmossdk.io/errors v1.0.0-beta.7 h1:gypHW76pTQGVnHKo6QBkb4yFOJjC+sUGRc5Al3Odj1w= -cosmossdk.io/errors v1.0.0-beta.7/go.mod h1:mz6FQMJRku4bY7aqS/Gwfcmr/ue91roMEKAmDUDpBfE= -cosmossdk.io/math v1.0.0-rc.0 h1:ml46ukocrAAoBpYKMidF0R2tQJ1Uxfns0yH8wqgMAFc= -cosmossdk.io/math v1.0.0-rc.0/go.mod h1:Ygz4wBHrgc7g0N+8+MrnTfS9LLn9aaTGa9hKopuym5k= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -filippo.io/edwards25519 v1.0.0-rc.1 h1:m0VOOB23frXZvAOK44usCgLWvtsxIoMCTBGJZlpmGfU= +cosmossdk.io/api v0.3.1 h1:NNiOclKRR0AOlO4KIqeaG6PS6kswOMhHD0ir0SscNXE= +cosmossdk.io/api v0.3.1/go.mod h1:DfHfMkiNA2Uhy8fj0JJlOCYOBp4eWUUJ1te5zBGNyIw= +cosmossdk.io/core v0.5.1 h1:vQVtFrIYOQJDV3f7rw4pjjVqc1id4+mE0L9hHP66pyI= +cosmossdk.io/core v0.5.1/go.mod h1:KZtwHCLjcFuo0nmDc24Xy6CRNEL9Vl/MeimQ2aC7NLE= +cosmossdk.io/depinject v1.0.0-alpha.4 h1:PLNp8ZYAMPTUKyG9IK2hsbciDWqna2z1Wsl98okJopc= +cosmossdk.io/depinject v1.0.0-alpha.4/go.mod h1:HeDk7IkR5ckZ3lMGs/o91AVUc7E596vMaOmslGFM3yU= +cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= +cosmossdk.io/errors v1.0.1/go.mod h1:MeelVSZThMi4bEakzhhhE/CKqVv3nOJDA25bIqRDu/U= +cosmossdk.io/log v1.4.1 h1:wKdjfDRbDyZRuWa8M+9nuvpVYxrEOwbD/CA8hvhU8QM= +cosmossdk.io/log v1.4.1/go.mod h1:k08v0Pyq+gCP6phvdI6RCGhLf/r425UT6Rk/m+o74rU= +cosmossdk.io/math v1.3.0 h1:RC+jryuKeytIiictDslBP9i1fhkVm6ZDmZEoNP316zE= +cosmossdk.io/math v1.3.0/go.mod h1:vnRTxewy+M7BtXBNFybkuhSH4WfedVAAnERHgVFhp3k= +cosmossdk.io/tools/rosetta v0.2.1 h1:ddOMatOH+pbxWbrGJKRAawdBkPYLfKXutK9IETnjYxw= +cosmossdk.io/tools/rosetta v0.2.1/go.mod h1:Pqdc1FdvkNV3LcNIkYWt2RQY6IP1ge6YWZk8MhhO9Hw= filippo.io/edwards25519 v1.0.0-rc.1/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= +filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek= +filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= +gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= +git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= git.sr.ht/~sircmpwn/getopt v0.0.0-20191230200459-23622cc906b3/go.mod h1:wMEGFFFNuPos7vHmWXfszqImLppbc0wEhh6JBfJIUgw= git.sr.ht/~sircmpwn/go-bare v0.0.0-20210406120253-ab86bc2846d9/go.mod h1:BVJwbDfVjCjoFiKrhkei6NdGcZYpkDkdyCdg1ukytRA= github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4= @@ -64,8 +548,8 @@ github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1/go.mod h1:fBF9PQNqB8scdgpZ3 github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.3/go.mod h1:KLF4gFr6DcKFZwSuH8w8yEK6DpFl3LP5rhdvAb7Yz5I= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0/go.mod h1:tPaiy8S5bQ+S5sOiDlINkp7+Ef339+Nz5L5XO+cnOHo= github.com/Azure/azure-storage-blob-go v0.7.0/go.mod h1:f9YQKtsG1nMisotuTPpO0tjNuEjKRYAcJU8/ydDI++4= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0= +github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc= @@ -77,15 +561,16 @@ github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/ChainSafe/go-schnorrkel v1.0.0 h1:3aDA67lAykLaG1y3AOjs88dMxC88PgUuHRrLeDnvGIM= github.com/ChainSafe/go-schnorrkel v1.0.0/go.mod h1:dpzHYVxLZcp8pjlV+O+UR8K0Hp/z7vcchBSbMBEhCw4= github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/DataDog/zstd v1.5.0 h1:+K/VEwIAaPcHiMtQvpLD4lqW7f0Gk3xdYZmI1hD+CXo= github.com/DataDog/zstd v1.5.0/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= +github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= -github.com/Microsoft/go-winio v0.6.0 h1:slsWYD/zyx7lCXoZVlvQrj0hPTM1HI4+v1sIda2yDvg= -github.com/Microsoft/go-winio v0.6.0/go.mod h1:cTAf44im0RAYeL23bpB+fzCyDH2MJiz2BO69KH/soAE= +github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= +github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= @@ -99,14 +584,15 @@ github.com/VictoriaMetrics/fastcache v1.6.0 h1:C/3Oi3EiBCqufydp1neRZkqcwmEiuRT9c github.com/VictoriaMetrics/fastcache v1.6.0/go.mod h1:0qHz5QP0GMX4pfmMA/zt5RgfNuXJrTP0zS7DqpHGGTw= github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= -github.com/Workiva/go-datastructures v1.0.53 h1:J6Y/52yX10Xc5JjXmGtWoSSxs3mZnGSaq37xZZh7Yig= -github.com/Workiva/go-datastructures v1.0.53/go.mod h1:1yZL+zfsztete+ePzZz/Zb1/t5BnDuE2Ya2MMGhzP6A= github.com/Zilliqa/gozilliqa-sdk v1.2.1-0.20201201074141-dd0ecada1be6/go.mod h1:eSYp2T6f0apnuW8TzhV3f6Aff2SE8Dwio++U4ha4yEM= github.com/adlio/schema v1.3.3 h1:oBJn8I02PyTB466pZO1UZEn1TV5XLlifBSyMrmHl/1I= github.com/adlio/schema v1.3.3/go.mod h1:1EsRssiv9/Ce2CMzq5DoL7RiMshhuigQxrR4DMV9fHg= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= +github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY= +github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -115,10 +601,13 @@ github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk5 github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= github.com/allegro/bigcache v1.2.1/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= +github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod h1:VTxUBvSJ3s3eHAg65PNgrsn5BtqCRPdmyXh6rAfdxN0= +github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= @@ -127,10 +616,10 @@ github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+ github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= -github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.40.45 h1:QN1nsY27ssD/JmW4s83qmSb+uL6DG4GmCDzjmJB4xUI= -github.com/aws/aws-sdk-go v1.40.45/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= +github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.44.203 h1:pcsP805b9acL3wUqa4JR2vg1k2wnItkDYNvfmcy6F+U= +github.com/aws/aws-sdk-go v1.44.203/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/aws/aws-sdk-go-v2 v1.2.0/go.mod h1:zEQs02YRBw1DjK0PoJv3ygDYOFTre1ejlJWl8FwAuQo= github.com/aws/aws-sdk-go-v2/config v1.1.1/go.mod h1:0XsVy9lBI/BCXm+2Tuvt39YmdHwS5unDQmxZOYe8F5Y= @@ -147,10 +636,13 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d h1:xDfNPAt8lFiC1UJrqV3uuy861HCTo708pDMbjHHdCas= github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4= -github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 h1:41iFGWnSlI2gVpmOtVTJZNodLdLQLn/KsJqFvXwnd/s= +github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c= github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps= +github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= github.com/btcsuite/btcd v0.0.0-20190315201642-aa6e0f35703c/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= github.com/btcsuite/btcd v0.21.0-beta/go.mod h1:ZSWyehm27aAuS9bvkATT+Xte3hjHZ+MRgMY/8NJ7K94= @@ -178,8 +670,8 @@ github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= -github.com/bufbuild/protocompile v0.1.0 h1:HjgJBI85hY/qmW5tw/66sNDZ7z0UDdVSi/5r40WHw4s= -github.com/bufbuild/protocompile v0.1.0/go.mod h1:ix/MMMdsT3fzxfw91dvbfzKW3fRRnuPCP47kpAm5m/4= +github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA= +github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8= github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/c-bata/go-prompt v0.2.2/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= @@ -189,6 +681,8 @@ github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInq github.com/cenkalti/backoff/v4 v4.1.3 h1:cFAlzYUlVYDysBEH2T5hyJZMh3+5+WCBvSnK6Q8UtC4= github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/cespare/cp v0.1.0 h1:SE+dxFebS7Iik5LK0tsi1k9ZCxEaFX4AjQmoyA+1dJk= github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= @@ -198,12 +692,15 @@ github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E= github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= -github.com/chzyer/logex v1.1.10 h1:Swpa1K6QvQznwJRcfTfQJmTE72DqScAa40E+fbHEXEE= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e h1:fY5BOSpyZCqRo5OhCuC+XN+r/bBCmeuuJtjz+bCNIf8= +github.com/chzyer/logex v1.2.1 h1:XHDu3E6q+gdHgsdTPH6ImJMIp436vR6MPtH8gP05QzM= +github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1 h1:q763qf9huN11kDQavWsoZXJNW3xEE4JJyHa5Q25/sd8= +github.com/chzyer/readline v1.5.1 h1:upd/6fQk4src78LMRzh5vItIt361/o4uq553V8B5sGI= +github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/chzyer/test v1.0.0 h1:p3BQDXSxOhOG0P9z6/hGnII4LGiEPOYBhs8asl/fC04= +github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= github.com/cilium/ebpf v0.7.0/go.mod h1:/oI2+1shJiTGAMgl6/RgJr36Eo1jzrRcAWbcXO2usCA= github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= @@ -213,17 +710,39 @@ github.com/cloudflare/cloudflare-go v0.14.0/go.mod h1:EnwdgGMaFOruiPZRFSgn+TsQ3h github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b8034E= github.com/cockroachdb/apd/v2 v2.0.2/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f h1:otljaYPt5hWxV3MUfO5dFPFiOXg9CyG5/kCfayTqsJ4= +github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= +github.com/cockroachdb/errors v1.11.1 h1:xSEW75zKaKCWzR3OfxXUxgrk/NtT4G1MiOv5lWZazG8= +github.com/cockroachdb/errors v1.11.1/go.mod h1:8MUxA3Gi6b25tYlFEBGLf+D8aISL+M4MIpiWMSNRfxw= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= +github.com/cockroachdb/pebble v1.1.0 h1:pcFh8CdCIt2kmEpK0OIatq67Ln9uGDYY3d5XnE0LJG4= +github.com/cockroachdb/pebble v1.1.0/go.mod h1:sEHm5NOXxyiAoKWhoFxT8xMgd/f3RA6qUqQ1BXKrh2E= +github.com/cockroachdb/redact v1.1.5 h1:u1PMllDkdFfPWaNGMyLD1+so+aq3uUItthCFqzwPJ30= +github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= +github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= +github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06/go.mod h1:7nc4anLGjupUW/PeY5qiNYsdNXj7zopG+eqsS7To5IQ= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/coinbase/kryptology v1.8.0/go.mod h1:RYXOAPdzOGUe3qlSFkMGn58i3xUA8hmxYHksuq+8ciI= github.com/coinbase/rosetta-sdk-go v0.7.9 h1:lqllBjMnazTjIqYrOGv8h8jxjg9+hJazIGZr9ZvoCcA= github.com/coinbase/rosetta-sdk-go v0.7.9/go.mod h1:0/knutI7XGVqXmmH4OQD8OckFrbQ8yMsUZTG7FXCR2M= -github.com/cometbft/cometbft v0.34.28 h1:gwryf55P1SWMUP4nOXpRVI2D0yPoYEzN+IBqmRBOsDc= -github.com/cometbft/cometbft v0.34.28/go.mod h1:L9shMfbkZ8B+7JlwANEr+NZbBcn+hBpwdbeYvA5rLCw= -github.com/cometbft/cometbft-db v0.7.0 h1:uBjbrBx4QzU0zOEnU8KxoDl18dMNgDh+zZRUE0ucsbo= -github.com/cometbft/cometbft-db v0.7.0/go.mod h1:yiKJIm2WKrt6x8Cyxtq9YTEcIMPcEe4XPxhgX59Fzf0= +github.com/cometbft/cometbft v0.37.5 h1:/U/TlgMh4NdnXNo+YU9T2NMCWyhXNDF34Mx582jlvq0= +github.com/cometbft/cometbft v0.37.5/go.mod h1:QC+mU0lBhKn8r9qvmnq53Dmf3DWBt4VtkcKw2C81wxY= +github.com/cometbft/cometbft-db v0.11.0 h1:M3Lscmpogx5NTbb1EGyGDaFRdsoLWrUWimFEyf7jej8= +github.com/cometbft/cometbft-db v0.11.0/go.mod h1:GDPJAC/iFHNjmZZPN8V8C1yr/eyityhi2W1hz2MGKSc= github.com/confio/ics23/go v0.9.0 h1:cWs+wdbS2KRPZezoaaj+qBleXgUk5WOQFMP3CQFGTr4= github.com/confio/ics23/go v0.9.0/go.mod h1:4LPZ2NYqnYIVRklaozjNR1FScgDJ2s5Xrp+e/mYVRak= github.com/consensys/bavard v0.1.8-0.20210406032232-f3452dc9b572/go.mod h1:Bpd0/3mZuaj6Sj+PqrmIquiOKy397AKGThQPaGzNXAQ= @@ -242,34 +761,40 @@ github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSV github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cosmos/btcutil v1.0.5 h1:t+ZFcX77LpKtDBhjucvnOH8C2l2ioGsBNEQ3jef8xFk= github.com/cosmos/btcutil v1.0.5/go.mod h1:IyB7iuqZMJlthe2tkIFL33xPyzbFYP0XVdS8P5lUPis= -github.com/cosmos/cosmos-proto v1.0.0-alpha8 h1:d3pCRuMYYvGA5bM0ZbbjKn+AoQD4A7dyNG2wzwWalUw= -github.com/cosmos/cosmos-proto v1.0.0-alpha8/go.mod h1:6/p+Bc4O8JKeZqe0VqUGTX31eoYqemTT4C1hLCWsO7I= -github.com/cosmos/cosmos-sdk v0.46.14 h1:xlrUaMZT6QACdtWputs+ZxbAMWGYktWK+zlc8J4tKoE= -github.com/cosmos/cosmos-sdk v0.46.14/go.mod h1:9MRixWsgoJ2UmVsCRRePtENFPP3cM+gTC5azEpxgllo= +github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= +github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= +github.com/cosmos/cosmos-sdk v0.47.14 h1:vD9JyIdlbVaXMOE/BLamViQvylfUq0E0FpqdPVv/fWw= +github.com/cosmos/cosmos-sdk v0.47.14/go.mod h1:GrDj/zd9Tiuy8ZpG9PbUbhghCVU7lwyH0GS7CpxHpyM= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= -github.com/cosmos/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4Y= -github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw= -github.com/cosmos/iavl v0.19.6 h1:XY78yEeNPrEYyNCKlqr9chrwoeSDJ0bV2VjocTk//OU= -github.com/cosmos/iavl v0.19.6/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw= -github.com/cosmos/ibc-go/v6 v6.2.0 h1:HKS5WNxQrlmjowHb73J9LqlNJfvTnvkbhXZ9QzNTU7Q= -github.com/cosmos/ibc-go/v6 v6.2.0/go.mod h1:+S3sxcNwOhgraYDJAhIFDg5ipXHaUnJrg7tOQqGyWlc= +github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= +github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= +github.com/cosmos/gogoproto v1.4.10 h1:QH/yT8X+c0F4ZDacDv3z+xE3WU1P1Z3wQoLMBRJoKuI= +github.com/cosmos/gogoproto v1.4.10/go.mod h1:3aAZzeRWpAwr+SS/LLkICX2/kDFyaYVzckBDzygIxek= +github.com/cosmos/iavl v0.20.1 h1:rM1kqeG3/HBT85vsZdoSNsehciqUQPWrR4BYmqE2+zg= +github.com/cosmos/iavl v0.20.1/go.mod h1:WO7FyvaZJoH65+HFOsDir7xU9FWk2w9cHXNW1XHcl7A= +github.com/cosmos/ibc-go/v7 v7.8.0 h1:hvnQRejkMoGiM4v2r6Va5UefNeMU3V+ooIWdG96SYoU= +github.com/cosmos/ibc-go/v7 v7.8.0/go.mod h1:zzFhtp9g9RrN/UxXWrdUu5VyonBALCAHujXQCzrZSu8= +github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= +github.com/cosmos/ics23/go v0.10.0/go.mod h1:ZfJSmng/TBNTBkFemHHHj5YY7VAU/MBU980F4VU1NG0= github.com/cosmos/keyring v1.1.7-0.20210622111912-ef00f8ac3d76 h1:DdzS1m6o/pCqeZ8VOAit/gyATedRgjvkVI+UCrLpyuU= github.com/cosmos/keyring v1.1.7-0.20210622111912-ef00f8ac3d76/go.mod h1:0mkLWIoZuQ7uBoospo5Q9zIpqq6rYCPJDSUdeCJvPM8= github.com/cosmos/ledger-cosmos-go v0.12.4 h1:drvWt+GJP7Aiw550yeb3ON/zsrgW0jgh5saFCr7pDnw= github.com/cosmos/ledger-cosmos-go v0.12.4/go.mod h1:fjfVWRf++Xkygt9wzCsjEBdjcf7wiiY35fv3ctT+k4M= +github.com/cosmos/rosetta-sdk-go v0.10.0 h1:E5RhTruuoA7KTIXUcMicL76cffyeoyvNybzUGSKFTcM= +github.com/cosmos/rosetta-sdk-go v0.10.0/go.mod h1:SImAZkb96YbwvoRkzSMQB6noNJXFgWl/ENIznEoYQI4= github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= -github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creachadair/taskgroup v0.3.2 h1:zlfutDS+5XG40AOxcHDSThxKzns8Tnr9jnr6VqkYlkM= -github.com/creachadair/taskgroup v0.3.2/go.mod h1:wieWwecHVzsidg2CsUnFinW1faVN4+kq+TDlRJQ0Wbk= +github.com/cpuguy83/go-md2man/v2 v2.0.3 h1:qMCsGGgs+MAzDFyp9LpAe1Lqy/fY/qCovCm0qnXZOBM= +github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creachadair/taskgroup v0.4.2 h1:jsBLdAJE42asreGss2xZGZ8fJra7WtwnHWeJFxv2Li8= +github.com/creachadair/taskgroup v0.4.2/go.mod h1:qiXUOSrbwAY3u0JPGTzObbE3yf9hcXHDKBZ2ZjpCbgM= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw= -github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= +github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4= github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/danieljoos/wincred v1.0.2/go.mod h1:SnuYRW9lp1oJrZX/dXJqr0cPK5gYXqx3EJbmjhLdK9U= @@ -278,8 +803,9 @@ github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnG github.com/dave/jennifer v1.2.0/go.mod h1:fIb+770HOpJ2fmN9EPPKOqm1vMGhB+TwXKMZhrIygKg= github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ= github.com/deckarep/golang-set v1.8.0 h1:sk9/l/KqpunDwP7pSjUg0keiOOLEnOBHzykLrsPppp4= github.com/deckarep/golang-set v1.8.0/go.mod h1:5nI87KwE7wgsBU1F4GKAw2Qod7p5kyS383rP6+o6qqo= @@ -297,8 +823,8 @@ github.com/dgraph-io/badger/v2 v2.2007.4 h1:TRWBQg8UrlUhaFdco01nO2uXwzKS7zd+HVdw github.com/dgraph-io/badger/v2 v2.2007.4/go.mod h1:vSw/ax2qojzbN6eXHIx6KPKtCSHJN/Uz0X0VPruTIhk= github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= github.com/dgraph-io/ristretto v0.0.3/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= -github.com/dgraph-io/ristretto v0.1.0 h1:Jv3CGQHp9OjuMBSne1485aDpUkTKEcUqF+jm/LuerPI= -github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug= +github.com/dgraph-io/ristretto v0.1.1 h1:6CWw5tJNgpegArSHpNHJKldNeq03FQCwYvfMVWajOK8= +github.com/dgraph-io/ristretto v0.1.1/go.mod h1:S1GPSBCYCIhmVNfcth17y2zZtQT6wzkzgwUve0VDWWA= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod h1:VMaSuZ+SZcx/wljOQKvp5srsbCiKDEb6K2wC4+PiBmQ= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= @@ -309,25 +835,27 @@ github.com/dlclark/regexp2 v1.2.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55k github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= -github.com/docker/cli v20.10.17+incompatible h1:eO2KS7ZFeov5UJeaDmIs1NFEDRf32PaqRpvoEkKBy5M= -github.com/docker/cli v20.10.17+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v23.0.1+incompatible h1:LRyWITpGzl2C9e9uGxzisptnxAn1zfZKXy13Ul2Q5oM= +github.com/docker/cli v23.0.1+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker v20.10.19+incompatible h1:lzEmjivyNHFHMNAFLXORMBXyGIhw/UP4DvJwvyKYq64= -github.com/docker/docker v20.10.19+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v23.0.1+incompatible h1:vjgvJZxprTTE1A37nm+CLNAdwu6xZekyoiVlUZEINcY= +github.com/docker/docker v23.0.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dop251/goja v0.0.0-20200721192441-a695b0cdd498/go.mod h1:Mw6PkjjMXWbTj+nnj4s3QPXq1jaT0s5pC0iFD4+BOAA= github.com/dop251/goja v0.0.0-20211011172007-d99e4b8cbf48/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk= github.com/dop251/goja_nodejs v0.0.0-20210225215109-d91c329300e7/go.mod h1:hn7BA7c8pLvoGndExHudxTDKZ84Pyvv+90pbBjbTz0Y= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b/go.mod h1:7BvyPhdbLxMXIYTFPLsyJRFMsKmOZnQmzh6Gb+uquuM= -github.com/dvsekhvalnov/jose2go v1.5.0 h1:3j8ya4Z4kMCwT5nXIKFSV84YS+HdqSSO0VsTQxaLAeM= -github.com/dvsekhvalnov/jose2go v1.5.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= +github.com/dvsekhvalnov/jose2go v1.6.0 h1:Y9gnSnP4qEI0+/uQkHvFXeD2PLPJeXEL+ySMEA2EjTY= +github.com/dvsekhvalnov/jose2go v1.6.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= @@ -340,17 +868,20 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= +github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34= +github.com/envoyproxy/go-control-plane v0.11.0/go.mod h1:VnHyVMpzcLvCFt9yUz1UnCwHLhwx1WguiVDV7pTG/tI= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= +github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w= +github.com/envoyproxy/protoc-gen-validate v0.10.0/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= github.com/ethereum/go-ethereum v1.10.4/go.mod h1:nEE0TP5MtxGzOMd7egIrbPJMQBnhVU3ELNxhBglIzhg= github.com/ethereum/go-ethereum v1.10.17/go.mod h1:Lt5WzjM07XlXc95YzrhosmR4J9Ahd6X2wyEV2SvGhk0= github.com/ethereum/go-ethereum v1.10.22 h1:HbEgsDo1YTGIf4KB/NNpn+XH+PiNJXUZ9ksRxiqWyMc= github.com/ethereum/go-ethereum v1.10.22/go.mod h1:EYFyF19u3ezGLD4RqOkLq+ZCXzYbLoNDdZlMt7kyKFg= -github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c h1:8ISkoahWXwZR41ois5lSJBSVw4D0OV19Ht/JSTzvSv0= -github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= -github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= -github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqLaRiH3MsBH8va0n7s1pQYcu3uTb8G4tygF4Zg= -github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4 h1:7HZCaLC5+BZpmbhCOZJ293Lz68O7PYrF2EzeiFMwCLk= -github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= @@ -359,34 +890,40 @@ github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSw github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5 h1:FtmdgXiUlNeRsoNMFlKLDt+S+6hbjVMEW6RGQ7aUf7c= github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= -github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= -github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= +github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= +github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= -github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= -github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= +github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff h1:tY80oXqGNY4FhTFhk+o9oFHGINQ/+vhlm8HFzi6znCI= github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= github.com/getkin/kin-openapi v0.53.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= github.com/getkin/kin-openapi v0.61.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= +github.com/getsentry/sentry-go v0.23.0 h1:dn+QRCeJv4pPt9OjVXiMcGIBIefaTJPw/h0bZWO05nE= +github.com/getsentry/sentry-go v0.23.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= -github.com/gin-gonic/gin v1.7.0 h1:jGB9xAJQ12AIGNB4HguylppmDK1Am9ppF7XnGXXJuoU= -github.com/gin-gonic/gin v1.7.0/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY= +github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= +github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= github.com/go-chi/chi/v5 v5.0.0/go.mod h1:BBug9lr0cqtdAhsu6R4AAdvufI0/XBzAQSsUqJpoZOs= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= +github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= +github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g= +github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks= +github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= +github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= +github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= @@ -394,11 +931,13 @@ github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4= github.com/go-kit/kit v0.12.0/go.mod h1:lHd+EkCZPIwYItmGDDRdhinkzX2A1sj+M9biaEaizzs= github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= +github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U= +github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= -github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= +github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= +github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= @@ -410,14 +949,18 @@ github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= +github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= -github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= +github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= +github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= +github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= +github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= -github.com/go-playground/validator/v10 v10.4.1 h1:pH2c5ADXtd66mxoE0Zm9SUhxE20r7aM3F26W0hOn+GE= -github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= +github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= +github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= github.com/go-sourcemap/sourcemap v2.1.2+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= github.com/go-sourcemap/sourcemap v2.1.3+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= @@ -426,26 +969,30 @@ github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfC github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= +github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= +github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gogo/gateway v1.1.0 h1:u0SuhL9+Il+UbjM9VIE3ntfRujKbvVpFvNB4HbjeVQ0= -github.com/gogo/gateway v1.1.0/go.mod h1:S7rR8FRQyG3QFESeSv4l2WnsyzlCLG0CzBbUUo/mbic= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +github.com/gogo/googleapis v1.4.1-0.20201022092350-68b0159b7869/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= +github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0= +github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4= github.com/golang-jwt/jwt/v4 v4.3.0 h1:kHL1vqdqWNfATmA0FNMdmZNMyZI1U6O31X4rlIPoBog= github.com/golang-jwt/jwt/v4 v4.3.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -461,6 +1008,7 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -479,11 +1027,12 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= @@ -493,6 +1042,7 @@ github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU= github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= github.com/google/flatbuffers v1.11.0/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= +github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -504,16 +1054,22 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= +github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa h1:Q75Upo5UN4JbPFURXZ8nLKYUvF85dyFRop/vQ0Rv+64= github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/orderedcode v0.0.1 h1:UzfcAexk9Vhv8+9pNOgRu41f16lHq725vPwnSeiG/Us= @@ -528,7 +1084,11 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= @@ -539,14 +1099,29 @@ github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.5/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= +github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= +github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= +github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= +github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= +github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= +github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= +github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= +github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= github.com/googleapis/gax-go/v2 v2.12.2 h1:mhN09QQW1jEWeMF74zGR81R30z4VJzjZsfkUhuHF+DA= github.com/googleapis/gax-go/v2 v2.12.2/go.mod h1:61M8vcyyXR2kqKFxKrfA22jaA8JGF7Dc8App1U3H6jc= +github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= @@ -568,10 +1143,11 @@ github.com/grpc-ecosystem/go-grpc-middleware v1.2.2/go.mod h1:EaizFBKfUKtMIF5iaD github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.8.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c h1:6rhixN/i8ZofjG1Y75iExal34USq5p+wiN1tpie8IrU= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c/go.mod h1:NMPJylDgVpX0MLRlPy15sqSwOFv/U1GZ2m21JhFfek0= github.com/gtank/merlin v0.1.1-0.20191105220539-8318aed1a79f/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= @@ -588,8 +1164,8 @@ github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtng github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-getter v1.6.1 h1:NASsgP4q6tL94WH6nJxKWj8As2H/2kop/bB1d8JMyRY= -github.com/hashicorp/go-getter v1.6.1/go.mod h1:IZCrswsZPeWv9IkVnLElzRU/gz/QPi6pZHn4tv6vbwA= +github.com/hashicorp/go-getter v1.7.5 h1:dT58k9hQ/vbxNMwoI5+xFYAJuv6152UNvdHokfI5wE4= +github.com/hashicorp/go-getter v1.7.5/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= @@ -604,7 +1180,6 @@ github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdv github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= @@ -619,19 +1194,24 @@ github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 h1:aSVUgRRRtOrZOC1fYmY9gV0e9z/Iu+xNVSASWjsuyGU= -github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3/go.mod h1:5PC6ZNPde8bBqU/ewGZig35+UIZtw9Ytxez8/q5ZyFE= +github.com/hdevalence/ed25519consensus v0.1.0 h1:jtBwzzcHuTmFrQN6xQZn6CQEO/V9f7HsjsjeEZ6auqU= +github.com/hdevalence/ed25519consensus v0.1.0/go.mod h1:w3BHWjwJbFU29IRHL1Iqkw3sus+7FctEyM4RqDxYNzo= github.com/holiman/bloomfilter/v2 v2.0.3 h1:73e0e/V0tCydx14a0SCYS/EWCxgwLZ18CZcZKVu0fao= github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA= github.com/holiman/uint256 v1.2.0 h1:gpSYcPLWGv4sG43I2mVLiDZCNDh/EpGjSk8tmtxitHM= github.com/holiman/uint256 v1.2.0/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/huandu/go-assert v1.1.5 h1:fjemmA7sSfYHJD7CUqs9qTwwfdNAx7/j2/ZlHXzNB3c= +github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0JrPVhn/06U= +github.com/huandu/skiplist v1.2.0 h1:gox56QD77HzSC0w+Ws3MH3iie755GBJU1OER3h5VsYw= +github.com/huandu/skiplist v1.2.0/go.mod h1:7v3iFjLcSAzO4fN5B8dvebvo/qsfumiLiDXMrPiHF9w= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/huin/goupnp v1.0.1-0.20210310174557-0ca763054c88/go.mod h1:nNs7wvRfN1eKaMknBydLNQU6146XQim8t4h+q90biWo= github.com/huin/goupnp v1.0.3-0.20220313090229-ca81a64b4204/go.mod h1:ZxNlw5WqJj6wSsRK5+YfflQGXYfccj5VgQsMNixHM7Y= github.com/huin/goupnp v1.0.3 h1:N8No57ls+MnjlB+JPiCVSOyy/ot7MJTqlo7rn+NYSqQ= github.com/huin/goupnp v1.0.3/go.mod h1:ZxNlw5WqJj6wSsRK5+YfflQGXYfccj5VgQsMNixHM7Y= github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= +github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= @@ -639,8 +1219,8 @@ github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK github.com/improbable-eng/grpc-web v0.15.0 h1:BN+7z6uNXZ1tQGcNAuaU1YjsLTApzkjt2tzCixLaUPQ= github.com/improbable-eng/grpc-web v0.15.0/go.mod h1:1sy9HKV4Jt9aEs9JSnkWlRJPuPtwNr0l57L4f878wP8= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= -github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/influxdata/flux v0.65.1/go.mod h1:J754/zds0vvpfwuq7Gc2wRdVwEodfpCFM7mYlOw2LqY= github.com/influxdata/influxdb v1.8.3/go.mod h1:JugdFhsvvI8gadxOI6noqNeeBHvWNTbfYGtiAn+2jhI= github.com/influxdata/influxdb-client-go/v2 v2.4.0/go.mod h1:vLNHdxTJkIf2mSLvGrpj8TCcISApPoXkaxP8g9uRlW8= @@ -661,7 +1241,6 @@ github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gavG9e0Q693nKo= -github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= @@ -685,23 +1264,28 @@ github.com/jsternberg/zap-logfmt v1.0.0/go.mod h1:uvPs/4X51zdkcm5jXl5SYoN+4RK21K github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0= github.com/karalabe/usb v0.0.0-20190919080040-51dc0efba356/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= github.com/karalabe/usb v0.0.2/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= +github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d h1:Z+RDyXzjKE0i2sTjZ/b1uxiGtPhFy34Ou/Tk0qwN0kM= github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d/go.mod h1:JJNrCn9otv/2QP4D7SMJBgaleKpOf66PnW6F5WGNRIc= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= +github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.11.2/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= -github.com/klauspost/compress v1.16.0 h1:iULayQNOReoYUe+1qtKOqw9CwJv3aNQu8ivo7lw1HU4= -github.com/klauspost/compress v1.16.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= +github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= +github.com/klauspost/compress v1.17.0 h1:Rnbp4K9EjcDuVuHtd0dgA4qNuv9yKDYKK1ulpJwgrqM= +github.com/klauspost/compress v1.17.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= +github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg= github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -710,6 +1294,7 @@ github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= @@ -720,8 +1305,9 @@ github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+ github.com/labstack/echo/v4 v4.2.1/go.mod h1:AA49e0DZ8kk5jTOOCKNuPR6oTnBS0dYiM4FW1e6jwpg= github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= github.com/leanovate/gopter v0.2.9/go.mod h1:U2L/78B+KVFIx2VmW6onHJQzXtFb+p5y3y2Sh+Jxxv8= -github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= +github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw= github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= @@ -729,11 +1315,16 @@ github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6 github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= +github.com/linxGnu/grocksdb v1.8.12 h1:1/pCztQUOa3BX/1gR3jSZDoaKFpeHFvQ1XrqZpSvZVo= +github.com/linxGnu/grocksdb v1.8.12/go.mod h1:xZCIb5Muw+nhbDK4Y5UJuOrin5MceOuiXkVUR7vp4WY= github.com/lucasjones/reggen v0.0.0-20180717132126-cdb49ff09d77/go.mod h1:5ELEyG+X8f+meRWHuqUOewBOhvHkl7M76pdGEansxW4= +github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= +github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= +github.com/lyft/protoc-gen-star/v2 v2.0.1/go.mod h1:RcCdONR2ScXaYnQC5tUzxzlpA3WVYF7/opLeUgcQs/o= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= -github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= +github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= @@ -745,7 +1336,6 @@ github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVc github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-ieproxy v0.0.0-20190610004146-91bb50d98149/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= @@ -758,14 +1348,16 @@ github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2y github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-isatty v0.0.18 h1:DOKFKCQ7FNG2L1rbrmstDN4QVRdS89Nkh85u68Uwp98= -github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= @@ -776,6 +1368,8 @@ github.com/miguelmota/go-ethereum-hdwallet v0.1.1/go.mod h1:f9m9uXokAHA6WNoYOPjj github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 h1:QRUSJEgZn2Snx0EmT/QLXibWjSUDjKWvXIT19NBVp94= github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= +github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= +github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= @@ -796,8 +1390,8 @@ github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RR github.com/mitchellh/pointerstructure v1.2.0 h1:O+i9nHnXS3l/9Wu7r4NrEdwA2VFTicjUEN1uBnDo34A= github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU= -github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae h1:O4SWKdcHVCvYqyDV+9CJA1fcDN2L11Bule0iFy3YlAI= -github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= +github.com/moby/term v0.0.0-20221205130635-1aeaba878587 h1:HfkjXDfhgVaN5rmueG8cL8KKeFNecRCXFhaJ2qZ5SKA= +github.com/moby/term v0.0.0-20221205130635-1aeaba878587/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -838,16 +1432,12 @@ github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= -github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= -github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= github.com/onsi/gomega v1.20.0 h1:8W0cWlwFkflGPLltQvLRB7ZVD5HuP6ng320w2IS245Q= github.com/onsi/gomega v1.20.0/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= @@ -878,15 +1468,13 @@ github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0Mw github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/paulbellamy/ratecounter v0.2.0/go.mod h1:Hfx1hDpSGoqxkVVpBi/IlYD7kChlfo5C6hzIHwPqfFE= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= -github.com/peggyjv/gravity-bridge/module/v4 v4.0.1 h1:HO6d8rYdG3GseYVpiVjLu0Nwzbh1wXeF8bET/jXhRbk= -github.com/peggyjv/gravity-bridge/module/v4 v4.0.1/go.mod h1:n8Jj3X+w6q0Xz19w8feRRl2sfIGV+3FGU4anzXBQGbA= -github.com/peggyjv/sommelier/v7 v7.0.1 h1:cyjq9g9f+SGbxRmbGD5hDQK0RVDONAiS0rSIFQ+F3oM= -github.com/peggyjv/sommelier/v7 v7.0.1/go.mod h1:lfoCsBhGd8IhBEYkNGiRBxCAfOwSSMLlVFUuJSGuV6M= +github.com/peggyjv/gravity-bridge/module/v5 v5.0.0-20241023135054-397d3b1298c8 h1:jj4hxYu473+F19IQU1L11lyLOgqnUKMSNJX2kKtWdbk= +github.com/peggyjv/gravity-bridge/module/v5 v5.0.0-20241023135054-397d3b1298c8/go.mod h1:/vcYmGnfzHn2d7Ptxq1PLLC3gpuMJz46r2tZXFSCC6k= +github.com/peggyjv/sommelier/v8 v8.0.3 h1:mmTof4jPoVrd1hFD468vwuI5lEZyJKZJK7FDrYBFehU= +github.com/peggyjv/sommelier/v8 v8.0.3/go.mod h1:he834zUMiZyfCACxQLaBz00DSeC2Migz0xMKakDDryg= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= -github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml/v2 v2.0.7 h1:muncTPStnKRos5dpVKULv2FVd4bMOhNePj9CjgDb8Us= -github.com/pelletier/go-toml/v2 v2.0.7/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= +github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4= +github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0= @@ -894,18 +1482,26 @@ github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCr github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 h1:hDSdbBuw3Lefr6R18ax0tZ2BJeNB3NehB3trOwYBsdU= github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= -github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= +github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= +github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= +github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= +github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= +github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= @@ -939,8 +1535,8 @@ github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsT github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.3.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI= -github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY= +github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= +github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= github.com/prometheus/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= @@ -948,30 +1544,37 @@ github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Ung github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/regen-network/cosmos-proto v0.3.1 h1:rV7iM4SSFAagvy8RiyhiACbWEGotmqzywPxOvwMdxcg= -github.com/regen-network/cosmos-proto v0.3.1/go.mod h1:jO0sVX6a1B36nmE8C9xBFXpNwWejXC7QqCOnH3O0+YM= github.com/regen-network/protobuf v1.3.3-alpha.regen.1 h1:OHEc+q5iIAXpqiqFKeLpu5NwTIkVXUs48vFMwzqpqY4= github.com/regen-network/protobuf v1.3.3-alpha.regen.1/go.mod h1:2DjTFR1HhMQhiWC5sZ4OhQ3+NtdbZ6oBDKQwq5Ou+FI= +github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod h1:RDpi1RftBQPUCDRw6SmxeaREsAaRKnOclghuzp/WRzc= github.com/rjeczalik/notify v0.9.1 h1:CLCKso/QK1snAlnhNR/CNvNiFU2saUtjV0bx3EwNeCE= github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= -github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U= -github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/rs/zerolog v1.29.1 h1:cO+d60CHkknCbvzEWxP0S9K6KqyTjrCNUy1LdQLCGPc= -github.com/rs/zerolog v1.29.1/go.mod h1:Le6ESbR7hc+DP6Lt1THiV8CQSdkkNrd3R0XbEgp3ZBU= +github.com/rs/cors v1.8.3 h1:O+qNyWn7Z+F9M0ILBHgMVPuB1xTOucVd5gtaYyXBpRo= +github.com/rs/cors v1.8.3/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= +github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/zerolog v1.33.0 h1:1cU2KZkvPxNyfgEmhHAz/1A9Bz+llsdYzklWFzgp0r8= +github.com/rs/zerolog v1.33.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= +github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= +github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= +github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= +github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/sasha-s/go-deadlock v0.3.1 h1:sqv7fDNShgjcaxkO0JNcOAlr8B9+cV5Ey/OB71efZx0= github.com/sasha-s/go-deadlock v0.3.1/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= @@ -995,29 +1598,32 @@ github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1 github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= +github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= +github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= +github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= +github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= +github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= +github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= -github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= +github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= +github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= -github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= +github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= +github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= -github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.14.0 h1:Rg7d3Lo706X9tHsJMUjdiwMpHB7W8WnSVOssIY+JElU= -github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= +github.com/spf13/viper v1.18.2 h1:LUXCnvUvSM6FXAsj6nnfc8Q2tp1dIgUfY9Kc8GsSOiQ= +github.com/spf13/viper v1.18.2/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMVB+yk= github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4 h1:Gb2Tyox57NRNuZ2d3rmvB3pcmbu7O1RS3m8WRx7ilrg= github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= @@ -1027,8 +1633,9 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.2.0/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= @@ -1037,33 +1644,26 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs= -github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= +github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= -github.com/syndtr/goleveldb v1.0.1-0.20210305035536-64b5b1c73954/go.mod h1:u2MKkTVTVJWe5D1rCvame8WqhBd88EuIwODJZ1VHCPM= +github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY= github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= -github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d h1:vfofYNRScrDdvS342BElfbETmL1Aiz3i2t0zfRj16Hs= -github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d/go.mod h1:RRCYJbIwD5jmqPI9XoAFR0OcDxqUctll6zUj/+B4S48= -github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c h1:g+WoO5jjkqGAzHWCjJB1zZfXPIAaDpzXIEJ0eS6B5Ok= -github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c/go.mod h1:ahpPrc7HpcfEWDQRZEmnXMzHY03mLDYMCxeDzy46i+8= github.com/tendermint/go-amino v0.16.0 h1:GyhmgQKvqF82e2oZeuMSp9JTN0N09emoSZlb2lyGa2E= github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoMC9Sphe2ZwGME= -github.com/tendermint/tm-db v0.6.7 h1:fE00Cbl0jayAoqlExN6oyQJ7fR/ZtoVOmvPJ//+shu8= -github.com/tendermint/tm-db v0.6.7/go.mod h1:byQDzFkZV1syXr/ReXS808NxA2xvyuuVgXOJ/088L6I= -github.com/tidwall/btree v1.5.0 h1:iV0yVY/frd7r6qGBXfEYs7DH0gTDgrKTrDjS7xt/IyQ= -github.com/tidwall/btree v1.5.0/go.mod h1:LGm8L/DZjPLmeWGjv5kFrY8dL4uVhMmzmmLYmsObdKE= +github.com/tidwall/btree v1.6.0 h1:LDZfKfQIBHGHWSwckhXI0RPSXzlo+KYdjK7FWSqOzzg= +github.com/tidwall/btree v1.6.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= github.com/tidwall/gjson v1.12.1/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/gjson v1.14.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= github.com/tidwall/sjson v1.2.4/go.mod h1:098SZ494YoMWPmMO6ct4dcFnqxwj9r/gF0Etp19pSNM= github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= -github.com/tinylib/msgp v1.1.5/go.mod h1:eQsjooMTnV42mHu917E26IogZ2930nFyBQdofk10Udg= github.com/tklauser/go-sysconf v0.3.5/go.mod h1:MkWzOF4RMCshBAMXuhXJs64Rte09mITnppBXY/rYEFI= github.com/tklauser/go-sysconf v0.3.9 h1:JeUVdAOWhhxVcU6Eqr/ATFHgXk/mmiItdKeJPev3vTo= github.com/tklauser/go-sysconf v0.3.9/go.mod h1:11DU/5sG7UexIrp/O6g35hrWzu0JxlwQ3LSFUzyeuhs= @@ -1071,7 +1671,6 @@ github.com/tklauser/numcpus v0.2.2/go.mod h1:x3qojaO3uyYt0i56EW/VUYs7uBvdl2fkfZF github.com/tklauser/numcpus v0.3.0 h1:ILuRUQBtssgnxw0XXIjKUC56fgnOrFoQQ/4+DeU2biQ= github.com/tklauser/numcpus v0.3.0/go.mod h1:yFGUr7TUHQRAhyqBcEg0Ge34zDBAsIvJJcyE6boqnA8= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/ttacon/chalk v0.0.0-20160626202418-22c06c80ed31/go.mod h1:onvgF043R+lC5RZ8IT9rBXDaEDnpnw/Cl+HFiw+v/7Q= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= github.com/tyler-smith/go-bip39 v1.0.2 h1:+t3w+KwLXO6154GNJY+qUtIxLTmFjfUmpguQT1OlOT8= @@ -1079,10 +1678,12 @@ github.com/tyler-smith/go-bip39 v1.0.2/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2 github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= -github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= -github.com/ulikunitz/xz v0.5.8 h1:ERv8V6GKqVi23rgu5cj9pVfVzJbOqAY2Ntl88O6c2nQ= -github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0= +github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= +github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/ulikunitz/xz v0.5.11 h1:kpFauv27b6ynzBNT/Xy+1k+fK4WswhN/6PN5WhFAGw8= +github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1 h1:+mkCCcOFKPnCmVYVcURKps1Xe+3zP90gSYGNfRkjoIY= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= @@ -1114,14 +1715,17 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= +github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= github.com/zondax/hid v0.9.2 h1:WCJFnEDMiqGF64nlZz28E9qLVZ0KSJ7xpc5DLEyma2U= github.com/zondax/hid v0.9.2/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= github.com/zondax/ledger-go v0.14.3 h1:wEpJt2CEcBJ428md/5MgSLsXLBos98sBOyxNmCjfUCw= github.com/zondax/ledger-go v0.14.3/go.mod h1:IKKaoxupuB43g4NxeQmbLXv7T9AlQyie1UpHb342ycI= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= -go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= +go.etcd.io/bbolt v1.3.8 h1:xs88BrvEv273UsB79e0hcVrlUWmS0a8upikMFhSyAtA= +go.etcd.io/bbolt v1.3.8/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= @@ -1131,6 +1735,7 @@ go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 h1:4Pp6oUg3+e/6M4C0A/3kJ2VYa++dsWVTtGgLVj5xtHg= @@ -1145,11 +1750,16 @@ go.opentelemetry.io/otel/sdk v1.22.0 h1:6coWHw9xw7EfClIC/+O31R8IY3/+EiRFHevmHafB go.opentelemetry.io/otel/sdk v1.22.0/go.mod h1:iu7luyVGYovrRpe2fmj3CVKouQNdTOkxtLzPvPz1DOc= go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +go.uber.org/multierr v1.10.0 h1:S0h4aNzvfcFsC3dRF1jLoaov7oRaKqRGC/pUEJ2yvPQ= +go.uber.org/multierr v1.10.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= @@ -1163,6 +1773,7 @@ golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190909091759-094676da4a83/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= @@ -1177,27 +1788,22 @@ golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -golang.org/x/exp v0.0.0-20230310171629-522b1b587ee0 h1:LGJsf5LRplCck6jUCH3dBL2dmycNruWNF5xugkSlfXw= -golang.org/x/exp v0.0.0-20230310171629-522b1b587ee0/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/exp v0.0.0-20230711153332-06a737ee72cb h1:xIApU0ow1zwMa2uL1VDNeQlNVFTWMQxZUZCMDy0Q4Us= +golang.org/x/exp v0.0.0-20230711153332-06a737ee72cb/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1209,20 +1815,24 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.9.0 h1:KENHtAZL2y3NLMYZeHY9DW8HW8V+kQyJsY/V9JlKvCs= +golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= +golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= +golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1271,17 +1881,35 @@ golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210220033124-5f55cee0dc0d/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc= -golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= +golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= +golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= +golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= +golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= +golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1291,6 +1919,26 @@ golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= +golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec= +golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= +golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI= golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1304,7 +1952,11 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1319,7 +1971,6 @@ golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1334,7 +1985,6 @@ golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1365,48 +2015,83 @@ golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210420205809-ac73e9fd8988/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210816074244-15123e1e1f71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211116061358-0a5406a5449c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220517195934-5e4e11fc645e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= +golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= +golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= +golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= +golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1419,6 +2104,12 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= +golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1427,6 +2118,8 @@ golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1436,7 +2129,6 @@ golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= @@ -1444,11 +2136,9 @@ golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBn golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1464,7 +2154,6 @@ golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= @@ -1480,32 +2169,48 @@ golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201022035929-9cf592e881e9/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201124115921-2c860bdd6e78/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4= +golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= +golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= +golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ= +golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.6.0/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= +gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= +gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= +gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA= gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= +gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY= +gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo= google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= @@ -1526,6 +2231,42 @@ google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz513 google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= +google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= +google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= +google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= +google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= +google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= +google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= +google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= +google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= +google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= +google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= +google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= +google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= +google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= +google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g= +google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI= +google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08= +google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= +google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= +google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0= +google.golang.org/api v0.106.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.107.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.108.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI= google.golang.org/api v0.169.0 h1:QwWPy71FgMWqJN/l6jVlFHUa29a7dcUy02I8o799nPY= google.golang.org/api v0.169.0/go.mod h1:gpNOiMA2tZ4mf5R9Iwf4rK/Dcz0fbdIgWYWVoxmsyLg= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= @@ -1581,7 +2322,96 @@ google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= +google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= +google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= +google.golang.org/genproto v0.0.0-20220329172620-7be39ac1afc7/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220722212130-b98a9ff5e252/go.mod h1:GkXuJDJ6aQ7lnJcRF+SJVgFdQhypqgl3LB1C9vabdRE= +google.golang.org/genproto v0.0.0-20220801145646-83ce21fca29f/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= +google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220829144015-23454907ede3/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220829175752-36a9c930ecbf/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220913154956-18f8339a66a5/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220914142337-ca0e39ece12f/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220915135415-7fd63a7952de/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220916172020-2692e8806bfa/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220919141832-68c03719ef51/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006/go.mod h1:ht8XFiar2npT/g4vkk7O0WYS1sHOHbdujxbEp7CJWbw= +google.golang.org/genproto v0.0.0-20220926165614-551eb538f295/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= +google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= +google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U= +google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= +google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= +google.golang.org/genproto v0.0.0-20221024153911-1573dae28c9c/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo= +google.golang.org/genproto v0.0.0-20221109142239-94d6d90a7d66/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221114212237-e4508ebdbee1/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221117204609-8f9c96812029/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221201204527-e3fa12d562f3/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE= +google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230112194545-e10362b5ecf9/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230113154510-dbe35b8444a5/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230123190316-2c411cf9d197/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230124163310-31e0e69b6fc2/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230127162408-596548ed4efa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA= +google.golang.org/genproto v0.0.0-20230222225845-10f96fb3dbec/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= +google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 h1:9+tzLLstTlPTRyJTh+ah5wIMsBW5c4tQwGTN3thOW9Y= google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:mqHbVIp48Muh7Ywss/AD6I5kNVKZMmAa/QEW58Gxp2s= google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 h1:RFiFrvy37/mpSpdySBDrUdipW/dHwsRwh3J3+A9VgT4= @@ -1590,7 +2420,6 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 h1: google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -1612,8 +2441,32 @@ google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTp google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= +google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= +google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= +google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= +google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1627,6 +2480,9 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= @@ -1668,9 +2524,8 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= -gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= -gotest.tools/v3 v3.3.0 h1:MfDY1b1/0xN1CyMlQDac0ziEy9zJQd9CXBRRDHw2jJo= -gotest.tools/v3 v3.3.0/go.mod h1:Mcr9QNxkg0uMvy/YElmo4SpXgJKWgQvYrT7Kw5RzJ1A= +gotest.tools/v3 v3.5.1 h1:EENdUnS3pdur5nybKYIh2Vfgc8IUNBjxDPSjtiJcOzU= +gotest.tools/v3 v3.5.1/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -1680,16 +2535,50 @@ honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= +lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= +lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= +modernc.org/cc/v3 v3.36.0/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= +modernc.org/cc/v3 v3.36.2/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= +modernc.org/cc/v3 v3.36.3/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= +modernc.org/ccgo/v3 v3.0.0-20220428102840-41399a37e894/go.mod h1:eI31LL8EwEBKPpNpA4bU1/i+sKOwOrQy8D87zWUcRZc= +modernc.org/ccgo/v3 v3.0.0-20220430103911-bc99d88307be/go.mod h1:bwdAnOoaIt8Ax9YdWGjxWsdkPcZyRPHqrOvJxaKAKGw= +modernc.org/ccgo/v3 v3.16.4/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= +modernc.org/ccgo/v3 v3.16.6/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= +modernc.org/ccgo/v3 v3.16.8/go.mod h1:zNjwkizS+fIFDrDjIAgBSCLkWbJuHF+ar3QRn+Z9aws= +modernc.org/ccgo/v3 v3.16.9/go.mod h1:zNMzC9A9xeNUepy6KuZBbugn3c0Mc9TeiJO4lgvkJDo= +modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= +modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= +modernc.org/libc v0.0.0-20220428101251-2d5f3daf273b/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= +modernc.org/libc v1.16.0/go.mod h1:N4LD6DBE9cf+Dzf9buBlzVJndKr/iJHG97vGLHYnb5A= +modernc.org/libc v1.16.1/go.mod h1:JjJE0eu4yeK7tab2n4S1w8tlWd9MxXLRzheaRnAKymU= +modernc.org/libc v1.16.17/go.mod h1:hYIV5VZczAmGZAnG15Vdngn5HSF5cSkbvfz2B7GRuVU= +modernc.org/libc v1.16.19/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= +modernc.org/libc v1.17.0/go.mod h1:XsgLldpP4aWlPlsjqKRdHPqCxCjISdHfM/yeWC5GyW0= +modernc.org/libc v1.17.1/go.mod h1:FZ23b+8LjxZs7XtFMbSzL/EhPxNbfZbErxEHc7cbD9s= +modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/mathutil v1.4.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/memory v1.1.1/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= +modernc.org/memory v1.2.0/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= +modernc.org/memory v1.2.1/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= +modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= +modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= +modernc.org/sqlite v1.18.1/go.mod h1:6ho+Gow7oX5V+OiOQ6Tr4xeqbx13UZ6t+Fw9IRUG4d4= +modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw= +modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw= +modernc.org/tcl v1.13.1/go.mod h1:XOLfOwzhkljL4itZkK6T72ckMgvj0BDsnKNdZVUOecw= +modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= +modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8= nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= -pgregory.net/rapid v0.5.3 h1:163N50IHFqr1phZens4FQOdPgfJscR7a562mjQqeo4M= -pgregory.net/rapid v0.5.3/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= +pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw= +pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= rsc.io/tmplfunc v0.0.3/go.mod h1:AG3sTPzElb1Io3Yg4voV9AGZJuleGAwaVRxL9M49PhA= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= +sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= +sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= diff --git a/integration_tests/chain.go b/integration_tests/chain.go index 3a695915..cba3ebd7 100644 --- a/integration_tests/chain.go +++ b/integration_tests/chain.go @@ -5,27 +5,48 @@ import ( "io/ioutil" "os" + corktypes "github.com/peggyjv/sommelier/v8/x/cork/types/v2" + + tmrand "github.com/cometbft/cometbft/libs/rand" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/client/tx" "github.com/cosmos/cosmos-sdk/codec" - sdkTypes "github.com/cosmos/cosmos-sdk/codec/types" "github.com/cosmos/cosmos-sdk/crypto/hd" "github.com/cosmos/cosmos-sdk/crypto/keyring" "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" - "github.com/cosmos/cosmos-sdk/simapp" sdk "github.com/cosmos/cosmos-sdk/types" + moduletestutil "github.com/cosmos/cosmos-sdk/types/module/testutil" "github.com/cosmos/cosmos-sdk/types/tx/signing" - sdkTx "github.com/cosmos/cosmos-sdk/x/auth/tx" + "github.com/cosmos/cosmos-sdk/x/auth" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + "github.com/cosmos/cosmos-sdk/x/auth/vesting" + "github.com/cosmos/cosmos-sdk/x/bank" + "github.com/cosmos/cosmos-sdk/x/capability" + "github.com/cosmos/cosmos-sdk/x/consensus" + "github.com/cosmos/cosmos-sdk/x/crisis" + "github.com/cosmos/cosmos-sdk/x/distribution" + "github.com/cosmos/cosmos-sdk/x/evidence" + "github.com/cosmos/cosmos-sdk/x/genutil" + "github.com/cosmos/cosmos-sdk/x/gov" + govclient "github.com/cosmos/cosmos-sdk/x/gov/client" + govtypesv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" + "github.com/cosmos/cosmos-sdk/x/mint" + paramsclient "github.com/cosmos/cosmos-sdk/x/params/client" + "github.com/cosmos/cosmos-sdk/x/slashing" + "github.com/cosmos/cosmos-sdk/x/staking" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - gravitytypes "github.com/peggyjv/gravity-bridge/module/v4/x/gravity/types" - "github.com/peggyjv/sommelier/v7/app" - "github.com/peggyjv/sommelier/v7/app/params" - tmrand "github.com/tendermint/tendermint/libs/rand" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" + "github.com/cosmos/cosmos-sdk/x/upgrade" + upgradeclient "github.com/cosmos/cosmos-sdk/x/upgrade/client" + ibctransfer "github.com/cosmos/ibc-go/v7/modules/apps/transfer" + ibc "github.com/cosmos/ibc-go/v7/modules/core" + gravityclient "github.com/peggyjv/gravity-bridge/module/v5/x/gravity/client" + gravitytypes "github.com/peggyjv/gravity-bridge/module/v5/x/gravity/types" + "github.com/peggyjv/sommelier/v8/app" + "github.com/peggyjv/sommelier/v8/app/params" ) const ( @@ -203,25 +224,44 @@ func (c *chain) createOrchestrator(index int) *orchestrator { } func (c *chain) clientContext(nodeURI string, kb *keyring.Keyring, fromName string, fromAddr sdk.AccAddress) (*client.Context, error) { - amino := codec.NewLegacyAmino() - interfaceRegistry := sdkTypes.NewInterfaceRegistry() - interfaceRegistry.RegisterImplementations((*sdk.Msg)(nil), + encodingConfig := moduletestutil.MakeTestEncodingConfig( + auth.AppModuleBasic{}, + genutil.AppModuleBasic{}, + bank.AppModuleBasic{}, + capability.AppModuleBasic{}, + consensus.AppModuleBasic{}, + staking.AppModuleBasic{}, + mint.AppModuleBasic{}, + distribution.AppModuleBasic{}, + gov.NewAppModuleBasic( + []govclient.ProposalHandler{ + paramsclient.ProposalHandler, + upgradeclient.LegacyProposalHandler, + upgradeclient.LegacyCancelProposalHandler, + gravityclient.ProposalHandler, + }, + ), + //params.AppModuleBasic{}, + crisis.AppModuleBasic{}, + slashing.AppModuleBasic{}, + ibc.AppModuleBasic{}, + upgrade.AppModuleBasic{}, + evidence.AppModuleBasic{}, + ibctransfer.AppModuleBasic{}, + vesting.AppModuleBasic{}, + ) + encodingConfig.InterfaceRegistry.RegisterImplementations((*sdk.Msg)(nil), &stakingtypes.MsgCreateValidator{}, &gravitytypes.MsgDelegateKeys{}, ) - interfaceRegistry.RegisterImplementations((*cryptotypes.PubKey)(nil), &secp256k1.PubKey{}, &ed25519.PubKey{}) - - protoCodec := codec.NewProtoCodec(interfaceRegistry) - txCfg := sdkTx.NewTxConfig(protoCodec, sdkTx.DefaultSignModes) - - encodingConfig := params.EncodingConfig{ - InterfaceRegistry: interfaceRegistry, - Marshaler: protoCodec, - TxConfig: txCfg, - Amino: amino, - } - simapp.ModuleBasics.RegisterLegacyAminoCodec(encodingConfig.Amino) - simapp.ModuleBasics.RegisterInterfaces(encodingConfig.InterfaceRegistry) + encodingConfig.InterfaceRegistry.RegisterImplementations((*govtypesv1beta1.Content)(nil), + &corktypes.AddManagedCellarIDsProposal{}, + &corktypes.RemoveManagedCellarIDsProposal{}, + &corktypes.ScheduledCorkProposal{}, + ) + encodingConfig.InterfaceRegistry.RegisterImplementations((*cryptotypes.PubKey)(nil), &secp256k1.PubKey{}, &ed25519.PubKey{}) + // simapp.ModuleBasics.RegisterLegacyAminoCodec(encodingConfig.Amino) + // simapp.ModuleBasics.RegisterInterfaces(encodingConfig.InterfaceRegistry) rpcClient, err := rpchttp.New(nodeURI, "/websocket") if err != nil { @@ -230,14 +270,14 @@ func (c *chain) clientContext(nodeURI string, kb *keyring.Keyring, fromName stri clientContext := client.Context{}. WithChainID(c.id). - WithCodec(protoCodec). + WithCodec(encodingConfig.Codec). WithInterfaceRegistry(encodingConfig.InterfaceRegistry). WithTxConfig(encodingConfig.TxConfig). WithLegacyAmino(encodingConfig.Amino). WithInput(os.Stdin). WithNodeURI(nodeURI). WithClient(rpcClient). - WithBroadcastMode(flags.BroadcastBlock). + WithBroadcastMode(flags.BroadcastSync). WithKeyring(*kb). WithAccountRetriever(authtypes.AccountRetriever{}). WithOutputFormat("json"). diff --git a/integration_tests/genesis.go b/integration_tests/genesis.go index 37a33fbe..e7b0628b 100644 --- a/integration_tests/genesis.go +++ b/integration_tests/genesis.go @@ -5,13 +5,13 @@ import ( "fmt" "os" + tmtypes "github.com/cometbft/cometbft/types" "github.com/cosmos/cosmos-sdk/server" sdk "github.com/cosmos/cosmos-sdk/types" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" "github.com/cosmos/cosmos-sdk/x/genutil" genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" - tmtypes "github.com/tendermint/tendermint/types" ) func getGenDoc(path string) (*tmtypes.GenesisDoc, error) { diff --git a/integration_tests/proposal_test.go b/integration_tests/proposal_test.go index b2c34537..40de6633 100644 --- a/integration_tests/proposal_test.go +++ b/integration_tests/proposal_test.go @@ -13,8 +13,8 @@ import ( "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/ethclient" - axelarcorktypes "github.com/peggyjv/sommelier/v7/x/axelarcork/types" - corktypesv2 "github.com/peggyjv/sommelier/v7/x/cork/types/v2" + axelarcorktypes "github.com/peggyjv/sommelier/v8/x/axelarcork/types" + corktypesv2 "github.com/peggyjv/sommelier/v8/x/cork/types/v2" ) func (s *IntegrationTestSuite) TestScheduledCorkProposal() { diff --git a/integration_tests/setup_test.go b/integration_tests/setup_test.go index 2c4796b0..bcff5479 100644 --- a/integration_tests/setup_test.go +++ b/integration_tests/setup_test.go @@ -15,15 +15,18 @@ import ( "testing" "time" - gravitytypes "github.com/peggyjv/gravity-bridge/module/v4/x/gravity/types" + gravitytypes "github.com/peggyjv/gravity-bridge/module/v5/x/gravity/types" - corktypes "github.com/peggyjv/sommelier/v7/x/cork/types" - corktypesv2 "github.com/peggyjv/sommelier/v7/x/cork/types/v2" - incentivestypes "github.com/peggyjv/sommelier/v7/x/incentives/types" + corktypes "github.com/peggyjv/sommelier/v8/x/cork/types" + corktypesv2 "github.com/peggyjv/sommelier/v8/x/cork/types/v2" + incentivestypes "github.com/peggyjv/sommelier/v8/x/incentives/types" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/ethclient" + tmconfig "github.com/cometbft/cometbft/config" + tmjson "github.com/cometbft/cometbft/libs/json" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/server" srvconfig "github.com/cosmos/cosmos-sdk/server/config" @@ -32,20 +35,18 @@ import ( crisistypes "github.com/cosmos/cosmos-sdk/x/crisis/types" genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - govtypesv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" + govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" "github.com/ory/dockertest/v3" "github.com/ory/dockertest/v3/docker" - auctiontypes "github.com/peggyjv/sommelier/v7/x/auction/types" - axelarcorktypes "github.com/peggyjv/sommelier/v7/x/axelarcork/types" - cellarfeestypes "github.com/peggyjv/sommelier/v7/x/cellarfees/types" - pubsubtypes "github.com/peggyjv/sommelier/v7/x/pubsub/types" + auctiontypes "github.com/peggyjv/sommelier/v8/x/auction/types" + axelarcorktypes "github.com/peggyjv/sommelier/v8/x/axelarcork/types" + cellarfeestypes "github.com/peggyjv/sommelier/v8/x/cellarfees/types" + cellarfeestypesv2 "github.com/peggyjv/sommelier/v8/x/cellarfees/types/v2" + pubsubtypes "github.com/peggyjv/sommelier/v8/x/pubsub/types" "github.com/spf13/viper" "github.com/stretchr/testify/suite" - tmconfig "github.com/tendermint/tendermint/config" - tmjson "github.com/tendermint/tendermint/libs/json" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" ) const ( @@ -74,6 +75,7 @@ var ( adaptorContract = common.HexToAddress("0x0000000000000000000000000000000000000000") gravityContract = common.HexToAddress("0x04C89607413713Ec9775E14b954286519d836FEf") v2_2Cellar = common.HexToAddress("0x0000000000000000000000000000000000000000") + managerContract = common.HexToAddress("0x0000000000000000000000000000000000000000") ) type IntegrationTestSuite struct { @@ -337,12 +339,12 @@ func (s *IntegrationTestSuite) initGenesis() { s.Require().NoError(err) appGenState[minttypes.ModuleName] = bz - var govGenState govtypesv1beta1.GenesisState + var govGenState govtypesv1.GenesisState + govGenState.Params = &govtypesv1.Params{} + duration := time.Second * 20 + govGenState.Params.VotingPeriod = &duration + govGenState.Params.MinDeposit = sdk.Coins{{Denom: testDenom, Amount: sdk.OneInt()}} s.Require().NoError(cdc.UnmarshalJSON(appGenState[govtypes.ModuleName], &govGenState)) - - // set short voting period to allow gov proposals in tests - govGenState.VotingParams.VotingPeriod = time.Second * 20 - govGenState.DepositParams.MinDeposit = sdk.Coins{{Denom: testDenom, Amount: sdk.OneInt()}} bz, err = cdc.MarshalJSON(&govGenState) s.Require().NoError(err) appGenState[govtypes.ModuleName] = bz @@ -377,7 +379,7 @@ func (s *IntegrationTestSuite) initGenesis() { corkGenState := corktypesv2.DefaultGenesisState() s.Require().NoError(cdc.UnmarshalJSON(appGenState[corktypes.ModuleName], &corkGenState)) corkGenState.CellarIds = corktypesv2.CellarIDSet{ - Ids: []string{aaveCellar.Hex(), vaultCellar.Hex(), v2_2Cellar.Hex()}, + Ids: []string{aaveCellar.Hex(), vaultCellar.Hex(), v2_2Cellar.Hex(), managerContract.Hex()}, } bz, err = cdc.MarshalJSON(&corkGenState) s.Require().NoError(err) @@ -418,7 +420,7 @@ func (s *IntegrationTestSuite) initGenesis() { s.Require().NoError(err) appGenState[auctiontypes.ModuleName] = bz - cellarfeesGenState := cellarfeestypes.DefaultGenesisState() + cellarfeesGenState := cellarfeestypesv2.DefaultGenesisState() s.Require().NoError(cdc.UnmarshalJSON(appGenState[cellarfeestypes.ModuleName], &cellarfeesGenState)) bz, err = cdc.MarshalJSON(&cellarfeesGenState) s.Require().NoError(err) @@ -460,6 +462,13 @@ func (s *IntegrationTestSuite) initGenesis() { AllowedSubscribers: 0, AllowedAddresses: []string{}, }, + { + SubscriptionId: fmt.Sprintf("1:%s", managerContract.Hex()), + PublisherDomain: "localhost", + Method: 1, + AllowedSubscribers: 0, + AllowedAddresses: []string{}, + }, } pubsubGenState.DefaultSubscriptions = []*pubsubtypes.DefaultSubscription{ { @@ -474,6 +483,10 @@ func (s *IntegrationTestSuite) initGenesis() { SubscriptionId: fmt.Sprintf("1:%s", v2_2Cellar.Hex()), PublisherDomain: "localhost", }, + { + SubscriptionId: fmt.Sprintf("1:%s", managerContract.Hex()), + PublisherDomain: "localhost", + }, } bz, err = cdc.MarshalJSON(&pubsubGenState) s.Require().NoError(err) @@ -545,6 +558,7 @@ func (s *IntegrationTestSuite) initValidatorConfigs() { appCfgPath := filepath.Join(val.configDir(), "config", "app.toml") appConfig := srvconfig.DefaultConfig() + appConfig.GRPC.Address = "0.0.0.0:9090" appConfig.API.Enable = true appConfig.Pruning = "nothing" appConfig.MinGasPrices = fmt.Sprintf("%s%s", minGasPrice, testDenom) @@ -675,10 +689,23 @@ func (s *IntegrationTestSuite) runEthContainer() { return false }, time.Minute*5, time.Second*10, "unable to retrieve adaptor address from logs") + s.Require().Eventuallyf(func() bool { + + for _, s := range strings.Split(ethereumLogOutput.String(), "\n") { + if strings.HasPrefix(s, "manager contract deployed at") { + strSpl := strings.Split(s, "-") + managerContract = common.HexToAddress(strings.ReplaceAll(strSpl[1], " ", "")) + return true + } + } + return false + }, time.Minute*5, time.Second*10, "unable to retrieve manager address from logs") + s.T().Logf("gravity contract deployed at %s", gravityContract.String()) s.T().Logf("aave contract deployed at %s", aaveCellar.String()) s.T().Logf("vault cellar contract deployed at %s", vaultCellar.String()) s.T().Logf("adaptor contract deployed at %s", adaptorContract.String()) + s.T().Logf("manager contract deployed at %s", managerContract.String()) s.T().Logf("started Ethereum container: %s", s.ethResource.Container.ID) } diff --git a/integration_tests/validator.go b/integration_tests/validator.go index 479a1783..4ebc5e2c 100644 --- a/integration_tests/validator.go +++ b/integration_tests/validator.go @@ -10,6 +10,10 @@ import ( "github.com/cosmos/cosmos-sdk/client" + tmcfg "github.com/cometbft/cometbft/config" + tmos "github.com/cometbft/cometbft/libs/os" + "github.com/cometbft/cometbft/p2p" + "github.com/cometbft/cometbft/privval" sdkcrypto "github.com/cosmos/cosmos-sdk/crypto" cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" "github.com/cosmos/cosmos-sdk/crypto/hd" @@ -24,13 +28,9 @@ import ( stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" "github.com/ethereum/go-ethereum/common/hexutil" "github.com/ethereum/go-ethereum/crypto" - gravitytypes "github.com/peggyjv/gravity-bridge/module/v4/x/gravity/types" - "github.com/peggyjv/sommelier/v7/app" - typesv2 "github.com/peggyjv/sommelier/v7/x/cork/types/v2" - tmcfg "github.com/tendermint/tendermint/config" - tmos "github.com/tendermint/tendermint/libs/os" - "github.com/tendermint/tendermint/p2p" - "github.com/tendermint/tendermint/privval" + gravitytypes "github.com/peggyjv/gravity-bridge/module/v5/x/gravity/types" + "github.com/peggyjv/sommelier/v8/app" + typesv2 "github.com/peggyjv/sommelier/v8/x/cork/types/v2" ) type validator struct { From a56921b3792581a6354131d39b3d870198d39bfa Mon Sep 17 00:00:00 2001 From: Collin Brittain Date: Fri, 15 Nov 2024 10:03:17 -0600 Subject: [PATCH 09/10] Add Boring vault manager contract integration test --- Makefile | 8 +- integration_tests/cork_test.go | 163 ++- .../MockManagerWithMerkleVerification.json | 271 ++++ .../MockManagerWithMerkleVerification.sol | 91 ++ integration_tests/ethereum/hardhat.config.ts | 17 + .../manager_with_merkle_verification_abi.go | 1087 +++++++++++++++++ 6 files changed, 1617 insertions(+), 20 deletions(-) create mode 100644 integration_tests/ethereum/contracts/MockManagerWithMerkleVerification.json create mode 100644 integration_tests/ethereum/contracts/MockManagerWithMerkleVerification.sol create mode 100644 integration_tests/manager_with_merkle_verification_abi.go diff --git a/Makefile b/Makefile index 0de1c5c3..1a8d2d09 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ .DEFAULT_GOAL := e2e_cork_test -SOMMELIER_VERSION := "v7.0.1" +SOMMELIER_VERSION := "v8.0.3" VALIDATOR_IMAGE := "ghcr.io/peggyjv/sommelier-sommelier:$(SOMMELIER_VERSION)" ORCHESTRATOR_IMAGE := "ghcr.io/peggyjv/gravity-bridge-orchestrator:main" @@ -21,7 +21,7 @@ e2e_build_images: e2e_clean_slate e2e_clean_slate: @scripts/clean_slate.sh -e2e_cork_test: e2e_aave_v2_stablecoin_test e2e_cellar_v1_test e2e_cellar_v2_test e2e_cellar_v2_2_test e2e_scheduled_cork_proposal_test e2e_scheduled_axelar_cork_proposal_test e2e_scheduled_cork_proposal_multicall_test +e2e_cork_test: e2e_aave_v2_stablecoin_test e2e_cellar_v1_test e2e_cellar_v2_test e2e_cellar_v2_2_test e2e_scheduled_cork_proposal_test e2e_scheduled_axelar_cork_proposal_test e2e_scheduled_cork_proposal_multicall_test e2e_boring_vault_manager_test # Because of the way `make` works, using the e2e_clean_slate as as a prerequisite for # the individual tests doesn't work when `e2e_cork_test` runs the test targets in series, @@ -54,6 +54,10 @@ e2e_scheduled_cork_proposal_multicall_test: @scripts/clean_slate.sh @E2E_SKIP_CLEANUP=true integration_tests/integration_tests.test -test.failfast -test.v -test.run IntegrationTestSuite -testify.m TestScheduledCorkMulticallProposal || make -s fail +e2e_boring_vault_manager_test: + @scripts/clean_slate.sh + @E2E_SKIP_CLEANUP=true integration_tests/integration_tests.test -test.failfast -test.v -test.run IntegrationTestSuite -testify.m TestBoringVaultManager || make -s fail + fail: @echo 'test failed; dumping container logs into ./testdata for review' @mkdir -p ./testdata diff --git a/integration_tests/cork_test.go b/integration_tests/cork_test.go index d896a4fe..afd31ee9 100644 --- a/integration_tests/cork_test.go +++ b/integration_tests/cork_test.go @@ -5,6 +5,8 @@ import ( "context" "crypto/tls" "crypto/x509" + "encoding/base64" + "encoding/hex" "encoding/pem" "fmt" "io/ioutil" @@ -18,8 +20,8 @@ import ( "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/ethclient" - gravityTypes "github.com/peggyjv/gravity-bridge/module/v4/x/gravity/types" - corktypesv2 "github.com/peggyjv/sommelier/v7/x/cork/types/v2" + gravityTypes "github.com/peggyjv/gravity-bridge/module/v5/x/gravity/types" + corktypesv2 "github.com/peggyjv/sommelier/v8/x/cork/types/v2" "github.com/peggyjv/steward/steward_proto_go/steward_proto" "google.golang.org/grpc" "google.golang.org/grpc/credentials" @@ -111,11 +113,7 @@ func (s *IntegrationTestSuite) TestAaveV2Stablecoin() { s.queryLogicCallTransaction(clientCtx, invalidationScope, invalidationNonce) - // For non-anonymous events, the first log topic is a keccak256 hash o f the - // event signature. - eventSignature := []byte("LogicCallEvent(bytes32,uint256,bytes,uint256)") - logicCallEventSignatureTopic := crypto.Keccak256Hash(eventSignature) - s.waitForGravityLogicCallEvent(logicCallEventSignatureTopic, invalidationScope, invalidationNonce) + s.waitForGravityLogicCallEvent(invalidationScope, invalidationNonce) s.T().Logf("checking for cellar event") s.Require().Eventuallyf(func() bool { @@ -318,11 +316,7 @@ func (s *IntegrationTestSuite) TestCellarV1() { invalidationNonce := sequence + 1 s.queryLogicCallTransaction(clientCtx, invalidationScope, invalidationNonce) - // For non-anonymous events, the first log topic is a keccak256 hash of the - // event signature. - eventSignature := []byte("LogicCallEvent(bytes32,uint256,bytes,uint256)") - logicCallEventSignatureTopic := crypto.Keccak256Hash(eventSignature) - s.waitForGravityLogicCallEvent(logicCallEventSignatureTopic, invalidationScope, invalidationNonce) + s.waitForGravityLogicCallEvent(invalidationScope, invalidationNonce) s.T().Logf("checking for cellar event") s.Require().Eventuallyf(func() bool { @@ -785,6 +779,119 @@ func (s *IntegrationTestSuite) TestCellarV2_2() { }) } +func (s *IntegrationTestSuite) TestBoringVaultManager() { + s.Run("Set the manage root of the Manager contract", func() { + s.checkCellarExists(managerContract) + + cellarId := managerContract.String() + + val := s.chain.validators[0] + kb, err := val.keyring() + s.Require().NoError(err) + clientCtx, err := s.chain.clientContext("tcp://localhost:26657", &kb, "val", val.address()) + s.Require().NoError(err) + currentHeight, err := s.GetLatestBlockHeight(clientCtx) + s.Require().NoError(err) + scheduledHeight := currentHeight + 10 + + // Create the cork request to send to Steward + manageRoot := "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef" + strategist := "0x1111111111111111111111111111111111111111" + request := &steward_proto.ScheduleRequest{ + ChainId: 1, + CellarId: cellarId, + CallData: &steward_proto.ScheduleRequest_BoringVaultManagerWithMerkleVerification{ + BoringVaultManagerWithMerkleVerification: &steward_proto.BoringVaultManagerWithMerkleVerification{ + Function: &steward_proto.BoringVaultManagerWithMerkleVerification_SetManageRoot_{ + SetManageRoot: &steward_proto.BoringVaultManagerWithMerkleVerification_SetManageRoot{ + ManageRoot: manageRoot, + Strategist: strategist, + }, + }, + }, + }, + BlockHeight: uint64(scheduledHeight), + } + + s.executeStewardCalls(request) + s.waitForScheduledHeight(clientCtx, scheduledHeight) + + // Construct invalidation scope and nonce for gravity query + managerABI, err := ManagerWithMerkleVerificationMetaData.GetAbi() + s.Require().NoError(err) + + methodName := "setManageRoot" + var manageRootBytes [32]byte + manageRootHex, err := hex.DecodeString(manageRoot) + s.Require().NoError(err) + copy(manageRootBytes[:], manageRootHex) + method, err := managerABI.Pack(methodName, common.HexToAddress(strategist), manageRootBytes) + s.Require().NoError(err) + addr := common.HexToAddress(cellarId) + invalidationScope := crypto.Keccak256Hash( + bytes.Join( + [][]byte{addr.Bytes(), method}, + []byte{}, + )).Bytes() + invalidationNonce := 1 + + s.queryLogicCallTransaction(clientCtx, invalidationScope, invalidationNonce) + + // For non-anonymous events, the first log topic is a keccak256 hash o f the + // event signature. + s.waitForGravityLogicCallEvent(invalidationScope, invalidationNonce) + + s.T().Logf("checking for contract event") + s.Require().Eventuallyf(func() bool { + s.T().Log("querying contract events...") + ethClient, err := ethclient.Dial(fmt.Sprintf("http://%s", s.ethResource.GetHostPort("8545/tcp"))) + if err != nil { + return false + } + + // For non-anonymous events, the first log topic is a keccak256 hash of the + // event signature. + eventSignature := []byte("ManageRootUpdated(address,bytes32,bytes32)") + manageRootUpdatedEventSignatureTopic := crypto.Keccak256Hash(eventSignature) + query := ethereum.FilterQuery{ + FromBlock: nil, + ToBlock: nil, + Addresses: []common.Address{ + managerContract, + }, + Topics: [][]common.Hash{ + { + manageRootUpdatedEventSignatureTopic, + }, + }, + } + + logs, err := ethClient.FilterLogs(context.Background(), query) + if err != nil { + ethClient.Close() + return false + } + s.T().Logf("got %v logs", len(logs)) + if len(logs) == 1 { + s.T().Log("saw ManageRootUpdated event!") + + log := logs[0] + if len(log.Topics) >= 2 { // First topic is event signature, second is indexed strategist + strategistAddr := common.HexToAddress(log.Topics[1].Hex()) + var event ManagerWithMerkleVerificationManageRootUpdated + err := managerABI.UnpackIntoInterface(&event, "ManageRootUpdated", log.Data) + s.Require().NoError(err, "failed to unpack ManageRootUpdated event from log data") + s.Require().Equal(strategist, strategistAddr.Hex()) + s.Require().Equal(manageRoot, hex.EncodeToString(event.NewRoot[:])) + return true + } + } + + return false + }, 2*time.Minute, 5*time.Second, "contract event never seen") + }) +} + func (s *IntegrationTestSuite) checkCellarExists(cellar common.Address) { s.T().Logf("checking that cellar %s exists in the chain", cellar.String()) queryClient, err := s.chain.validators[0].GetQueryClient() @@ -871,13 +978,15 @@ func (s *IntegrationTestSuite) executeStewardCalls(request *steward_proto.Schedu } func (s *IntegrationTestSuite) queryLogicCallTransaction(clientCtx *client.Context, invalidationScope []byte, invalidationNonce int) { - s.T().Log("querying gravity module for logic call transaction") + s.T().Logf("querying gravity module for logic call transaction with invalidation scope %s and nonce %d", base64.StdEncoding.EncodeToString(invalidationScope), invalidationNonce) gravityQueryClient := gravityTypes.NewQueryClient(clientCtx) s.Require().Eventuallyf(func() bool { request := &gravityTypes.ContractCallTxsRequest{ Pagination: &query.PageRequest{}, } response, _ := gravityQueryClient.ContractCallTxs(context.Background(), request) + completedRequest := &gravityTypes.CompletedContractCallTxsRequest{} + completedResponse, _ := gravityQueryClient.CompletedContractCallTxs(context.Background(), completedRequest) if response != nil { for _, call := range response.Calls { if bytes.Equal(call.InvalidationScope, invalidationScope) && call.InvalidationNonce == uint64(invalidationNonce) { @@ -886,9 +995,17 @@ func (s *IntegrationTestSuite) queryLogicCallTransaction(clientCtx *client.Conte } } } + if completedResponse != nil { + for _, call := range completedResponse.CompletedContractCallTxs { + if bytes.Equal(call.InvalidationScope, invalidationScope) && call.InvalidationNonce == uint64(invalidationNonce) { + s.T().Log("completed logic call found in the gravity module!") + return true + } + } + } return false - }, 1*time.Minute, 5*time.Second, "cellar event never seen") + }, 2*time.Minute, 10*time.Second, "logic call transaction never seen") time.Sleep(time.Duration(2000000000)) } @@ -914,8 +1031,10 @@ func (s *IntegrationTestSuite) queryLogicCallTransactionByAddress(clientCtx *cli time.Sleep(time.Duration(2000000000)) } -func (s *IntegrationTestSuite) waitForGravityLogicCallEvent(topic common.Hash, invalidationScope []byte, invalidationNonce int) { +func (s *IntegrationTestSuite) waitForGravityLogicCallEvent(invalidationScope []byte, invalidationNonce int) { s.T().Logf("waiting for gravity to submit call to cellar") + eventSignature := []byte("LogicCallEvent(bytes32,uint256,bytes,uint256)") + topic := crypto.Keccak256Hash(eventSignature) gravity_abi, err := GravityMetaData.GetAbi() s.Require().NoError(err) s.Require().Eventuallyf(func() bool { @@ -925,9 +1044,17 @@ func (s *IntegrationTestSuite) waitForGravityLogicCallEvent(topic common.Hash, i return false } + // Get the latest block number + latestBlock, err := ethClient.BlockNumber(context.Background()) + if err != nil { + ethClient.Close() + return false + } + fromBlock := uint64(1) + query := ethereum.FilterQuery{ - FromBlock: nil, - ToBlock: nil, + FromBlock: big.NewInt(int64(fromBlock)), + ToBlock: big.NewInt(int64(latestBlock)), Addresses: []common.Address{ gravityContract, }, @@ -966,5 +1093,5 @@ func (s *IntegrationTestSuite) waitForGravityLogicCallEvent(topic common.Hash, i } } return false - }, 1*time.Minute, 5*time.Second, "cellar event never seen") + }, 2*time.Minute, 10*time.Second, "LogicCallEvent never seen") } diff --git a/integration_tests/ethereum/contracts/MockManagerWithMerkleVerification.json b/integration_tests/ethereum/contracts/MockManagerWithMerkleVerification.json new file mode 100644 index 00000000..5d622c8c --- /dev/null +++ b/integration_tests/ethereum/contracts/MockManagerWithMerkleVerification.json @@ -0,0 +1,271 @@ +[ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_vault", + "type": "address" + }, + { + "internalType": "address", + "name": "_balancerVault", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "ManagerWithMerkleVerification__BadFlashLoanIntentHash", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "bytes", + "name": "targetData", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "ManagerWithMerkleVerification__FailedToVerifyManageProof", + "type": "error" + }, + { + "inputs": [], + "name": "ManagerWithMerkleVerification__FlashLoanNotExecuted", + "type": "error" + }, + { + "inputs": [], + "name": "ManagerWithMerkleVerification__FlashLoanNotInProgress", + "type": "error" + }, + { + "inputs": [], + "name": "ManagerWithMerkleVerification__InvalidDecodersAndSanitizersLength", + "type": "error" + }, + { + "inputs": [], + "name": "ManagerWithMerkleVerification__InvalidManageProofLength", + "type": "error" + }, + { + "inputs": [], + "name": "ManagerWithMerkleVerification__InvalidTargetDataLength", + "type": "error" + }, + { + "inputs": [], + "name": "ManagerWithMerkleVerification__InvalidValuesLength", + "type": "error" + }, + { + "inputs": [], + "name": "ManagerWithMerkleVerification__OnlyCallableByBalancerVault", + "type": "error" + }, + { + "inputs": [], + "name": "ManagerWithMerkleVerification__OnlyCallableByBoringVault", + "type": "error" + }, + { + "inputs": [], + "name": "ManagerWithMerkleVerification__Paused", + "type": "error" + }, + { + "inputs": [], + "name": "ManagerWithMerkleVerification__TotalSupplyMustRemainConstantDuringPlatform", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "callsMade", + "type": "uint256" + } + ], + "name": "BoringVaultManaged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "strategist", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "oldRoot", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "newRoot", + "type": "bytes32" + } + ], + "name": "ManageRootUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "Paused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "Unpaused", + "type": "event" + }, + { + "inputs": [], + "name": "isPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "manageRoot", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "strategist", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_manageRoot", + "type": "bytes32" + } + ], + "name": "setManageRoot", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unpause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vault", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } +] diff --git a/integration_tests/ethereum/contracts/MockManagerWithMerkleVerification.sol b/integration_tests/ethereum/contracts/MockManagerWithMerkleVerification.sol new file mode 100644 index 00000000..3f3ec974 --- /dev/null +++ b/integration_tests/ethereum/contracts/MockManagerWithMerkleVerification.sol @@ -0,0 +1,91 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity 0.8.16; + +import {Address, Owned} from "./interfaces.sol"; + +contract ManagerWithMerkleVerification is Owned { + using Address for address; + + // ========================================= STATE ========================================= + + /** + * @notice A merkle tree root that restricts what data can be passed to the BoringVault. + * @dev Maps a strategist address to their specific merkle root. + * @dev Each leaf is composed of the keccak256 hash of abi.encodePacked {decodersAndSanitizer, target, valueIsNonZero, selector, argumentAddress_0, ...., argumentAddress_N} + * Where: + * - decodersAndSanitizer is the addres to call to extract packed address arguments from the calldata + * - target is the address to make the call to + * - valueIsNonZero is a bool indicating whether or not the value is non-zero + * - selector is the function selector on target + * - argumentAddress is each allowed address argument in that call + */ + mapping(address => bytes32) public manageRoot; + + /** + * @notice Used to pause calls to `manageVaultWithMerkleVerification`. + */ + bool public isPaused; + + //============================== ERRORS =============================== + + error ManagerWithMerkleVerification__InvalidManageProofLength(); + error ManagerWithMerkleVerification__InvalidTargetDataLength(); + error ManagerWithMerkleVerification__InvalidValuesLength(); + error ManagerWithMerkleVerification__InvalidDecodersAndSanitizersLength(); + error ManagerWithMerkleVerification__FlashLoanNotExecuted(); + error ManagerWithMerkleVerification__FlashLoanNotInProgress(); + error ManagerWithMerkleVerification__BadFlashLoanIntentHash(); + error ManagerWithMerkleVerification__FailedToVerifyManageProof(address target, bytes targetData, uint256 value); + error ManagerWithMerkleVerification__Paused(); + error ManagerWithMerkleVerification__OnlyCallableByBoringVault(); + error ManagerWithMerkleVerification__OnlyCallableByBalancerVault(); + error ManagerWithMerkleVerification__TotalSupplyMustRemainConstantDuringPlatform(); + + //============================== EVENTS =============================== + + event ManageRootUpdated(address indexed strategist, bytes32 oldRoot, bytes32 newRoot); + event BoringVaultManaged(uint256 callsMade); + event Paused(); + event Unpaused(); + + //============================== IMMUTABLES =============================== + + /** + * @notice The BoringVault this contract can manage. + */ + address public immutable vault; + + constructor(address _owner, address _vault, address _balancerVault) Owned(msg.sender) { + vault = payable(_vault); + } + + // ========================================= ADMIN FUNCTIONS ========================================= + + /** + * @notice Sets the manageRoot. + * @dev Callable by OWNER_ROLE. + */ + function setManageRoot(address strategist, bytes32 _manageRoot) external { + bytes32 oldRoot = manageRoot[strategist]; + manageRoot[strategist] = _manageRoot; + emit ManageRootUpdated(strategist, oldRoot, _manageRoot); + } + + /** + * @notice Pause this contract, which prevents future calls to `manageVaultWithMerkleVerification`. + * @dev Callable by MULTISIG_ROLE. + */ + function pause() external { + isPaused = true; + emit Paused(); + } + + /** + * @notice Unpause this contract, which allows future calls to `manageVaultWithMerkleVerification`. + * @dev Callable by MULTISIG_ROLE. + */ + function unpause() external { + isPaused = false; + emit Unpaused(); + } +} diff --git a/integration_tests/ethereum/hardhat.config.ts b/integration_tests/ethereum/hardhat.config.ts index 201b6865..691429ba 100644 --- a/integration_tests/ethereum/hardhat.config.ts +++ b/integration_tests/ethereum/hardhat.config.ts @@ -50,6 +50,15 @@ task( await adaptor.deployed(); console.log(`adaptor contract deployed at - ${adaptor.address}`); + const Manager = await hre.ethers.getContractFactory("ManagerWithMerkleVerification"); + const manager = (await Manager.deploy( + gravity.address, + "0x0000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000" + )); + await manager.deployed(); + console.log(`manager contract deployed at - ${manager.address}`); + let cellarSignerAddress = await aaveCellar.signer.getAddress() await hre.network.provider.request({ method: 'hardhat_impersonateAccount', @@ -88,6 +97,14 @@ task( `Adaptor contract at ${adaptor.address} is now owned by Gravity contract at ${gravity.address} with hash ${adaptorHash}`, ); + let { managerHash } = await manager.setOwner(gravity.address, { + gasPrice: hre.ethers.BigNumber.from('99916001694'), + from: cellarSignerAddress + }); + console.log( + `Manager Cellar contract at ${manager.address} is now owned by Gravity contract at ${gravity.address} with hash ${managerHash}`, + ) + await hre.network.provider.send("evm_setIntervalMining", [1000]); await hre.run('node'); diff --git a/integration_tests/manager_with_merkle_verification_abi.go b/integration_tests/manager_with_merkle_verification_abi.go new file mode 100644 index 00000000..b36008dd --- /dev/null +++ b/integration_tests/manager_with_merkle_verification_abi.go @@ -0,0 +1,1087 @@ +// Code generated - DO NOT EDIT. +// This file is a generated binding and any manual changes will be lost. + +package integration_tests + +import ( + "errors" + "math/big" + "strings" + + ethereum "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/event" +) + +// Reference imports to suppress errors if they are not otherwise used. +var ( + _ = errors.New + _ = big.NewInt + _ = strings.NewReader + _ = ethereum.NotFound + _ = bind.Bind + _ = common.Big1 + _ = types.BloomLookup + _ = event.NewSubscription +) + +// ManagerWithMerkleVerificationMetaData contains all meta data concerning the ManagerWithMerkleVerification contract. +var ManagerWithMerkleVerificationMetaData = &bind.MetaData{ + ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vault\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_balancerVault\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ManagerWithMerkleVerification__BadFlashLoanIntentHash\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"targetData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"ManagerWithMerkleVerification__FailedToVerifyManageProof\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ManagerWithMerkleVerification__FlashLoanNotExecuted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ManagerWithMerkleVerification__FlashLoanNotInProgress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ManagerWithMerkleVerification__InvalidDecodersAndSanitizersLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ManagerWithMerkleVerification__InvalidManageProofLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ManagerWithMerkleVerification__InvalidTargetDataLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ManagerWithMerkleVerification__InvalidValuesLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ManagerWithMerkleVerification__OnlyCallableByBalancerVault\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ManagerWithMerkleVerification__OnlyCallableByBoringVault\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ManagerWithMerkleVerification__Paused\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ManagerWithMerkleVerification__TotalSupplyMustRemainConstantDuringPlatform\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"callsMade\",\"type\":\"uint256\"}],\"name\":\"BoringVaultManaged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategist\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"oldRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"newRoot\",\"type\":\"bytes32\"}],\"name\":\"ManageRootUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"isPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"manageRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategist\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_manageRoot\",\"type\":\"bytes32\"}],\"name\":\"setManageRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"setOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", +} + +// ManagerWithMerkleVerificationABI is the input ABI used to generate the binding from. +// Deprecated: Use ManagerWithMerkleVerificationMetaData.ABI instead. +var ManagerWithMerkleVerificationABI = ManagerWithMerkleVerificationMetaData.ABI + +// ManagerWithMerkleVerification is an auto generated Go binding around an Ethereum contract. +type ManagerWithMerkleVerification struct { + ManagerWithMerkleVerificationCaller // Read-only binding to the contract + ManagerWithMerkleVerificationTransactor // Write-only binding to the contract + ManagerWithMerkleVerificationFilterer // Log filterer for contract events +} + +// ManagerWithMerkleVerificationCaller is an auto generated read-only Go binding around an Ethereum contract. +type ManagerWithMerkleVerificationCaller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// ManagerWithMerkleVerificationTransactor is an auto generated write-only Go binding around an Ethereum contract. +type ManagerWithMerkleVerificationTransactor struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// ManagerWithMerkleVerificationFilterer is an auto generated log filtering Go binding around an Ethereum contract events. +type ManagerWithMerkleVerificationFilterer struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// ManagerWithMerkleVerificationSession is an auto generated Go binding around an Ethereum contract, +// with pre-set call and transact options. +type ManagerWithMerkleVerificationSession struct { + Contract *ManagerWithMerkleVerification // Generic contract binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// ManagerWithMerkleVerificationCallerSession is an auto generated read-only Go binding around an Ethereum contract, +// with pre-set call options. +type ManagerWithMerkleVerificationCallerSession struct { + Contract *ManagerWithMerkleVerificationCaller // Generic contract caller binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session +} + +// ManagerWithMerkleVerificationTransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// with pre-set transact options. +type ManagerWithMerkleVerificationTransactorSession struct { + Contract *ManagerWithMerkleVerificationTransactor // Generic contract transactor binding to set the session for + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// ManagerWithMerkleVerificationRaw is an auto generated low-level Go binding around an Ethereum contract. +type ManagerWithMerkleVerificationRaw struct { + Contract *ManagerWithMerkleVerification // Generic contract binding to access the raw methods on +} + +// ManagerWithMerkleVerificationCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type ManagerWithMerkleVerificationCallerRaw struct { + Contract *ManagerWithMerkleVerificationCaller // Generic read-only contract binding to access the raw methods on +} + +// ManagerWithMerkleVerificationTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type ManagerWithMerkleVerificationTransactorRaw struct { + Contract *ManagerWithMerkleVerificationTransactor // Generic write-only contract binding to access the raw methods on +} + +// NewManagerWithMerkleVerification creates a new instance of ManagerWithMerkleVerification, bound to a specific deployed contract. +func NewManagerWithMerkleVerification(address common.Address, backend bind.ContractBackend) (*ManagerWithMerkleVerification, error) { + contract, err := bindManagerWithMerkleVerification(address, backend, backend, backend) + if err != nil { + return nil, err + } + return &ManagerWithMerkleVerification{ManagerWithMerkleVerificationCaller: ManagerWithMerkleVerificationCaller{contract: contract}, ManagerWithMerkleVerificationTransactor: ManagerWithMerkleVerificationTransactor{contract: contract}, ManagerWithMerkleVerificationFilterer: ManagerWithMerkleVerificationFilterer{contract: contract}}, nil +} + +// NewManagerWithMerkleVerificationCaller creates a new read-only instance of ManagerWithMerkleVerification, bound to a specific deployed contract. +func NewManagerWithMerkleVerificationCaller(address common.Address, caller bind.ContractCaller) (*ManagerWithMerkleVerificationCaller, error) { + contract, err := bindManagerWithMerkleVerification(address, caller, nil, nil) + if err != nil { + return nil, err + } + return &ManagerWithMerkleVerificationCaller{contract: contract}, nil +} + +// NewManagerWithMerkleVerificationTransactor creates a new write-only instance of ManagerWithMerkleVerification, bound to a specific deployed contract. +func NewManagerWithMerkleVerificationTransactor(address common.Address, transactor bind.ContractTransactor) (*ManagerWithMerkleVerificationTransactor, error) { + contract, err := bindManagerWithMerkleVerification(address, nil, transactor, nil) + if err != nil { + return nil, err + } + return &ManagerWithMerkleVerificationTransactor{contract: contract}, nil +} + +// NewManagerWithMerkleVerificationFilterer creates a new log filterer instance of ManagerWithMerkleVerification, bound to a specific deployed contract. +func NewManagerWithMerkleVerificationFilterer(address common.Address, filterer bind.ContractFilterer) (*ManagerWithMerkleVerificationFilterer, error) { + contract, err := bindManagerWithMerkleVerification(address, nil, nil, filterer) + if err != nil { + return nil, err + } + return &ManagerWithMerkleVerificationFilterer{contract: contract}, nil +} + +// bindManagerWithMerkleVerification binds a generic wrapper to an already deployed contract. +func bindManagerWithMerkleVerification(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := abi.JSON(strings.NewReader(ManagerWithMerkleVerificationABI)) + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _ManagerWithMerkleVerification.Contract.ManagerWithMerkleVerificationCaller.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _ManagerWithMerkleVerification.Contract.ManagerWithMerkleVerificationTransactor.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _ManagerWithMerkleVerification.Contract.ManagerWithMerkleVerificationTransactor.contract.Transact(opts, method, params...) +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _ManagerWithMerkleVerification.Contract.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _ManagerWithMerkleVerification.Contract.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _ManagerWithMerkleVerification.Contract.contract.Transact(opts, method, params...) +} + +// IsPaused is a free data retrieval call binding the contract method 0xb187bd26. +// +// Solidity: function isPaused() view returns(bool) +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationCaller) IsPaused(opts *bind.CallOpts) (bool, error) { + var out []interface{} + err := _ManagerWithMerkleVerification.contract.Call(opts, &out, "isPaused") + + if err != nil { + return *new(bool), err + } + + out0 := *abi.ConvertType(out[0], new(bool)).(*bool) + + return out0, err + +} + +// IsPaused is a free data retrieval call binding the contract method 0xb187bd26. +// +// Solidity: function isPaused() view returns(bool) +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationSession) IsPaused() (bool, error) { + return _ManagerWithMerkleVerification.Contract.IsPaused(&_ManagerWithMerkleVerification.CallOpts) +} + +// IsPaused is a free data retrieval call binding the contract method 0xb187bd26. +// +// Solidity: function isPaused() view returns(bool) +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationCallerSession) IsPaused() (bool, error) { + return _ManagerWithMerkleVerification.Contract.IsPaused(&_ManagerWithMerkleVerification.CallOpts) +} + +// ManageRoot is a free data retrieval call binding the contract method 0x5ca58a99. +// +// Solidity: function manageRoot(address ) view returns(bytes32) +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationCaller) ManageRoot(opts *bind.CallOpts, arg0 common.Address) ([32]byte, error) { + var out []interface{} + err := _ManagerWithMerkleVerification.contract.Call(opts, &out, "manageRoot", arg0) + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// ManageRoot is a free data retrieval call binding the contract method 0x5ca58a99. +// +// Solidity: function manageRoot(address ) view returns(bytes32) +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationSession) ManageRoot(arg0 common.Address) ([32]byte, error) { + return _ManagerWithMerkleVerification.Contract.ManageRoot(&_ManagerWithMerkleVerification.CallOpts, arg0) +} + +// ManageRoot is a free data retrieval call binding the contract method 0x5ca58a99. +// +// Solidity: function manageRoot(address ) view returns(bytes32) +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationCallerSession) ManageRoot(arg0 common.Address) ([32]byte, error) { + return _ManagerWithMerkleVerification.Contract.ManageRoot(&_ManagerWithMerkleVerification.CallOpts, arg0) +} + +// Owner is a free data retrieval call binding the contract method 0x8da5cb5b. +// +// Solidity: function owner() view returns(address) +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationCaller) Owner(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _ManagerWithMerkleVerification.contract.Call(opts, &out, "owner") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// Owner is a free data retrieval call binding the contract method 0x8da5cb5b. +// +// Solidity: function owner() view returns(address) +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationSession) Owner() (common.Address, error) { + return _ManagerWithMerkleVerification.Contract.Owner(&_ManagerWithMerkleVerification.CallOpts) +} + +// Owner is a free data retrieval call binding the contract method 0x8da5cb5b. +// +// Solidity: function owner() view returns(address) +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationCallerSession) Owner() (common.Address, error) { + return _ManagerWithMerkleVerification.Contract.Owner(&_ManagerWithMerkleVerification.CallOpts) +} + +// Vault is a free data retrieval call binding the contract method 0xfbfa77cf. +// +// Solidity: function vault() view returns(address) +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationCaller) Vault(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _ManagerWithMerkleVerification.contract.Call(opts, &out, "vault") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// Vault is a free data retrieval call binding the contract method 0xfbfa77cf. +// +// Solidity: function vault() view returns(address) +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationSession) Vault() (common.Address, error) { + return _ManagerWithMerkleVerification.Contract.Vault(&_ManagerWithMerkleVerification.CallOpts) +} + +// Vault is a free data retrieval call binding the contract method 0xfbfa77cf. +// +// Solidity: function vault() view returns(address) +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationCallerSession) Vault() (common.Address, error) { + return _ManagerWithMerkleVerification.Contract.Vault(&_ManagerWithMerkleVerification.CallOpts) +} + +// Pause is a paid mutator transaction binding the contract method 0x8456cb59. +// +// Solidity: function pause() returns() +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationTransactor) Pause(opts *bind.TransactOpts) (*types.Transaction, error) { + return _ManagerWithMerkleVerification.contract.Transact(opts, "pause") +} + +// Pause is a paid mutator transaction binding the contract method 0x8456cb59. +// +// Solidity: function pause() returns() +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationSession) Pause() (*types.Transaction, error) { + return _ManagerWithMerkleVerification.Contract.Pause(&_ManagerWithMerkleVerification.TransactOpts) +} + +// Pause is a paid mutator transaction binding the contract method 0x8456cb59. +// +// Solidity: function pause() returns() +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationTransactorSession) Pause() (*types.Transaction, error) { + return _ManagerWithMerkleVerification.Contract.Pause(&_ManagerWithMerkleVerification.TransactOpts) +} + +// SetManageRoot is a paid mutator transaction binding the contract method 0x21801a99. +// +// Solidity: function setManageRoot(address strategist, bytes32 _manageRoot) returns() +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationTransactor) SetManageRoot(opts *bind.TransactOpts, strategist common.Address, _manageRoot [32]byte) (*types.Transaction, error) { + return _ManagerWithMerkleVerification.contract.Transact(opts, "setManageRoot", strategist, _manageRoot) +} + +// SetManageRoot is a paid mutator transaction binding the contract method 0x21801a99. +// +// Solidity: function setManageRoot(address strategist, bytes32 _manageRoot) returns() +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationSession) SetManageRoot(strategist common.Address, _manageRoot [32]byte) (*types.Transaction, error) { + return _ManagerWithMerkleVerification.Contract.SetManageRoot(&_ManagerWithMerkleVerification.TransactOpts, strategist, _manageRoot) +} + +// SetManageRoot is a paid mutator transaction binding the contract method 0x21801a99. +// +// Solidity: function setManageRoot(address strategist, bytes32 _manageRoot) returns() +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationTransactorSession) SetManageRoot(strategist common.Address, _manageRoot [32]byte) (*types.Transaction, error) { + return _ManagerWithMerkleVerification.Contract.SetManageRoot(&_ManagerWithMerkleVerification.TransactOpts, strategist, _manageRoot) +} + +// SetOwner is a paid mutator transaction binding the contract method 0x13af4035. +// +// Solidity: function setOwner(address newOwner) returns() +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationTransactor) SetOwner(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { + return _ManagerWithMerkleVerification.contract.Transact(opts, "setOwner", newOwner) +} + +// SetOwner is a paid mutator transaction binding the contract method 0x13af4035. +// +// Solidity: function setOwner(address newOwner) returns() +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationSession) SetOwner(newOwner common.Address) (*types.Transaction, error) { + return _ManagerWithMerkleVerification.Contract.SetOwner(&_ManagerWithMerkleVerification.TransactOpts, newOwner) +} + +// SetOwner is a paid mutator transaction binding the contract method 0x13af4035. +// +// Solidity: function setOwner(address newOwner) returns() +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationTransactorSession) SetOwner(newOwner common.Address) (*types.Transaction, error) { + return _ManagerWithMerkleVerification.Contract.SetOwner(&_ManagerWithMerkleVerification.TransactOpts, newOwner) +} + +// Unpause is a paid mutator transaction binding the contract method 0x3f4ba83a. +// +// Solidity: function unpause() returns() +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationTransactor) Unpause(opts *bind.TransactOpts) (*types.Transaction, error) { + return _ManagerWithMerkleVerification.contract.Transact(opts, "unpause") +} + +// Unpause is a paid mutator transaction binding the contract method 0x3f4ba83a. +// +// Solidity: function unpause() returns() +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationSession) Unpause() (*types.Transaction, error) { + return _ManagerWithMerkleVerification.Contract.Unpause(&_ManagerWithMerkleVerification.TransactOpts) +} + +// Unpause is a paid mutator transaction binding the contract method 0x3f4ba83a. +// +// Solidity: function unpause() returns() +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationTransactorSession) Unpause() (*types.Transaction, error) { + return _ManagerWithMerkleVerification.Contract.Unpause(&_ManagerWithMerkleVerification.TransactOpts) +} + +// ManagerWithMerkleVerificationBoringVaultManagedIterator is returned from FilterBoringVaultManaged and is used to iterate over the raw logs and unpacked data for BoringVaultManaged events raised by the ManagerWithMerkleVerification contract. +type ManagerWithMerkleVerificationBoringVaultManagedIterator struct { + Event *ManagerWithMerkleVerificationBoringVaultManaged // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *ManagerWithMerkleVerificationBoringVaultManagedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(ManagerWithMerkleVerificationBoringVaultManaged) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(ManagerWithMerkleVerificationBoringVaultManaged) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *ManagerWithMerkleVerificationBoringVaultManagedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *ManagerWithMerkleVerificationBoringVaultManagedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// ManagerWithMerkleVerificationBoringVaultManaged represents a BoringVaultManaged event raised by the ManagerWithMerkleVerification contract. +type ManagerWithMerkleVerificationBoringVaultManaged struct { + CallsMade *big.Int + Raw types.Log // Blockchain specific contextual infos +} + +// FilterBoringVaultManaged is a free log retrieval operation binding the contract event 0x53d426e7d80bb2c8674d3b45577e2d464d423faad6531b21f95ac11ac18b1cb6. +// +// Solidity: event BoringVaultManaged(uint256 callsMade) +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationFilterer) FilterBoringVaultManaged(opts *bind.FilterOpts) (*ManagerWithMerkleVerificationBoringVaultManagedIterator, error) { + + logs, sub, err := _ManagerWithMerkleVerification.contract.FilterLogs(opts, "BoringVaultManaged") + if err != nil { + return nil, err + } + return &ManagerWithMerkleVerificationBoringVaultManagedIterator{contract: _ManagerWithMerkleVerification.contract, event: "BoringVaultManaged", logs: logs, sub: sub}, nil +} + +// WatchBoringVaultManaged is a free log subscription operation binding the contract event 0x53d426e7d80bb2c8674d3b45577e2d464d423faad6531b21f95ac11ac18b1cb6. +// +// Solidity: event BoringVaultManaged(uint256 callsMade) +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationFilterer) WatchBoringVaultManaged(opts *bind.WatchOpts, sink chan<- *ManagerWithMerkleVerificationBoringVaultManaged) (event.Subscription, error) { + + logs, sub, err := _ManagerWithMerkleVerification.contract.WatchLogs(opts, "BoringVaultManaged") + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(ManagerWithMerkleVerificationBoringVaultManaged) + if err := _ManagerWithMerkleVerification.contract.UnpackLog(event, "BoringVaultManaged", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseBoringVaultManaged is a log parse operation binding the contract event 0x53d426e7d80bb2c8674d3b45577e2d464d423faad6531b21f95ac11ac18b1cb6. +// +// Solidity: event BoringVaultManaged(uint256 callsMade) +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationFilterer) ParseBoringVaultManaged(log types.Log) (*ManagerWithMerkleVerificationBoringVaultManaged, error) { + event := new(ManagerWithMerkleVerificationBoringVaultManaged) + if err := _ManagerWithMerkleVerification.contract.UnpackLog(event, "BoringVaultManaged", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// ManagerWithMerkleVerificationManageRootUpdatedIterator is returned from FilterManageRootUpdated and is used to iterate over the raw logs and unpacked data for ManageRootUpdated events raised by the ManagerWithMerkleVerification contract. +type ManagerWithMerkleVerificationManageRootUpdatedIterator struct { + Event *ManagerWithMerkleVerificationManageRootUpdated // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *ManagerWithMerkleVerificationManageRootUpdatedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(ManagerWithMerkleVerificationManageRootUpdated) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(ManagerWithMerkleVerificationManageRootUpdated) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *ManagerWithMerkleVerificationManageRootUpdatedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *ManagerWithMerkleVerificationManageRootUpdatedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// ManagerWithMerkleVerificationManageRootUpdated represents a ManageRootUpdated event raised by the ManagerWithMerkleVerification contract. +type ManagerWithMerkleVerificationManageRootUpdated struct { + Strategist common.Address + OldRoot [32]byte + NewRoot [32]byte + Raw types.Log // Blockchain specific contextual infos +} + +// FilterManageRootUpdated is a free log retrieval operation binding the contract event 0x0b958dec85f1470000479dfb22c365829411f52bcde602d24ea0abf5ac7e8860. +// +// Solidity: event ManageRootUpdated(address indexed strategist, bytes32 oldRoot, bytes32 newRoot) +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationFilterer) FilterManageRootUpdated(opts *bind.FilterOpts, strategist []common.Address) (*ManagerWithMerkleVerificationManageRootUpdatedIterator, error) { + + var strategistRule []interface{} + for _, strategistItem := range strategist { + strategistRule = append(strategistRule, strategistItem) + } + + logs, sub, err := _ManagerWithMerkleVerification.contract.FilterLogs(opts, "ManageRootUpdated", strategistRule) + if err != nil { + return nil, err + } + return &ManagerWithMerkleVerificationManageRootUpdatedIterator{contract: _ManagerWithMerkleVerification.contract, event: "ManageRootUpdated", logs: logs, sub: sub}, nil +} + +// WatchManageRootUpdated is a free log subscription operation binding the contract event 0x0b958dec85f1470000479dfb22c365829411f52bcde602d24ea0abf5ac7e8860. +// +// Solidity: event ManageRootUpdated(address indexed strategist, bytes32 oldRoot, bytes32 newRoot) +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationFilterer) WatchManageRootUpdated(opts *bind.WatchOpts, sink chan<- *ManagerWithMerkleVerificationManageRootUpdated, strategist []common.Address) (event.Subscription, error) { + + var strategistRule []interface{} + for _, strategistItem := range strategist { + strategistRule = append(strategistRule, strategistItem) + } + + logs, sub, err := _ManagerWithMerkleVerification.contract.WatchLogs(opts, "ManageRootUpdated", strategistRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(ManagerWithMerkleVerificationManageRootUpdated) + if err := _ManagerWithMerkleVerification.contract.UnpackLog(event, "ManageRootUpdated", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseManageRootUpdated is a log parse operation binding the contract event 0x0b958dec85f1470000479dfb22c365829411f52bcde602d24ea0abf5ac7e8860. +// +// Solidity: event ManageRootUpdated(address indexed strategist, bytes32 oldRoot, bytes32 newRoot) +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationFilterer) ParseManageRootUpdated(log types.Log) (*ManagerWithMerkleVerificationManageRootUpdated, error) { + event := new(ManagerWithMerkleVerificationManageRootUpdated) + if err := _ManagerWithMerkleVerification.contract.UnpackLog(event, "ManageRootUpdated", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// ManagerWithMerkleVerificationOwnerUpdatedIterator is returned from FilterOwnerUpdated and is used to iterate over the raw logs and unpacked data for OwnerUpdated events raised by the ManagerWithMerkleVerification contract. +type ManagerWithMerkleVerificationOwnerUpdatedIterator struct { + Event *ManagerWithMerkleVerificationOwnerUpdated // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *ManagerWithMerkleVerificationOwnerUpdatedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(ManagerWithMerkleVerificationOwnerUpdated) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(ManagerWithMerkleVerificationOwnerUpdated) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *ManagerWithMerkleVerificationOwnerUpdatedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *ManagerWithMerkleVerificationOwnerUpdatedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// ManagerWithMerkleVerificationOwnerUpdated represents a OwnerUpdated event raised by the ManagerWithMerkleVerification contract. +type ManagerWithMerkleVerificationOwnerUpdated struct { + User common.Address + NewOwner common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterOwnerUpdated is a free log retrieval operation binding the contract event 0x8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d76. +// +// Solidity: event OwnerUpdated(address indexed user, address indexed newOwner) +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationFilterer) FilterOwnerUpdated(opts *bind.FilterOpts, user []common.Address, newOwner []common.Address) (*ManagerWithMerkleVerificationOwnerUpdatedIterator, error) { + + var userRule []interface{} + for _, userItem := range user { + userRule = append(userRule, userItem) + } + var newOwnerRule []interface{} + for _, newOwnerItem := range newOwner { + newOwnerRule = append(newOwnerRule, newOwnerItem) + } + + logs, sub, err := _ManagerWithMerkleVerification.contract.FilterLogs(opts, "OwnerUpdated", userRule, newOwnerRule) + if err != nil { + return nil, err + } + return &ManagerWithMerkleVerificationOwnerUpdatedIterator{contract: _ManagerWithMerkleVerification.contract, event: "OwnerUpdated", logs: logs, sub: sub}, nil +} + +// WatchOwnerUpdated is a free log subscription operation binding the contract event 0x8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d76. +// +// Solidity: event OwnerUpdated(address indexed user, address indexed newOwner) +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationFilterer) WatchOwnerUpdated(opts *bind.WatchOpts, sink chan<- *ManagerWithMerkleVerificationOwnerUpdated, user []common.Address, newOwner []common.Address) (event.Subscription, error) { + + var userRule []interface{} + for _, userItem := range user { + userRule = append(userRule, userItem) + } + var newOwnerRule []interface{} + for _, newOwnerItem := range newOwner { + newOwnerRule = append(newOwnerRule, newOwnerItem) + } + + logs, sub, err := _ManagerWithMerkleVerification.contract.WatchLogs(opts, "OwnerUpdated", userRule, newOwnerRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(ManagerWithMerkleVerificationOwnerUpdated) + if err := _ManagerWithMerkleVerification.contract.UnpackLog(event, "OwnerUpdated", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseOwnerUpdated is a log parse operation binding the contract event 0x8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d76. +// +// Solidity: event OwnerUpdated(address indexed user, address indexed newOwner) +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationFilterer) ParseOwnerUpdated(log types.Log) (*ManagerWithMerkleVerificationOwnerUpdated, error) { + event := new(ManagerWithMerkleVerificationOwnerUpdated) + if err := _ManagerWithMerkleVerification.contract.UnpackLog(event, "OwnerUpdated", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// ManagerWithMerkleVerificationPausedIterator is returned from FilterPaused and is used to iterate over the raw logs and unpacked data for Paused events raised by the ManagerWithMerkleVerification contract. +type ManagerWithMerkleVerificationPausedIterator struct { + Event *ManagerWithMerkleVerificationPaused // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *ManagerWithMerkleVerificationPausedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(ManagerWithMerkleVerificationPaused) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(ManagerWithMerkleVerificationPaused) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *ManagerWithMerkleVerificationPausedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *ManagerWithMerkleVerificationPausedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// ManagerWithMerkleVerificationPaused represents a Paused event raised by the ManagerWithMerkleVerification contract. +type ManagerWithMerkleVerificationPaused struct { + Raw types.Log // Blockchain specific contextual infos +} + +// FilterPaused is a free log retrieval operation binding the contract event 0x9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e752. +// +// Solidity: event Paused() +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationFilterer) FilterPaused(opts *bind.FilterOpts) (*ManagerWithMerkleVerificationPausedIterator, error) { + + logs, sub, err := _ManagerWithMerkleVerification.contract.FilterLogs(opts, "Paused") + if err != nil { + return nil, err + } + return &ManagerWithMerkleVerificationPausedIterator{contract: _ManagerWithMerkleVerification.contract, event: "Paused", logs: logs, sub: sub}, nil +} + +// WatchPaused is a free log subscription operation binding the contract event 0x9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e752. +// +// Solidity: event Paused() +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationFilterer) WatchPaused(opts *bind.WatchOpts, sink chan<- *ManagerWithMerkleVerificationPaused) (event.Subscription, error) { + + logs, sub, err := _ManagerWithMerkleVerification.contract.WatchLogs(opts, "Paused") + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(ManagerWithMerkleVerificationPaused) + if err := _ManagerWithMerkleVerification.contract.UnpackLog(event, "Paused", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParsePaused is a log parse operation binding the contract event 0x9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e752. +// +// Solidity: event Paused() +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationFilterer) ParsePaused(log types.Log) (*ManagerWithMerkleVerificationPaused, error) { + event := new(ManagerWithMerkleVerificationPaused) + if err := _ManagerWithMerkleVerification.contract.UnpackLog(event, "Paused", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// ManagerWithMerkleVerificationUnpausedIterator is returned from FilterUnpaused and is used to iterate over the raw logs and unpacked data for Unpaused events raised by the ManagerWithMerkleVerification contract. +type ManagerWithMerkleVerificationUnpausedIterator struct { + Event *ManagerWithMerkleVerificationUnpaused // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *ManagerWithMerkleVerificationUnpausedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(ManagerWithMerkleVerificationUnpaused) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(ManagerWithMerkleVerificationUnpaused) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *ManagerWithMerkleVerificationUnpausedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *ManagerWithMerkleVerificationUnpausedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// ManagerWithMerkleVerificationUnpaused represents a Unpaused event raised by the ManagerWithMerkleVerification contract. +type ManagerWithMerkleVerificationUnpaused struct { + Raw types.Log // Blockchain specific contextual infos +} + +// FilterUnpaused is a free log retrieval operation binding the contract event 0xa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d16933. +// +// Solidity: event Unpaused() +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationFilterer) FilterUnpaused(opts *bind.FilterOpts) (*ManagerWithMerkleVerificationUnpausedIterator, error) { + + logs, sub, err := _ManagerWithMerkleVerification.contract.FilterLogs(opts, "Unpaused") + if err != nil { + return nil, err + } + return &ManagerWithMerkleVerificationUnpausedIterator{contract: _ManagerWithMerkleVerification.contract, event: "Unpaused", logs: logs, sub: sub}, nil +} + +// WatchUnpaused is a free log subscription operation binding the contract event 0xa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d16933. +// +// Solidity: event Unpaused() +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationFilterer) WatchUnpaused(opts *bind.WatchOpts, sink chan<- *ManagerWithMerkleVerificationUnpaused) (event.Subscription, error) { + + logs, sub, err := _ManagerWithMerkleVerification.contract.WatchLogs(opts, "Unpaused") + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(ManagerWithMerkleVerificationUnpaused) + if err := _ManagerWithMerkleVerification.contract.UnpackLog(event, "Unpaused", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseUnpaused is a log parse operation binding the contract event 0xa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d16933. +// +// Solidity: event Unpaused() +func (_ManagerWithMerkleVerification *ManagerWithMerkleVerificationFilterer) ParseUnpaused(log types.Log) (*ManagerWithMerkleVerificationUnpaused, error) { + event := new(ManagerWithMerkleVerificationUnpaused) + if err := _ManagerWithMerkleVerification.contract.UnpackLog(event, "Unpaused", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} From ecc055f10c71a2572e80a1dc1eaf2691a9d1f918 Mon Sep 17 00:00:00 2001 From: Collin Brittain Date: Fri, 15 Nov 2024 10:05:23 -0600 Subject: [PATCH 10/10] Add new test to CI --- .github/workflows/integration_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index 793a6361..04975484 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -125,7 +125,7 @@ jobs: strategy: fail-fast: false matrix: - test_type: [ "AaveV2Stablecoin", "CellarV1", "CellarV2", "CellarV2_2", "ScheduledCorkProposal", "ScheduledAxelarCorkProposal", "ScheduledCorkMulticallProposal"] + test_type: [ "AaveV2Stablecoin", "CellarV1", "CellarV2", "CellarV2_2", "ScheduledCorkProposal", "ScheduledAxelarCorkProposal", "ScheduledCorkMulticallProposal", "BoringVaultManager"] steps: - name: Set up Go 1.22 uses: actions/setup-go@v2