From 38c6c3ff5c8a66a4aafd3f1cbc02f9f6a5f7c6fc Mon Sep 17 00:00:00 2001 From: Collin Date: Fri, 26 Jan 2024 12:32:29 -0600 Subject: [PATCH] feat:multi asset deposit cellar functions (#240) * Add alternative asset protos to Cellar 2.5 API * Add CellarWithMultiAssetDeposit abi bindings * Update multi asset ABI to fixed version * Git ignore DS_Store files * Fmt * Handlers for multi asset commit functions * Update test certs * Fix comment in proto --- .gitignore | 1 + integration_tests/tls/client/test_client.crt | 23 +- .../tls/client/test_client_ca.crt | 20 +- .../tls/client/test_client_ca.srl | 2 +- .../client/test_client_ca_key_non-pkcs8.pem | 8 +- .../tls/client/test_client_ca_key_pkcs8.pem | 8 +- .../tls/client/test_client_key_non-pkcs8.pem | 8 +- .../tls/client/test_client_key_pkcs8.pem | 8 +- integration_tests/tls/server/test_server.crt | 20 +- .../tls/server/test_server_ca.crt | 20 +- .../tls/server/test_server_ca.srl | 2 +- .../server/test_server_ca_key_non-pkcs8.pem | 8 +- .../tls/server/test_server_ca_key_pkcs8.pem | 8 +- .../tls/server/test_server_key_non-pkcs8.pem | 8 +- .../tls/server/test_server_key_pkcs8.pem | 8 +- proto/cellar_v2.proto | 28 + steward/src/cellars/cellar_v2_5.rs | 30 + .../abi/CellarWithMultiAssetDepositV1.json | 1989 ++++++++++ .../src/cellar_with_multi_asset_deposit_v1.rs | 3484 +++++++++++++++++ steward_abi/src/lib.rs | 1 + steward_abi_build/src/main.rs | 4 + .../steward_proto/cellar_v2.pb.go | 946 +++-- steward_proto_rust/src/prost/descriptor.bin | Bin 180897 -> 182626 bytes steward_proto_rust/src/prost/steward.v3.rs | 38 +- 24 files changed, 6226 insertions(+), 446 deletions(-) create mode 100644 steward_abi/abi/CellarWithMultiAssetDepositV1.json create mode 100644 steward_abi/src/cellar_with_multi_asset_deposit_v1.rs diff --git a/.gitignore b/.gitignore index be835eed..accf3542 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +.DS_Store target **/*.rs.bk expanded.rs diff --git a/integration_tests/tls/client/test_client.crt b/integration_tests/tls/client/test_client.crt index 7c6d56dc..274d3516 100644 --- a/integration_tests/tls/client/test_client.crt +++ b/integration_tests/tls/client/test_client.crt @@ -1,15 +1,14 @@ -----BEGIN CERTIFICATE----- -MIICTjCCAdOgAwIBAgIUHYInHlXtDU99l6ZCL94z+Y6wDfEwCgYIKoZIzj0EAwMw +MIICOjCCAb+gAwIBAgIUHYInHlXtDU99l6ZCL94z+Y6wDfIwCgYIKoZIzj0EAwMw RTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGElu -dGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMjAxMDUwNzIwNDVaFw0yNDAxMDUw -NzIwNDVaMFkxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYD -VQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxEjAQBgNVBAMMCWxvY2FsaG9z -dDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBMeRNpHRztZEFwbUg4XfZwaF+qHFGwU -GqX2FFZP7kqbhXXsVZEvTyTCR5BP7rlaGbNlClrqfxTfHevnFN7b7p7wj34ieIc8 -oVwJnUarewP7n+FcpW+VFr0VI6MLLE8rw6NwMG4wHQYDVR0OBBYEFM+2bMCT7tOF -c3tuyRPwB3dFfYIwMB8GA1UdIwQYMBaAFJPJNQsdP2E0ADZaDh0K25O4iGJdMAkG -A1UdEwQCMAAwFAYDVR0RBA0wC4IJbG9jYWxob3N0MAsGA1UdDwQEAwIE8DAKBggq -hkjOPQQDAwNpADBmAjEAjf8WRKs9hPKLLBKOWkUzYvzt98tgYSrvFD4EWskouRS4 -/FU0psQcFj3zw/M78OdJAjEA8Zq5iP2MSU21vgJFFq8dfKCh8joQShR5eQ6TF0sC -y6/np5w9/suxM2F25xk3FRDV +dGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yNDAxMTgxODA5MzBaFw0yNjAxMTcx +ODA5MzBaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYD +VQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAASZ6/ZOgSkYGv95w22JI9VOc/n4Pp58dX/HGayUaXp3RRfrmOWZqNMGE0mw +X7IxZFIyAlMF/yVO1CpBa+QYAxBSCSFtk4Xfm+oRbm50tVglOHqmBJ2FUZFdjGQZ +nXUop1SjcDBuMB0GA1UdDgQWBBQmWBjkhrEyz/G9BEeJ9R0lOWYXCzAfBgNVHSME +GDAWgBRp967wEXqKYc3wtnElJiSdbaOi8jAJBgNVHRMEAjAAMBQGA1UdEQQNMAuC +CWxvY2FsaG9zdDALBgNVHQ8EBAMCBPAwCgYIKoZIzj0EAwMDaQAwZgIxALzu6mM6 +cavgPRxTsQbRa2upztXzZJPqvGvaGD22qRuW4Fp4X64vsT+41P/RBPxgvAIxAN8m +6enKw36GyK3qfKfuYfo9/zQXwA+xwz6Yg8AmkhyJBkDb3IA+AFkVd2KPZvEErA== -----END CERTIFICATE----- diff --git a/integration_tests/tls/client/test_client_ca.crt b/integration_tests/tls/client/test_client_ca.crt index 7a7178ab..f6d6a2a3 100644 --- a/integration_tests/tls/client/test_client_ca.crt +++ b/integration_tests/tls/client/test_client_ca.crt @@ -1,14 +1,14 @@ -----BEGIN CERTIFICATE----- -MIICGzCCAaKgAwIBAgIUVYhZ4+pC7vQAf5FC6pssLk/eq5YwCgYIKoZIzj0EAwMw +MIICHTCCAaKgAwIBAgIUFRHIT1jr6RoUJomLHHptHhaSFNIwCgYIKoZIzj0EAwMw RTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGElu -dGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMjAxMDUwNzIwMzFaFw0yNDAxMDUw -NzIwMzFaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYD +dGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yNDAxMTgxODA5MTRaFw0yNjAxMTcx +ODA5MTRaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYD VQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwdjAQBgcqhkjOPQIBBgUrgQQA -IgNiAAQ3jwZd0Xe9w55UyAxRuc4F2u/LDdo7ykCZBO34neXpLR4GRRpx5VjFdHcX -WjvM9j3DnWjptb1fe7TIKSSJRmW1skWkpktOthIPhfga9jBhU4WRUDloKk1tRuiI -e8rRSlSjUzBRMB0GA1UdDgQWBBSTyTULHT9hNAA2Wg4dCtuTuIhiXTAfBgNVHSME -GDAWgBSTyTULHT9hNAA2Wg4dCtuTuIhiXTAPBgNVHRMBAf8EBTADAQH/MAoGCCqG -SM49BAMDA2cAMGQCMEd+Eg6lhStLkWEwmJJGN3Xdh9JmNsgsdff3mI3Y7UmHOB8K -HOqHGS8ApZcunRauDAIwRtgceZpkS92KuP3QOUotAH/nnCzp7X1lVzGOSTBRTVYJ -pohf4PJrfacqpi7PoXBk +IgNiAATkD5XphfA3heNQqBXLx2287f9u5TzTy/CAgMw28L5rhdMSQu4TXwMp7R25 +uvxeALhQP9V0JUp6k2NtAhi+qgy0rfs2TkaIZAec4oUZhuGzp1wl4AxEfaQBsHBg +ANaNdBSjUzBRMB0GA1UdDgQWBBRp967wEXqKYc3wtnElJiSdbaOi8jAfBgNVHSME +GDAWgBRp967wEXqKYc3wtnElJiSdbaOi8jAPBgNVHRMBAf8EBTADAQH/MAoGCCqG +SM49BAMDA2kAMGYCMQCn7q6XvamJK8PHTN5yHVqU1f8h0qVaVFCGbv6rQ7O3BI32 +0Wjq7NIgKnnqart1b5kCMQCNNRi3uLWjUZevRjdHv5bSqUNLqDWamWAimphsW1Fr +mDdaPrS91JopAbmpG0Dh1pI= -----END CERTIFICATE----- diff --git a/integration_tests/tls/client/test_client_ca.srl b/integration_tests/tls/client/test_client_ca.srl index 998d53d3..d835d076 100644 --- a/integration_tests/tls/client/test_client_ca.srl +++ b/integration_tests/tls/client/test_client_ca.srl @@ -1 +1 @@ -1D82271E55ED0D4F7D97A6422FDE33F98EB00DF1 +1D82271E55ED0D4F7D97A6422FDE33F98EB00DF2 diff --git a/integration_tests/tls/client/test_client_ca_key_non-pkcs8.pem b/integration_tests/tls/client/test_client_ca_key_non-pkcs8.pem index 8224abfc..1fe7adb1 100644 --- a/integration_tests/tls/client/test_client_ca_key_non-pkcs8.pem +++ b/integration_tests/tls/client/test_client_ca_key_non-pkcs8.pem @@ -1,6 +1,6 @@ -----BEGIN EC PRIVATE KEY----- -MIGkAgEBBDDSNJ9TULBnhwiLGJwCtiG+R62qg65/g2XpO3Dl6o3ePuyrLVRPRZuY -klZszxKPfNSgBwYFK4EEACKhZANiAAQ3jwZd0Xe9w55UyAxRuc4F2u/LDdo7ykCZ -BO34neXpLR4GRRpx5VjFdHcXWjvM9j3DnWjptb1fe7TIKSSJRmW1skWkpktOthIP -hfga9jBhU4WRUDloKk1tRuiIe8rRSlQ= +MIGkAgEBBDCVrkY6b+9pzy5itS9c9eJXwX3JnKmdUvRB0EtjgxF8675zcgTtPkoH +nWlat0j6rZagBwYFK4EEACKhZANiAATkD5XphfA3heNQqBXLx2287f9u5TzTy/CA +gMw28L5rhdMSQu4TXwMp7R25uvxeALhQP9V0JUp6k2NtAhi+qgy0rfs2TkaIZAec +4oUZhuGzp1wl4AxEfaQBsHBgANaNdBQ= -----END EC PRIVATE KEY----- diff --git a/integration_tests/tls/client/test_client_ca_key_pkcs8.pem b/integration_tests/tls/client/test_client_ca_key_pkcs8.pem index 20fafb73..342d2401 100644 --- a/integration_tests/tls/client/test_client_ca_key_pkcs8.pem +++ b/integration_tests/tls/client/test_client_ca_key_pkcs8.pem @@ -1,6 +1,6 @@ -----BEGIN PRIVATE KEY----- -MIG2AgEAMBAGByqGSM49AgEGBSuBBAAiBIGeMIGbAgEBBDDSNJ9TULBnhwiLGJwC -tiG+R62qg65/g2XpO3Dl6o3ePuyrLVRPRZuYklZszxKPfNShZANiAAQ3jwZd0Xe9 -w55UyAxRuc4F2u/LDdo7ykCZBO34neXpLR4GRRpx5VjFdHcXWjvM9j3DnWjptb1f -e7TIKSSJRmW1skWkpktOthIPhfga9jBhU4WRUDloKk1tRuiIe8rRSlQ= +MIG2AgEAMBAGByqGSM49AgEGBSuBBAAiBIGeMIGbAgEBBDCVrkY6b+9pzy5itS9c +9eJXwX3JnKmdUvRB0EtjgxF8675zcgTtPkoHnWlat0j6rZahZANiAATkD5XphfA3 +heNQqBXLx2287f9u5TzTy/CAgMw28L5rhdMSQu4TXwMp7R25uvxeALhQP9V0JUp6 +k2NtAhi+qgy0rfs2TkaIZAec4oUZhuGzp1wl4AxEfaQBsHBgANaNdBQ= -----END PRIVATE KEY----- diff --git a/integration_tests/tls/client/test_client_key_non-pkcs8.pem b/integration_tests/tls/client/test_client_key_non-pkcs8.pem index b8f0d195..3c4745d9 100644 --- a/integration_tests/tls/client/test_client_key_non-pkcs8.pem +++ b/integration_tests/tls/client/test_client_key_non-pkcs8.pem @@ -1,6 +1,6 @@ -----BEGIN EC PRIVATE KEY----- -MIGkAgEBBDCHaVrGiqE73xC+nuzTz4VJy4N3zvnDR4VC/q25lDby/pcUG4wSOHVy -SXHAaO4nMD2gBwYFK4EEACKhZANiAAQTHkTaR0c7WRBcG1IOF32cGhfqhxRsFBql -9hRWT+5Km4V17FWRL08kwkeQT+65WhmzZQpa6n8U3x3r5xTe2+6e8I9+IniHPKFc -CZ1Gq3sD+5/hXKVvlRa9FSOjCyxPK8M= +MIGkAgEBBDAwx3jOUp14rizeC/T2aJeUM0VRXvou1a9/MlfrT+4CEpoBkXe21CJU +wkjElX+WPiOgBwYFK4EEACKhZANiAASZ6/ZOgSkYGv95w22JI9VOc/n4Pp58dX/H +GayUaXp3RRfrmOWZqNMGE0mwX7IxZFIyAlMF/yVO1CpBa+QYAxBSCSFtk4Xfm+oR +bm50tVglOHqmBJ2FUZFdjGQZnXUop1Q= -----END EC PRIVATE KEY----- diff --git a/integration_tests/tls/client/test_client_key_pkcs8.pem b/integration_tests/tls/client/test_client_key_pkcs8.pem index 64286e38..a8d12939 100644 --- a/integration_tests/tls/client/test_client_key_pkcs8.pem +++ b/integration_tests/tls/client/test_client_key_pkcs8.pem @@ -1,6 +1,6 @@ -----BEGIN PRIVATE KEY----- -MIG2AgEAMBAGByqGSM49AgEGBSuBBAAiBIGeMIGbAgEBBDCHaVrGiqE73xC+nuzT -z4VJy4N3zvnDR4VC/q25lDby/pcUG4wSOHVySXHAaO4nMD2hZANiAAQTHkTaR0c7 -WRBcG1IOF32cGhfqhxRsFBql9hRWT+5Km4V17FWRL08kwkeQT+65WhmzZQpa6n8U -3x3r5xTe2+6e8I9+IniHPKFcCZ1Gq3sD+5/hXKVvlRa9FSOjCyxPK8M= +MIG2AgEAMBAGByqGSM49AgEGBSuBBAAiBIGeMIGbAgEBBDAwx3jOUp14rizeC/T2 +aJeUM0VRXvou1a9/MlfrT+4CEpoBkXe21CJUwkjElX+WPiOhZANiAASZ6/ZOgSkY +Gv95w22JI9VOc/n4Pp58dX/HGayUaXp3RRfrmOWZqNMGE0mwX7IxZFIyAlMF/yVO +1CpBa+QYAxBSCSFtk4Xfm+oRbm50tVglOHqmBJ2FUZFdjGQZnXUop1Q= -----END PRIVATE KEY----- diff --git a/integration_tests/tls/server/test_server.crt b/integration_tests/tls/server/test_server.crt index 8336106d..588debe5 100644 --- a/integration_tests/tls/server/test_server.crt +++ b/integration_tests/tls/server/test_server.crt @@ -1,15 +1,15 @@ -----BEGIN CERTIFICATE----- -MIICTDCCAdOgAwIBAgIULiHn5Yo9yHfRhJz7c7mOjTB9rOUwCgYIKoZIzj0EAwMw +MIICTDCCAdOgAwIBAgIULiHn5Yo9yHfRhJz7c7mOjTB9rOYwCgYIKoZIzj0EAwMw RTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGElu -dGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMjAxMDUwNzIwNDVaFw0yNDAxMDUw -NzIwNDVaMFkxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYD +dGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yNDAxMTgxODA5MzBaFw0yNjAxMTcx +ODA5MzBaMFkxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYD VQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxEjAQBgNVBAMMCWxvY2FsaG9z -dDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBdm6RPp1VOTzPPijPAtvNKhLjEttM1Q -YcpKXgSr/VkadYBlHvIBBJmJJg30gyXMydEWrU1e39immN+n6DVsK0iUvb0v2+oz -dhkmFp4tDRFPZxUkImRNju8EY/+6fJTSqaNwMG4wHQYDVR0OBBYEFEXqknmA1wHN -gHf7utuKGGoTLbGBMB8GA1UdIwQYMBaAFKeBKGYPLyS3ZrMyoUYPU5thpdPQMAkG +dDB2MBAGByqGSM49AgEGBSuBBAAiA2IABIVwSh3x6LBNdp8PlaGgB/9tlrVFvdFt +ClGnqlSa35AFn1negnPL59f5GKdp0D8VZZOtNoItZ4dwEUmVdWV27+dUq+sAnOIy +cB49TrmWNppKii6UrMwmZUYVAW9/9enpFKNwMG4wHQYDVR0OBBYEFKKydzMRkLsf +9BJi870uLURfpDg4MB8GA1UdIwQYMBaAFLQfnulY4nuEhOgjzKXKnRqKUCovMAkG A1UdEwQCMAAwFAYDVR0RBA0wC4IJbG9jYWxob3N0MAsGA1UdDwQEAwIE8DAKBggq -hkjOPQQDAwNnADBkAjBv/a88BUEDmy8rNCIsLTmqnJbiYGNEUfOY6XIKJdO0q6aY -Ox93p/F4IUeSdO24C4sCMDobRizWojplC72AvIb5JCuAg7RfeJUXoYIW2xQe/oTs -9CV+cydPvC8kTiMSBZTWjQ== +hkjOPQQDAwNnADBkAjBjMbf63cU5byC1nlH3+ItVikSLzYcXQ92Y4e5hJrA8gn8L +0m6En5fuCnzrJggOxWYCMArsP2LNGA5RwmRhzXMjito3jpkEAUhE+AZaOymORuiA +VKm+VdhbsNqaJJCW71jY8w== -----END CERTIFICATE----- diff --git a/integration_tests/tls/server/test_server_ca.crt b/integration_tests/tls/server/test_server_ca.crt index 50ee616f..8e291d78 100644 --- a/integration_tests/tls/server/test_server_ca.crt +++ b/integration_tests/tls/server/test_server_ca.crt @@ -1,14 +1,14 @@ -----BEGIN CERTIFICATE----- -MIICHTCCAaKgAwIBAgIUTYD5x0zSg1rOztoJK8OEgWDl+yYwCgYIKoZIzj0EAwMw +MIICHTCCAaKgAwIBAgIUQquDlEPDmgOf/HpU2EDZdT93F0cwCgYIKoZIzj0EAwMw RTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGElu -dGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMjAxMDUwNzIwMjlaFw0yNDAxMDUw -NzIwMjlaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYD +dGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yNDAxMTgxODA5MDdaFw0yNjAxMTcx +ODA5MDdaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYD VQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwdjAQBgcqhkjOPQIBBgUrgQQA -IgNiAATi4OkAJaqyWwS1F6mBCBftwF/K02Zl07pg2C/WJxZEaGI/cRVTELt4Qsy2 -7SiGcJLIIsTQXfdNkyRue20/J/SpUDPMVbWNCozC2bS4DWd1n9uHlSMT4h7gZqxf -SkkkecCjUzBRMB0GA1UdDgQWBBSngShmDy8kt2azMqFGD1ObYaXT0DAfBgNVHSME -GDAWgBSngShmDy8kt2azMqFGD1ObYaXT0DAPBgNVHRMBAf8EBTADAQH/MAoGCCqG -SM49BAMDA2kAMGYCMQCel/W4B/LB75j0WHEHrKSoED17D4w+OrXlK6wnpVRSyOmZ -A0B4pBO4uh3ldwCZnBACMQC0whN1TI8a9Ku90nfvZ+D2kKMg/p39SmCDadQJNzwc -kp4YI2VJp0zYzt/xLiBRbZc= +IgNiAAShbzd/vZBW88hEy++CteTeIVBb4J1PPznzMkmJygJgD+fLuCwHSs7I7dkS +MMJDNWqv1jyCRq7QsYmgAoLT0G3Bw9RtJ+doFUboLlqlwWNqQUIhQiggDs3wmHw6 +6Wrz2/WjUzBRMB0GA1UdDgQWBBS0H57pWOJ7hIToI8ylyp0ailAqLzAfBgNVHSME +GDAWgBS0H57pWOJ7hIToI8ylyp0ailAqLzAPBgNVHRMBAf8EBTADAQH/MAoGCCqG +SM49BAMDA2kAMGYCMQDycXAd93gqCc7CesmbINU1lCAVFXcawMgqfXV+57NwOGVs +oG53OYm3eoTtPxgGFxoCMQCJyBIgEVweRhsZrziD5+VZS+fqP7BWR5c6KN3qWIon +jGw8aAp/I2nhiP2y9HOVpFY= -----END CERTIFICATE----- diff --git a/integration_tests/tls/server/test_server_ca.srl b/integration_tests/tls/server/test_server_ca.srl index b16eea03..62a3865f 100644 --- a/integration_tests/tls/server/test_server_ca.srl +++ b/integration_tests/tls/server/test_server_ca.srl @@ -1 +1 @@ -2E21E7E58A3DC877D1849CFB73B98E8D307DACE5 +2E21E7E58A3DC877D1849CFB73B98E8D307DACE6 diff --git a/integration_tests/tls/server/test_server_ca_key_non-pkcs8.pem b/integration_tests/tls/server/test_server_ca_key_non-pkcs8.pem index b21c545c..6077bb42 100644 --- a/integration_tests/tls/server/test_server_ca_key_non-pkcs8.pem +++ b/integration_tests/tls/server/test_server_ca_key_non-pkcs8.pem @@ -1,6 +1,6 @@ -----BEGIN EC PRIVATE KEY----- -MIGkAgEBBDCINLgOt9An518Pe/sciHH5GoBAlJ4iwljb5Ai1II1H+8/mwSeTPiIU -nzvrJGlS4mqgBwYFK4EEACKhZANiAATi4OkAJaqyWwS1F6mBCBftwF/K02Zl07pg -2C/WJxZEaGI/cRVTELt4Qsy27SiGcJLIIsTQXfdNkyRue20/J/SpUDPMVbWNCozC -2bS4DWd1n9uHlSMT4h7gZqxfSkkkecA= +MIGkAgEBBDAZp6mx8iODwIwaYK4BWN0rtmHcVa8gF/3OxdpcQZLUM4iGZPPqcYoQ +1YGUcKOm6RugBwYFK4EEACKhZANiAAShbzd/vZBW88hEy++CteTeIVBb4J1PPznz +MkmJygJgD+fLuCwHSs7I7dkSMMJDNWqv1jyCRq7QsYmgAoLT0G3Bw9RtJ+doFUbo +LlqlwWNqQUIhQiggDs3wmHw66Wrz2/U= -----END EC PRIVATE KEY----- diff --git a/integration_tests/tls/server/test_server_ca_key_pkcs8.pem b/integration_tests/tls/server/test_server_ca_key_pkcs8.pem index 14f4c920..e375a78c 100644 --- a/integration_tests/tls/server/test_server_ca_key_pkcs8.pem +++ b/integration_tests/tls/server/test_server_ca_key_pkcs8.pem @@ -1,6 +1,6 @@ -----BEGIN PRIVATE KEY----- -MIG2AgEAMBAGByqGSM49AgEGBSuBBAAiBIGeMIGbAgEBBDCINLgOt9An518Pe/sc -iHH5GoBAlJ4iwljb5Ai1II1H+8/mwSeTPiIUnzvrJGlS4mqhZANiAATi4OkAJaqy -WwS1F6mBCBftwF/K02Zl07pg2C/WJxZEaGI/cRVTELt4Qsy27SiGcJLIIsTQXfdN -kyRue20/J/SpUDPMVbWNCozC2bS4DWd1n9uHlSMT4h7gZqxfSkkkecA= +MIG2AgEAMBAGByqGSM49AgEGBSuBBAAiBIGeMIGbAgEBBDAZp6mx8iODwIwaYK4B +WN0rtmHcVa8gF/3OxdpcQZLUM4iGZPPqcYoQ1YGUcKOm6RuhZANiAAShbzd/vZBW +88hEy++CteTeIVBb4J1PPznzMkmJygJgD+fLuCwHSs7I7dkSMMJDNWqv1jyCRq7Q +sYmgAoLT0G3Bw9RtJ+doFUboLlqlwWNqQUIhQiggDs3wmHw66Wrz2/U= -----END PRIVATE KEY----- diff --git a/integration_tests/tls/server/test_server_key_non-pkcs8.pem b/integration_tests/tls/server/test_server_key_non-pkcs8.pem index 4fe4d4fc..92cd9fe7 100644 --- a/integration_tests/tls/server/test_server_key_non-pkcs8.pem +++ b/integration_tests/tls/server/test_server_key_non-pkcs8.pem @@ -1,6 +1,6 @@ -----BEGIN EC PRIVATE KEY----- -MIGkAgEBBDBJbcF9c2ijMxx2nc6naCJgVHfaqzmcGaDMyi5ua/o817xpAgf19YUb -ajTxc7zv5qSgBwYFK4EEACKhZANiAAQXZukT6dVTk8zz4ozwLbzSoS4xLbTNUGHK -Sl4Eq/1ZGnWAZR7yAQSZiSYN9IMlzMnRFq1NXt/Yppjfp+g1bCtIlL29L9vqM3YZ -JhaeLQ0RT2cVJCJkTY7vBGP/unyU0qk= +MIGkAgEBBDDpsU2rom9qjycHlD/I6GqcYMsuW+6Pgf42YDGuRIOxJF7dA+67zaY9 +NRgqoW3op9ugBwYFK4EEACKhZANiAASFcEod8eiwTXafD5WhoAf/bZa1Rb3RbQpR +p6pUmt+QBZ9Z3oJzy+fX+RinadA/FWWTrTaCLWeHcBFJlXVldu/nVKvrAJziMnAe +PU65ljaaSooulKzMJmVGFQFvf/Xp6RQ= -----END EC PRIVATE KEY----- diff --git a/integration_tests/tls/server/test_server_key_pkcs8.pem b/integration_tests/tls/server/test_server_key_pkcs8.pem index 23dd049d..cac01408 100644 --- a/integration_tests/tls/server/test_server_key_pkcs8.pem +++ b/integration_tests/tls/server/test_server_key_pkcs8.pem @@ -1,6 +1,6 @@ -----BEGIN PRIVATE KEY----- -MIG2AgEAMBAGByqGSM49AgEGBSuBBAAiBIGeMIGbAgEBBDBJbcF9c2ijMxx2nc6n -aCJgVHfaqzmcGaDMyi5ua/o817xpAgf19YUbajTxc7zv5qShZANiAAQXZukT6dVT -k8zz4ozwLbzSoS4xLbTNUGHKSl4Eq/1ZGnWAZR7yAQSZiSYN9IMlzMnRFq1NXt/Y -ppjfp+g1bCtIlL29L9vqM3YZJhaeLQ0RT2cVJCJkTY7vBGP/unyU0qk= +MIG2AgEAMBAGByqGSM49AgEGBSuBBAAiBIGeMIGbAgEBBDDpsU2rom9qjycHlD/I +6GqcYMsuW+6Pgf42YDGuRIOxJF7dA+67zaY9NRgqoW3op9uhZANiAASFcEod8eiw +TXafD5WhoAf/bZa1Rb3RbQpRp6pUmt+QBZ9Z3oJzy+fX+RinadA/FWWTrTaCLWeH +cBFJlXVldu/nVKvrAJziMnAePU65ljaaSooulKzMJmVGFQFvf/Xp6RQ= -----END PRIVATE KEY----- diff --git a/proto/cellar_v2.proto b/proto/cellar_v2.proto index 57a71bb4..22827224 100644 --- a/proto/cellar_v2.proto +++ b/proto/cellar_v2.proto @@ -462,6 +462,10 @@ message CellarV2_5 { CachePriceRouter cache_price_router = 19; // Represents function `forcePositionOut(uint32 index, uint32 positionId, bool inDebtArray)` ForcePositionOut force_position_out = 20; + // Represents function `setAlternativeAssetData(ERC20 _alternativeAsset, uint32 _alternativeHoldingPosition, uint32 _alternativeAssetFee)` + SetAlternativeAssetData set_alternative_asset_data = 21; + // Represents function `setDropAlternativeAssetData(ERC20 _alternativeAsset)` + DropAlternativeAssetData drop_alternative_asset_data = 22; } } @@ -680,6 +684,30 @@ message CellarV2_5 { // Whether to switch positions in the debt array, or the credit array. bool in_debt_array = 3; } + + /* + * Allows the strategist to add, or update an existing alternative asset deposit. + * + * Represents function `setAlternativeAssetData(ERC20 _alternativeAsset, uint32 _alternativeHoldingPosition, uint32 _alternativeAssetFee)` + */ + message SetAlternativeAssetData { + // The address of the alternative asset + string alternative_asset = 1; + // The holding position to direct alternative asset deposits to + uint32 alternative_holding_position = 2; + // The fee to charge for depositing this alternative asset + uint32 alternative_asset_fee = 3; + } + + /* + * Allows the strategist to stop an alternative asset from being deposited. + * + * Represents function `dropAlternativeAssetData(ERC20 _alternativeAsset)` + */ + message DropAlternativeAssetData { + // The address of the alternative asset + string alternative_asset = 1; + } } // Represents a call to adaptor an. The cellar must be authorized to call the target adaptor. diff --git a/steward/src/cellars/cellar_v2_5.rs b/steward/src/cellars/cellar_v2_5.rs index 174c51e9..eb7acb62 100644 --- a/steward/src/cellars/cellar_v2_5.rs +++ b/steward/src/cellars/cellar_v2_5.rs @@ -9,6 +9,10 @@ use ethers::{ }; use steward_abi::{ cellar_v2_5::{AdaptorCall as AbiAdaptorCall, *}, + cellar_with_multi_asset_deposit_v1::{ + CellarWithMultiAssetDepositV1Calls, DropAlternativeAssetDataCall, + SetAlternativeAssetDataCall, + }, cellar_with_share_lock_period_v1::{CellarWithShareLockPeriodV1Calls, SetShareLockPeriodCall}, }; use steward_proto::steward::{ @@ -315,6 +319,32 @@ pub fn get_encoded_function(call: FunctionCall, cellar_id: String) -> Result { + log_cellar_call( + CELLAR_NAME, + &SetAlternativeAssetDataCall::function_name(), + &cellar_id, + ); + let call = SetAlternativeAssetDataCall { + alternative_asset: sp_call_parse_address(params.alternative_asset)?, + alternative_holding_position: params.alternative_holding_position, + alternative_asset_fee: params.alternative_asset_fee, + }; + + Ok(CellarWithMultiAssetDepositV1Calls::SetAlternativeAssetData(call).encode()) + } + Function::DropAlternativeAssetData(params) => { + log_cellar_call( + CELLAR_NAME, + &DropAlternativeAssetDataCall::function_name(), + &cellar_id, + ); + let call = DropAlternativeAssetDataCall { + alternative_asset: sp_call_parse_address(params.alternative_asset)?, + }; + + Ok(CellarWithMultiAssetDepositV1Calls::DropAlternativeAssetData(call).encode()) + } } } diff --git a/steward_abi/abi/CellarWithMultiAssetDepositV1.json b/steward_abi/abi/CellarWithMultiAssetDepositV1.json new file mode 100644 index 00000000..a892f47d --- /dev/null +++ b/steward_abi/abi/CellarWithMultiAssetDepositV1.json @@ -0,0 +1,1989 @@ +[ + { + "type": "constructor", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + }, + { + "name": "_registry", + "type": "address", + "internalType": "contract Registry" + }, + { + "name": "_asset", + "type": "address", + "internalType": "contract ERC20" + }, + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_symbol", + "type": "string", + "internalType": "string" + }, + { + "name": "_holdingPosition", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "_holdingPositionConfig", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_initialDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_strategistPlatformCut", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "_shareSupplyCap", + "type": "uint192", + "internalType": "uint192" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addAdaptorToCatalogue", + "inputs": [ + { + "name": "adaptor", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addPosition", + "inputs": [ + { + "name": "index", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "positionId", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "configurationData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "inDebtArray", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addPositionToCatalogue", + "inputs": [ + { + "name": "positionId", + "type": "uint32", + "internalType": "uint32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "alternativeAssetData", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ERC20" + } + ], + "outputs": [ + { + "name": "isSupported", + "type": "bool", + "internalType": "bool" + }, + { + "name": "holdingPosition", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "depositFee", + "type": "uint32", + "internalType": "uint32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "asset", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ERC20" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "blockExternalReceiver", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "cachePriceRouter", + "inputs": [ + { + "name": "checkTotalAssets", + "type": "bool", + "internalType": "bool" + }, + { + "name": "allowableRange", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "expectedPriceRouter", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "callOnAdaptor", + "inputs": [ + { + "name": "data", + "type": "tuple[]", + "internalType": "struct Cellar.AdaptorCall[]", + "components": [ + { + "name": "adaptor", + "type": "address", + "internalType": "address" + }, + { + "name": "callData", + "type": "bytes[]", + "internalType": "bytes[]" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToAssets", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decreaseShareSupplyCap", + "inputs": [ + { + "name": "_newShareSupplyCap", + "type": "uint192", + "internalType": "uint192" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "dropAlternativeAssetData", + "inputs": [ + { + "name": "_alternativeAsset", + "type": "address", + "internalType": "contract ERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "feeData", + "inputs": [], + "outputs": [ + { + "name": "strategistPlatformCut", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "platformFee", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "lastAccrual", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "strategistPayoutAddress", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "forcePositionOut", + "inputs": [ + { + "name": "index", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "positionId", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "inDebtArray", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getCreditPositions", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint32[]", + "internalType": "uint32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDebtPositions", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint32[]", + "internalType": "uint32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "holdingPosition", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint32", + "internalType": "uint32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ignorePause", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "increaseShareSupplyCap", + "inputs": [ + { + "name": "_newShareSupplyCap", + "type": "uint192", + "internalType": "uint192" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "initiateShutdown", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isPaused", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPositionUsed", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isShutdown", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "liftShutdown", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "locked", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxDeposit", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxMint", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxRedeem", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxWithdraw", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "multiAssetDeposit", + "inputs": [ + { + "name": "depositAsset", + "type": "address", + "internalType": "contract ERC20" + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "multicall", + "inputs": [ + { + "name": "data", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "onERC721Received", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "previewDeposit", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewMint", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewMultiAssetDeposit", + "inputs": [ + { + "name": "depositAsset", + "type": "address", + "internalType": "contract ERC20" + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewRedeem", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewWithdraw", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "priceRouter", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract PriceRouter" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "redeem", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "registry", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Registry" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "removeAdaptorFromCatalogue", + "inputs": [ + { + "name": "adaptor", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removePosition", + "inputs": [ + { + "name": "index", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "inDebtArray", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removePositionFromCatalogue", + "inputs": [ + { + "name": "positionId", + "type": "uint32", + "internalType": "uint32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAlternativeAssetData", + "inputs": [ + { + "name": "_alternativeAsset", + "type": "address", + "internalType": "contract ERC20" + }, + { + "name": "_alternativeHoldingPosition", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "_alternativeAssetFee", + "type": "uint32", + "internalType": "uint32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setHoldingPosition", + "inputs": [ + { + "name": "positionId", + "type": "uint32", + "internalType": "uint32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRebalanceDeviation", + "inputs": [ + { + "name": "newDeviation", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setStrategistPayoutAddress", + "inputs": [ + { + "name": "payout", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setStrategistPlatformCut", + "inputs": [ + { + "name": "cut", + "type": "uint64", + "internalType": "uint64" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "shareSupplyCap", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint192", + "internalType": "uint192" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "swapPositions", + "inputs": [ + { + "name": "index1", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "index2", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "inDebtArray", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "toggleIgnorePause", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "totalAssets", + "inputs": [], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalAssetsWithdrawable", + "inputs": [], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferOwnership", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AdaptorCalled", + "inputs": [ + { + "name": "adaptor", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AdaptorCatalogueAltered", + "inputs": [ + { + "name": "adaptor", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "inCatalogue", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AlternativeAssetDropped", + "inputs": [ + { + "name": "asset", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AlternativeAssetUpdated", + "inputs": [ + { + "name": "asset", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "holdingPosition", + "type": "uint32", + "indexed": false, + "internalType": "uint32" + }, + { + "name": "depositFee", + "type": "uint32", + "indexed": false, + "internalType": "uint32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Deposit", + "inputs": [ + { + "name": "caller", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MultiAssetDeposit", + "inputs": [ + { + "name": "caller", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "depositAsset", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "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": "PositionAdded", + "inputs": [ + { + "name": "position", + "type": "uint32", + "indexed": false, + "internalType": "uint32" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PositionCatalogueAltered", + "inputs": [ + { + "name": "positionId", + "type": "uint32", + "indexed": false, + "internalType": "uint32" + }, + { + "name": "inCatalogue", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PositionRemoved", + "inputs": [ + { + "name": "position", + "type": "uint32", + "indexed": false, + "internalType": "uint32" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PositionSwapped", + "inputs": [ + { + "name": "newPosition1", + "type": "uint32", + "indexed": false, + "internalType": "uint32" + }, + { + "name": "newPosition2", + "type": "uint32", + "indexed": false, + "internalType": "uint32" + }, + { + "name": "index1", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "index2", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RebalanceDeviationChanged", + "inputs": [ + { + "name": "oldDeviation", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "newDeviation", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ShutdownChanged", + "inputs": [ + { + "name": "isShutdown", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "StrategistPayoutAddressChanged", + "inputs": [ + { + "name": "oldPayoutAddress", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "newPayoutAddress", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "StrategistPlatformCutChanged", + "inputs": [ + { + "name": "oldPlatformCut", + "type": "uint64", + "indexed": false, + "internalType": "uint64" + }, + { + "name": "newPlatformCut", + "type": "uint64", + "indexed": false, + "internalType": "uint64" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "caller", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "CellarWithMultiAssetDeposit__AlternativeAssetFeeTooLarge", + "inputs": [] + }, + { + "type": "error", + "name": "CellarWithMultiAssetDeposit__AlternativeAssetNotSupported", + "inputs": [] + }, + { + "type": "error", + "name": "CellarWithMultiAssetDeposit__CallDataLengthNotSupported", + "inputs": [] + }, + { + "type": "error", + "name": "Cellar__AssetMismatch", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "expectedAsset", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "Cellar__CallToAdaptorNotAllowed", + "inputs": [ + { + "name": "adaptor", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "Cellar__ContractNotShutdown", + "inputs": [] + }, + { + "type": "error", + "name": "Cellar__ContractShutdown", + "inputs": [] + }, + { + "type": "error", + "name": "Cellar__DebtMismatch", + "inputs": [ + { + "name": "position", + "type": "uint32", + "internalType": "uint32" + } + ] + }, + { + "type": "error", + "name": "Cellar__ExpectedAddressDoesNotMatchActual", + "inputs": [] + }, + { + "type": "error", + "name": "Cellar__FailedToForceOutPosition", + "inputs": [] + }, + { + "type": "error", + "name": "Cellar__IlliquidWithdraw", + "inputs": [ + { + "name": "illiquidPosition", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "Cellar__IncompleteWithdraw", + "inputs": [ + { + "name": "assetsOwed", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "Cellar__InvalidFee", + "inputs": [] + }, + { + "type": "error", + "name": "Cellar__InvalidFeeCut", + "inputs": [] + }, + { + "type": "error", + "name": "Cellar__InvalidHoldingPosition", + "inputs": [ + { + "name": "positionId", + "type": "uint32", + "internalType": "uint32" + } + ] + }, + { + "type": "error", + "name": "Cellar__InvalidRebalanceDeviation", + "inputs": [ + { + "name": "requested", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "max", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "Cellar__InvalidShareSupplyCap", + "inputs": [] + }, + { + "type": "error", + "name": "Cellar__MinimumConstructorMintNotMet", + "inputs": [] + }, + { + "type": "error", + "name": "Cellar__Paused", + "inputs": [] + }, + { + "type": "error", + "name": "Cellar__PositionAlreadyUsed", + "inputs": [ + { + "name": "position", + "type": "uint32", + "internalType": "uint32" + } + ] + }, + { + "type": "error", + "name": "Cellar__PositionArrayFull", + "inputs": [ + { + "name": "maxPositions", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "Cellar__PositionNotEmpty", + "inputs": [ + { + "name": "position", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "sharesRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "Cellar__PositionNotInCatalogue", + "inputs": [ + { + "name": "position", + "type": "uint32", + "internalType": "uint32" + } + ] + }, + { + "type": "error", + "name": "Cellar__PositionNotUsed", + "inputs": [ + { + "name": "position", + "type": "uint32", + "internalType": "uint32" + } + ] + }, + { + "type": "error", + "name": "Cellar__RemovingHoldingPosition", + "inputs": [] + }, + { + "type": "error", + "name": "Cellar__SettingValueToRegistryIdZeroIsProhibited", + "inputs": [] + }, + { + "type": "error", + "name": "Cellar__ShareSupplyCapExceeded", + "inputs": [] + }, + { + "type": "error", + "name": "Cellar__TotalAssetDeviatedOutsideRange", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "min", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "max", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "Cellar__TotalSharesMustRemainConstant", + "inputs": [ + { + "name": "current", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "expected", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "Cellar__ZeroAssets", + "inputs": [] + }, + { + "type": "error", + "name": "Cellar__ZeroShares", + "inputs": [] + } +] diff --git a/steward_abi/src/cellar_with_multi_asset_deposit_v1.rs b/steward_abi/src/cellar_with_multi_asset_deposit_v1.rs new file mode 100644 index 00000000..287bf16a --- /dev/null +++ b/steward_abi/src/cellar_with_multi_asset_deposit_v1.rs @@ -0,0 +1,3484 @@ +pub use cellarwithmultiassetdepositv1_mod::*; +#[allow(clippy::too_many_arguments)] +mod cellarwithmultiassetdepositv1_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 = "CellarWithMultiAssetDepositV1 was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"] + use std::sync::Arc; + pub static CELLARWITHMULTIASSETDEPOSITV1_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\": \"_registry\",\n \"type\": \"address\",\n \"internalType\": \"contract Registry\"\n },\n {\n \"name\": \"_asset\",\n \"type\": \"address\",\n \"internalType\": \"contract ERC20\"\n },\n {\n \"name\": \"_name\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n },\n {\n \"name\": \"_symbol\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n },\n {\n \"name\": \"_holdingPosition\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"_holdingPositionConfig\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n },\n {\n \"name\": \"_initialDeposit\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"_strategistPlatformCut\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"_shareSupplyCap\",\n \"type\": \"uint192\",\n \"internalType\": \"uint192\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"DOMAIN_SEPARATOR\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"addAdaptorToCatalogue\",\n \"inputs\": [\n {\n \"name\": \"adaptor\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"addPosition\",\n \"inputs\": [\n {\n \"name\": \"index\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"positionId\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"configurationData\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n },\n {\n \"name\": \"inDebtArray\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"addPositionToCatalogue\",\n \"inputs\": [\n {\n \"name\": \"positionId\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"allowance\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"alternativeAssetData\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"contract ERC20\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"isSupported\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"holdingPosition\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"depositFee\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"approve\",\n \"inputs\": [\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"asset\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"contract ERC20\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"balanceOf\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"blockExternalReceiver\",\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\": \"cachePriceRouter\",\n \"inputs\": [\n {\n \"name\": \"checkTotalAssets\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"allowableRange\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"expectedPriceRouter\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"callOnAdaptor\",\n \"inputs\": [\n {\n \"name\": \"data\",\n \"type\": \"tuple[]\",\n \"internalType\": \"struct Cellar.AdaptorCall[]\",\n \"components\": [\n {\n \"name\": \"adaptor\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"callData\",\n \"type\": \"bytes[]\",\n \"internalType\": \"bytes[]\"\n }\n ]\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"convertToAssets\",\n \"inputs\": [\n {\n \"name\": \"shares\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"assets\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"convertToShares\",\n \"inputs\": [\n {\n \"name\": \"assets\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"shares\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"decimals\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint8\",\n \"internalType\": \"uint8\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"decreaseShareSupplyCap\",\n \"inputs\": [\n {\n \"name\": \"_newShareSupplyCap\",\n \"type\": \"uint192\",\n \"internalType\": \"uint192\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"deposit\",\n \"inputs\": [\n {\n \"name\": \"assets\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"receiver\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"shares\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"dropAlternativeAssetData\",\n \"inputs\": [\n {\n \"name\": \"_alternativeAsset\",\n \"type\": \"address\",\n \"internalType\": \"contract ERC20\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"feeData\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"strategistPlatformCut\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"platformFee\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"lastAccrual\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"strategistPayoutAddress\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"forcePositionOut\",\n \"inputs\": [\n {\n \"name\": \"index\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"positionId\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"inDebtArray\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getCreditPositions\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint32[]\",\n \"internalType\": \"uint32[]\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getDebtPositions\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint32[]\",\n \"internalType\": \"uint32[]\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"holdingPosition\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"ignorePause\",\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\": \"increaseShareSupplyCap\",\n \"inputs\": [\n {\n \"name\": \"_newShareSupplyCap\",\n \"type\": \"uint192\",\n \"internalType\": \"uint192\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"initiateShutdown\",\n \"inputs\": [],\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\": \"isPositionUsed\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"isShutdown\",\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\": \"liftShutdown\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"locked\",\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\": \"maxDeposit\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"maxMint\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"maxRedeem\",\n \"inputs\": [\n {\n \"name\": \"owner\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"maxWithdraw\",\n \"inputs\": [\n {\n \"name\": \"owner\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"mint\",\n \"inputs\": [\n {\n \"name\": \"shares\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"receiver\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"assets\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"multiAssetDeposit\",\n \"inputs\": [\n {\n \"name\": \"depositAsset\",\n \"type\": \"address\",\n \"internalType\": \"contract ERC20\"\n },\n {\n \"name\": \"assets\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"receiver\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"shares\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"multicall\",\n \"inputs\": [\n {\n \"name\": \"data\",\n \"type\": \"bytes[]\",\n \"internalType\": \"bytes[]\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"name\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"nonces\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"onERC721Received\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes4\",\n \"internalType\": \"bytes4\"\n }\n ],\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\": \"permit\",\n \"inputs\": [\n {\n \"name\": \"owner\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"value\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"deadline\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"v\",\n \"type\": \"uint8\",\n \"internalType\": \"uint8\"\n },\n {\n \"name\": \"r\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"s\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"previewDeposit\",\n \"inputs\": [\n {\n \"name\": \"assets\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"shares\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"previewMint\",\n \"inputs\": [\n {\n \"name\": \"shares\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"assets\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"previewMultiAssetDeposit\",\n \"inputs\": [\n {\n \"name\": \"depositAsset\",\n \"type\": \"address\",\n \"internalType\": \"contract ERC20\"\n },\n {\n \"name\": \"assets\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"shares\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"previewRedeem\",\n \"inputs\": [\n {\n \"name\": \"shares\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"assets\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"previewWithdraw\",\n \"inputs\": [\n {\n \"name\": \"assets\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"shares\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"priceRouter\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"contract PriceRouter\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"redeem\",\n \"inputs\": [\n {\n \"name\": \"shares\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"receiver\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"assets\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"registry\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"contract Registry\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"removeAdaptorFromCatalogue\",\n \"inputs\": [\n {\n \"name\": \"adaptor\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"removePosition\",\n \"inputs\": [\n {\n \"name\": \"index\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"inDebtArray\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"removePositionFromCatalogue\",\n \"inputs\": [\n {\n \"name\": \"positionId\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"setAlternativeAssetData\",\n \"inputs\": [\n {\n \"name\": \"_alternativeAsset\",\n \"type\": \"address\",\n \"internalType\": \"contract ERC20\"\n },\n {\n \"name\": \"_alternativeHoldingPosition\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"_alternativeAssetFee\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"setHoldingPosition\",\n \"inputs\": [\n {\n \"name\": \"positionId\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"setRebalanceDeviation\",\n \"inputs\": [\n {\n \"name\": \"newDeviation\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"setStrategistPayoutAddress\",\n \"inputs\": [\n {\n \"name\": \"payout\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"setStrategistPlatformCut\",\n \"inputs\": [\n {\n \"name\": \"cut\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"shareSupplyCap\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint192\",\n \"internalType\": \"uint192\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"swapPositions\",\n \"inputs\": [\n {\n \"name\": \"index1\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"index2\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"inDebtArray\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"symbol\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"toggleIgnorePause\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"totalAssets\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"assets\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"totalAssetsWithdrawable\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"assets\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"totalSupply\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"transfer\",\n \"inputs\": [\n {\n \"name\": \"to\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"transferFrom\",\n \"inputs\": [\n {\n \"name\": \"from\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"to\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\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\": \"withdraw\",\n \"inputs\": [\n {\n \"name\": \"assets\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"receiver\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"shares\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"event\",\n \"name\": \"AdaptorCalled\",\n \"inputs\": [\n {\n \"name\": \"adaptor\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"data\",\n \"type\": \"bytes\",\n \"indexed\": false,\n \"internalType\": \"bytes\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"AdaptorCatalogueAltered\",\n \"inputs\": [\n {\n \"name\": \"adaptor\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"inCatalogue\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"AlternativeAssetDropped\",\n \"inputs\": [\n {\n \"name\": \"asset\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"AlternativeAssetUpdated\",\n \"inputs\": [\n {\n \"name\": \"asset\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"holdingPosition\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"depositFee\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"Approval\",\n \"inputs\": [\n {\n \"name\": \"owner\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"Deposit\",\n \"inputs\": [\n {\n \"name\": \"caller\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"assets\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"shares\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"MultiAssetDeposit\",\n \"inputs\": [\n {\n \"name\": \"caller\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"depositAsset\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"assets\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"shares\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"PositionAdded\",\n \"inputs\": [\n {\n \"name\": \"position\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"index\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"PositionCatalogueAltered\",\n \"inputs\": [\n {\n \"name\": \"positionId\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"inCatalogue\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"PositionRemoved\",\n \"inputs\": [\n {\n \"name\": \"position\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"index\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"PositionSwapped\",\n \"inputs\": [\n {\n \"name\": \"newPosition1\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"newPosition2\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"index1\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"index2\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"RebalanceDeviationChanged\",\n \"inputs\": [\n {\n \"name\": \"oldDeviation\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"newDeviation\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"ShutdownChanged\",\n \"inputs\": [\n {\n \"name\": \"isShutdown\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"StrategistPayoutAddressChanged\",\n \"inputs\": [\n {\n \"name\": \"oldPayoutAddress\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newPayoutAddress\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"StrategistPlatformCutChanged\",\n \"inputs\": [\n {\n \"name\": \"oldPlatformCut\",\n \"type\": \"uint64\",\n \"indexed\": false,\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"newPlatformCut\",\n \"type\": \"uint64\",\n \"indexed\": false,\n \"internalType\": \"uint64\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"Transfer\",\n \"inputs\": [\n {\n \"name\": \"from\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"to\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"Withdraw\",\n \"inputs\": [\n {\n \"name\": \"caller\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"receiver\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"assets\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"shares\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"error\",\n \"name\": \"CellarWithMultiAssetDeposit__AlternativeAssetFeeTooLarge\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"CellarWithMultiAssetDeposit__AlternativeAssetNotSupported\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"CellarWithMultiAssetDeposit__CallDataLengthNotSupported\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__AssetMismatch\",\n \"inputs\": [\n {\n \"name\": \"asset\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"expectedAsset\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__CallToAdaptorNotAllowed\",\n \"inputs\": [\n {\n \"name\": \"adaptor\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__ContractNotShutdown\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__ContractShutdown\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__DebtMismatch\",\n \"inputs\": [\n {\n \"name\": \"position\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__ExpectedAddressDoesNotMatchActual\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__FailedToForceOutPosition\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__IlliquidWithdraw\",\n \"inputs\": [\n {\n \"name\": \"illiquidPosition\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__IncompleteWithdraw\",\n \"inputs\": [\n {\n \"name\": \"assetsOwed\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__InvalidFee\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__InvalidFeeCut\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__InvalidHoldingPosition\",\n \"inputs\": [\n {\n \"name\": \"positionId\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__InvalidRebalanceDeviation\",\n \"inputs\": [\n {\n \"name\": \"requested\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"max\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__InvalidShareSupplyCap\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__MinimumConstructorMintNotMet\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__Paused\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__PositionAlreadyUsed\",\n \"inputs\": [\n {\n \"name\": \"position\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__PositionArrayFull\",\n \"inputs\": [\n {\n \"name\": \"maxPositions\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__PositionNotEmpty\",\n \"inputs\": [\n {\n \"name\": \"position\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"sharesRemaining\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__PositionNotInCatalogue\",\n \"inputs\": [\n {\n \"name\": \"position\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__PositionNotUsed\",\n \"inputs\": [\n {\n \"name\": \"position\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__RemovingHoldingPosition\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__SettingValueToRegistryIdZeroIsProhibited\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__ShareSupplyCapExceeded\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__TotalAssetDeviatedOutsideRange\",\n \"inputs\": [\n {\n \"name\": \"assets\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"min\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"max\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__TotalSharesMustRemainConstant\",\n \"inputs\": [\n {\n \"name\": \"current\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"expected\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__ZeroAssets\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"Cellar__ZeroShares\",\n \"inputs\": []\n }\n]\n") . expect ("invalid abi") + }); + #[derive(Clone)] + pub struct CellarWithMultiAssetDepositV1(ethers::contract::Contract); + impl std::ops::Deref for CellarWithMultiAssetDepositV1 { + type Target = ethers::contract::Contract; + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl std::fmt::Debug for CellarWithMultiAssetDepositV1 { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + f.debug_tuple(stringify!(CellarWithMultiAssetDepositV1)) + .field(&self.address()) + .finish() + } + } + impl<'a, M: ethers::providers::Middleware> CellarWithMultiAssetDepositV1 { + #[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(), + CELLARWITHMULTIASSETDEPOSITV1_ABI.clone(), + client, + ); + Self(contract) + } + #[doc = "Calls the contract's `DOMAIN_SEPARATOR` (0x3644e515) function"] + pub fn domain_separator(&self) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([54, 68, 229, 21], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `addAdaptorToCatalogue` (0x3d8ab1e5) function"] + pub fn add_adaptor_to_catalogue( + &self, + adaptor: ethers::core::types::Address, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([61, 138, 177, 229], adaptor) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `addPosition` (0x9955a9d4) function"] + pub fn add_position( + &self, + index: u32, + position_id: u32, + configuration_data: ethers::core::types::Bytes, + in_debt_array: bool, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash( + [153, 85, 169, 212], + (index, position_id, configuration_data, in_debt_array), + ) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `addPositionToCatalogue` (0x501eb4fe) function"] + pub fn add_position_to_catalogue( + &self, + position_id: u32, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([80, 30, 180, 254], position_id) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `allowance` (0xdd62ed3e) function"] + pub fn allowance( + &self, + p0: ethers::core::types::Address, + p1: ethers::core::types::Address, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([221, 98, 237, 62], (p0, p1)) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `alternativeAssetData` (0x6419111e) function"] + pub fn alternative_asset_data( + &self, + p0: ethers::core::types::Address, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([100, 25, 17, 30], p0) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `approve` (0x095ea7b3) function"] + pub fn approve( + &self, + spender: ethers::core::types::Address, + amount: ethers::core::types::U256, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([9, 94, 167, 179], (spender, amount)) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `asset` (0x38d52e0f) function"] + pub fn asset( + &self, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([56, 213, 46, 15], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `balanceOf` (0x70a08231) function"] + pub fn balance_of( + &self, + p0: ethers::core::types::Address, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([112, 160, 130, 49], p0) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `blockExternalReceiver` (0x4c4602da) function"] + pub fn block_external_receiver(&self) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([76, 70, 2, 218], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `cachePriceRouter` (0xc588d8d6) function"] + pub fn cache_price_router( + &self, + check_total_assets: bool, + allowable_range: u16, + expected_price_router: ethers::core::types::Address, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash( + [197, 136, 216, 214], + (check_total_assets, allowable_range, expected_price_router), + ) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `callOnAdaptor` (0x4e84befe) function"] + pub fn call_on_adaptor( + &self, + data: ::std::vec::Vec, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([78, 132, 190, 254], data) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `convertToAssets` (0x07a2d13a) function"] + pub fn convert_to_assets( + &self, + shares: ethers::core::types::U256, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([7, 162, 209, 58], shares) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `convertToShares` (0xc6e6f592) function"] + pub fn convert_to_shares( + &self, + assets: ethers::core::types::U256, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([198, 230, 245, 146], assets) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `decimals` (0x313ce567) function"] + pub fn decimals(&self) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([49, 60, 229, 103], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `decreaseShareSupplyCap` (0x575bbce6) function"] + pub fn decrease_share_supply_cap( + &self, + new_share_supply_cap: ethers::core::types::U256, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([87, 91, 188, 230], new_share_supply_cap) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `deposit` (0x6e553f65) function"] + pub fn deposit( + &self, + assets: ethers::core::types::U256, + receiver: ethers::core::types::Address, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([110, 85, 63, 101], (assets, receiver)) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `dropAlternativeAssetData` (0x217bb34d) function"] + pub fn drop_alternative_asset_data( + &self, + alternative_asset: ethers::core::types::Address, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([33, 123, 179, 77], alternative_asset) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `feeData` (0xe753e600) function"] + pub fn fee_data( + &self, + ) -> ethers::contract::builders::ContractCall< + M, + (u64, u64, u64, ethers::core::types::Address), + > { + self.0 + .method_hash([231, 83, 230, 0], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `forcePositionOut` (0xa07bee0b) function"] + pub fn force_position_out( + &self, + index: u32, + position_id: u32, + in_debt_array: bool, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([160, 123, 238, 11], (index, position_id, in_debt_array)) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `getCreditPositions` (0x71e99dc2) function"] + pub fn get_credit_positions( + &self, + ) -> ethers::contract::builders::ContractCall> { + self.0 + .method_hash([113, 233, 157, 194], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `getDebtPositions` (0x3e3382ba) function"] + pub fn get_debt_positions( + &self, + ) -> ethers::contract::builders::ContractCall> { + self.0 + .method_hash([62, 51, 130, 186], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `holdingPosition` (0x9c5f00c2) function"] + pub fn holding_position(&self) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([156, 95, 0, 194], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `ignorePause` (0x9959af94) function"] + pub fn ignore_pause(&self) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([153, 89, 175, 148], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `increaseShareSupplyCap` (0xb0646e27) function"] + pub fn increase_share_supply_cap( + &self, + new_share_supply_cap: ethers::core::types::U256, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([176, 100, 110, 39], new_share_supply_cap) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `initiateShutdown` (0x0a680e18) function"] + pub fn initiate_shutdown(&self) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([10, 104, 14, 24], ()) + .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 `isPositionUsed` (0x93bbeac0) function"] + pub fn is_position_used( + &self, + p0: ethers::core::types::U256, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([147, 187, 234, 192], p0) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `isShutdown` (0xbf86d690) function"] + pub fn is_shutdown(&self) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([191, 134, 214, 144], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `liftShutdown` (0x5e2c576e) function"] + pub fn lift_shutdown(&self) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([94, 44, 87, 110], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `locked` (0xcf309012) function"] + pub fn locked(&self) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([207, 48, 144, 18], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `maxDeposit` (0x402d267d) function"] + pub fn max_deposit( + &self, + p0: ethers::core::types::Address, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([64, 45, 38, 125], p0) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `maxMint` (0xc63d75b6) function"] + pub fn max_mint( + &self, + p0: ethers::core::types::Address, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([198, 61, 117, 182], p0) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `maxRedeem` (0xd905777e) function"] + pub fn max_redeem( + &self, + owner: ethers::core::types::Address, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([217, 5, 119, 126], owner) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `maxWithdraw` (0xce96cb77) function"] + pub fn max_withdraw( + &self, + owner: ethers::core::types::Address, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([206, 150, 203, 119], owner) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `mint` (0x94bf804d) function"] + pub fn mint( + &self, + shares: ethers::core::types::U256, + receiver: ethers::core::types::Address, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([148, 191, 128, 77], (shares, receiver)) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `multiAssetDeposit` (0x2b91c5de) function"] + pub fn multi_asset_deposit( + &self, + deposit_asset: ethers::core::types::Address, + assets: ethers::core::types::U256, + receiver: ethers::core::types::Address, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([43, 145, 197, 222], (deposit_asset, assets, receiver)) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `multicall` (0xac9650d8) function"] + pub fn multicall( + &self, + data: ::std::vec::Vec, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([172, 150, 80, 216], data) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `name` (0x06fdde03) function"] + pub fn name(&self) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([6, 253, 222, 3], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `nonces` (0x7ecebe00) function"] + pub fn nonces( + &self, + p0: ethers::core::types::Address, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([126, 206, 190, 0], p0) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `onERC721Received` (0x150b7a02) function"] + pub fn on_erc721_received( + &self, + p0: ethers::core::types::Address, + p1: ethers::core::types::Address, + p2: ethers::core::types::U256, + p3: ethers::core::types::Bytes, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([21, 11, 122, 2], (p0, p1, p2, p3)) + .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 `permit` (0xd505accf) function"] + pub fn permit( + &self, + owner: ethers::core::types::Address, + spender: ethers::core::types::Address, + value: ethers::core::types::U256, + deadline: ethers::core::types::U256, + v: u8, + r: [u8; 32], + s: [u8; 32], + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash( + [213, 5, 172, 207], + (owner, spender, value, deadline, v, r, s), + ) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `previewDeposit` (0xef8b30f7) function"] + pub fn preview_deposit( + &self, + assets: ethers::core::types::U256, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([239, 139, 48, 247], assets) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `previewMint` (0xb3d7f6b9) function"] + pub fn preview_mint( + &self, + shares: ethers::core::types::U256, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([179, 215, 246, 185], shares) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `previewMultiAssetDeposit` (0x7ab92915) function"] + pub fn preview_multi_asset_deposit( + &self, + deposit_asset: ethers::core::types::Address, + assets: ethers::core::types::U256, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([122, 185, 41, 21], (deposit_asset, assets)) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `previewRedeem` (0x4cdad506) function"] + pub fn preview_redeem( + &self, + shares: ethers::core::types::U256, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([76, 218, 213, 6], shares) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `previewWithdraw` (0x0a28a477) function"] + pub fn preview_withdraw( + &self, + assets: ethers::core::types::U256, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([10, 40, 164, 119], assets) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `priceRouter` (0xd7d4bf45) function"] + pub fn price_router( + &self, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([215, 212, 191, 69], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `redeem` (0xba087652) function"] + pub fn redeem( + &self, + shares: ethers::core::types::U256, + receiver: ethers::core::types::Address, + owner: ethers::core::types::Address, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([186, 8, 118, 82], (shares, receiver, owner)) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `registry` (0x7b103999) function"] + pub fn registry( + &self, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([123, 16, 57, 153], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `removeAdaptorFromCatalogue` (0x5f6b88a0) function"] + pub fn remove_adaptor_from_catalogue( + &self, + adaptor: ethers::core::types::Address, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([95, 107, 136, 160], adaptor) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `removePosition` (0x33e15be2) function"] + pub fn remove_position( + &self, + index: u32, + in_debt_array: bool, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([51, 225, 91, 226], (index, in_debt_array)) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `removePositionFromCatalogue` (0xd1e88404) function"] + pub fn remove_position_from_catalogue( + &self, + position_id: u32, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([209, 232, 132, 4], position_id) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `setAlternativeAssetData` (0x855bccb3) function"] + pub fn set_alternative_asset_data( + &self, + alternative_asset: ethers::core::types::Address, + alternative_holding_position: u32, + alternative_asset_fee: u32, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash( + [133, 91, 204, 179], + ( + alternative_asset, + alternative_holding_position, + alternative_asset_fee, + ), + ) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `setHoldingPosition` (0x0780fd3a) function"] + pub fn set_holding_position( + &self, + position_id: u32, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([7, 128, 253, 58], position_id) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `setRebalanceDeviation` (0x530a3714) function"] + pub fn set_rebalance_deviation( + &self, + new_deviation: ethers::core::types::U256, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([83, 10, 55, 20], new_deviation) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `setStrategistPayoutAddress` (0xb0a75d36) function"] + pub fn set_strategist_payout_address( + &self, + payout: ethers::core::types::Address, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([176, 167, 93, 54], payout) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `setStrategistPlatformCut` (0xb5292a99) function"] + pub fn set_strategist_platform_cut( + &self, + cut: u64, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([181, 41, 42, 153], cut) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `shareSupplyCap` (0xd446bbcc) function"] + pub fn share_supply_cap( + &self, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([212, 70, 187, 204], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `swapPositions` (0x379e0b13) function"] + pub fn swap_positions( + &self, + index_1: u32, + index_2: u32, + in_debt_array: bool, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([55, 158, 11, 19], (index_1, index_2, in_debt_array)) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `symbol` (0x95d89b41) function"] + pub fn symbol(&self) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([149, 216, 155, 65], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `toggleIgnorePause` (0xa373e3ff) function"] + pub fn toggle_ignore_pause(&self) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([163, 115, 227, 255], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `totalAssets` (0x01e1d114) function"] + pub fn total_assets( + &self, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([1, 225, 209, 20], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `totalAssetsWithdrawable` (0xa8144e48) function"] + pub fn total_assets_withdrawable( + &self, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([168, 20, 78, 72], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `totalSupply` (0x18160ddd) function"] + pub fn total_supply( + &self, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([24, 22, 13, 221], ()) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `transfer` (0xa9059cbb) function"] + pub fn transfer( + &self, + to: ethers::core::types::Address, + amount: ethers::core::types::U256, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([169, 5, 156, 187], (to, amount)) + .expect("method not found (this should never happen)") + } + #[doc = "Calls the contract's `transferFrom` (0x23b872dd) function"] + pub fn transfer_from( + &self, + from: ethers::core::types::Address, + to: ethers::core::types::Address, + amount: ethers::core::types::U256, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([35, 184, 114, 221], (from, to, amount)) + .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 `withdraw` (0xb460af94) function"] + pub fn withdraw( + &self, + assets: ethers::core::types::U256, + receiver: ethers::core::types::Address, + owner: ethers::core::types::Address, + ) -> ethers::contract::builders::ContractCall { + self.0 + .method_hash([180, 96, 175, 148], (assets, receiver, owner)) + .expect("method not found (this should never happen)") + } + #[doc = "Gets the contract's `AdaptorCalled` event"] + pub fn adaptor_called_filter( + &self, + ) -> ethers::contract::builders::Event { + self.0.event() + } + #[doc = "Gets the contract's `AdaptorCatalogueAltered` event"] + pub fn adaptor_catalogue_altered_filter( + &self, + ) -> ethers::contract::builders::Event { + self.0.event() + } + #[doc = "Gets the contract's `AlternativeAssetDropped` event"] + pub fn alternative_asset_dropped_filter( + &self, + ) -> ethers::contract::builders::Event { + self.0.event() + } + #[doc = "Gets the contract's `AlternativeAssetUpdated` event"] + pub fn alternative_asset_updated_filter( + &self, + ) -> ethers::contract::builders::Event { + self.0.event() + } + #[doc = "Gets the contract's `Approval` event"] + pub fn approval_filter(&self) -> ethers::contract::builders::Event { + self.0.event() + } + #[doc = "Gets the contract's `Deposit` event"] + pub fn deposit_filter(&self) -> ethers::contract::builders::Event { + self.0.event() + } + #[doc = "Gets the contract's `MultiAssetDeposit` event"] + pub fn multi_asset_deposit_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 `PositionAdded` event"] + pub fn position_added_filter( + &self, + ) -> ethers::contract::builders::Event { + self.0.event() + } + #[doc = "Gets the contract's `PositionCatalogueAltered` event"] + pub fn position_catalogue_altered_filter( + &self, + ) -> ethers::contract::builders::Event { + self.0.event() + } + #[doc = "Gets the contract's `PositionRemoved` event"] + pub fn position_removed_filter( + &self, + ) -> ethers::contract::builders::Event { + self.0.event() + } + #[doc = "Gets the contract's `PositionSwapped` event"] + pub fn position_swapped_filter( + &self, + ) -> ethers::contract::builders::Event { + self.0.event() + } + #[doc = "Gets the contract's `RebalanceDeviationChanged` event"] + pub fn rebalance_deviation_changed_filter( + &self, + ) -> ethers::contract::builders::Event { + self.0.event() + } + #[doc = "Gets the contract's `ShutdownChanged` event"] + pub fn shutdown_changed_filter( + &self, + ) -> ethers::contract::builders::Event { + self.0.event() + } + #[doc = "Gets the contract's `StrategistPayoutAddressChanged` event"] + pub fn strategist_payout_address_changed_filter( + &self, + ) -> ethers::contract::builders::Event { + self.0.event() + } + #[doc = "Gets the contract's `StrategistPlatformCutChanged` event"] + pub fn strategist_platform_cut_changed_filter( + &self, + ) -> ethers::contract::builders::Event { + self.0.event() + } + #[doc = "Gets the contract's `Transfer` event"] + pub fn transfer_filter(&self) -> ethers::contract::builders::Event { + self.0.event() + } + #[doc = "Gets the contract's `Withdraw` event"] + pub fn withdraw_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 = "AdaptorCalled", abi = "AdaptorCalled(address,bytes)")] + pub struct AdaptorCalledFilter { + pub adaptor: ethers::core::types::Address, + pub data: ethers::core::types::Bytes, + } + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthEvent, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethevent( + name = "AdaptorCatalogueAltered", + abi = "AdaptorCatalogueAltered(address,bool)" + )] + pub struct AdaptorCatalogueAlteredFilter { + pub adaptor: ethers::core::types::Address, + pub in_catalogue: bool, + } + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthEvent, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethevent( + name = "AlternativeAssetDropped", + abi = "AlternativeAssetDropped(address)" + )] + pub struct AlternativeAssetDroppedFilter { + pub asset: ethers::core::types::Address, + } + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthEvent, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethevent( + name = "AlternativeAssetUpdated", + abi = "AlternativeAssetUpdated(address,uint32,uint32)" + )] + pub struct AlternativeAssetUpdatedFilter { + pub asset: ethers::core::types::Address, + pub holding_position: u32, + pub deposit_fee: u32, + } + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthEvent, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")] + pub struct ApprovalFilter { + #[ethevent(indexed)] + pub owner: ethers::core::types::Address, + #[ethevent(indexed)] + pub spender: ethers::core::types::Address, + pub amount: ethers::core::types::U256, + } + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthEvent, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethevent(name = "Deposit", abi = "Deposit(address,address,uint256,uint256)")] + pub struct DepositFilter { + #[ethevent(indexed)] + pub caller: ethers::core::types::Address, + #[ethevent(indexed)] + pub owner: ethers::core::types::Address, + pub assets: ethers::core::types::U256, + pub shares: ethers::core::types::U256, + } + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthEvent, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethevent( + name = "MultiAssetDeposit", + abi = "MultiAssetDeposit(address,address,address,uint256,uint256)" + )] + pub struct MultiAssetDepositFilter { + #[ethevent(indexed)] + pub caller: ethers::core::types::Address, + #[ethevent(indexed)] + pub owner: ethers::core::types::Address, + pub deposit_asset: ethers::core::types::Address, + pub assets: ethers::core::types::U256, + pub shares: ethers::core::types::U256, + } + #[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 = "PositionAdded", abi = "PositionAdded(uint32,uint256)")] + pub struct PositionAddedFilter { + pub position: u32, + pub index: ethers::core::types::U256, + } + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthEvent, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethevent( + name = "PositionCatalogueAltered", + abi = "PositionCatalogueAltered(uint32,bool)" + )] + pub struct PositionCatalogueAlteredFilter { + pub position_id: u32, + pub in_catalogue: bool, + } + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthEvent, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethevent(name = "PositionRemoved", abi = "PositionRemoved(uint32,uint256)")] + pub struct PositionRemovedFilter { + pub position: u32, + pub index: ethers::core::types::U256, + } + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthEvent, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethevent( + name = "PositionSwapped", + abi = "PositionSwapped(uint32,uint32,uint256,uint256)" + )] + pub struct PositionSwappedFilter { + pub new_position_1: u32, + pub new_position_2: u32, + pub index_1: ethers::core::types::U256, + pub index_2: ethers::core::types::U256, + } + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthEvent, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethevent( + name = "RebalanceDeviationChanged", + abi = "RebalanceDeviationChanged(uint256,uint256)" + )] + pub struct RebalanceDeviationChangedFilter { + pub old_deviation: ethers::core::types::U256, + pub new_deviation: ethers::core::types::U256, + } + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthEvent, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethevent(name = "ShutdownChanged", abi = "ShutdownChanged(bool)")] + pub struct ShutdownChangedFilter { + pub is_shutdown: bool, + } + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthEvent, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethevent( + name = "StrategistPayoutAddressChanged", + abi = "StrategistPayoutAddressChanged(address,address)" + )] + pub struct StrategistPayoutAddressChangedFilter { + pub old_payout_address: ethers::core::types::Address, + pub new_payout_address: ethers::core::types::Address, + } + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthEvent, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethevent( + name = "StrategistPlatformCutChanged", + abi = "StrategistPlatformCutChanged(uint64,uint64)" + )] + pub struct StrategistPlatformCutChangedFilter { + pub old_platform_cut: u64, + pub new_platform_cut: u64, + } + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthEvent, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")] + pub struct TransferFilter { + #[ethevent(indexed)] + pub from: ethers::core::types::Address, + #[ethevent(indexed)] + pub to: ethers::core::types::Address, + pub amount: ethers::core::types::U256, + } + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthEvent, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethevent( + name = "Withdraw", + abi = "Withdraw(address,address,address,uint256,uint256)" + )] + pub struct WithdrawFilter { + #[ethevent(indexed)] + pub caller: ethers::core::types::Address, + #[ethevent(indexed)] + pub receiver: ethers::core::types::Address, + #[ethevent(indexed)] + pub owner: ethers::core::types::Address, + pub assets: ethers::core::types::U256, + pub shares: ethers::core::types::U256, + } + #[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)] + pub enum CellarWithMultiAssetDepositV1Events { + AdaptorCalledFilter(AdaptorCalledFilter), + AdaptorCatalogueAlteredFilter(AdaptorCatalogueAlteredFilter), + AlternativeAssetDroppedFilter(AlternativeAssetDroppedFilter), + AlternativeAssetUpdatedFilter(AlternativeAssetUpdatedFilter), + ApprovalFilter(ApprovalFilter), + DepositFilter(DepositFilter), + MultiAssetDepositFilter(MultiAssetDepositFilter), + OwnershipTransferredFilter(OwnershipTransferredFilter), + PositionAddedFilter(PositionAddedFilter), + PositionCatalogueAlteredFilter(PositionCatalogueAlteredFilter), + PositionRemovedFilter(PositionRemovedFilter), + PositionSwappedFilter(PositionSwappedFilter), + RebalanceDeviationChangedFilter(RebalanceDeviationChangedFilter), + ShutdownChangedFilter(ShutdownChangedFilter), + StrategistPayoutAddressChangedFilter(StrategistPayoutAddressChangedFilter), + StrategistPlatformCutChangedFilter(StrategistPlatformCutChangedFilter), + TransferFilter(TransferFilter), + WithdrawFilter(WithdrawFilter), + } + impl ethers::contract::EthLogDecode for CellarWithMultiAssetDepositV1Events { + fn decode_log(log: ðers::core::abi::RawLog) -> Result + where + Self: Sized, + { + if let Ok(decoded) = AdaptorCalledFilter::decode_log(log) { + return Ok(CellarWithMultiAssetDepositV1Events::AdaptorCalledFilter( + decoded, + )); + } + if let Ok(decoded) = AdaptorCatalogueAlteredFilter::decode_log(log) { + return Ok( + CellarWithMultiAssetDepositV1Events::AdaptorCatalogueAlteredFilter(decoded), + ); + } + if let Ok(decoded) = AlternativeAssetDroppedFilter::decode_log(log) { + return Ok( + CellarWithMultiAssetDepositV1Events::AlternativeAssetDroppedFilter(decoded), + ); + } + if let Ok(decoded) = AlternativeAssetUpdatedFilter::decode_log(log) { + return Ok( + CellarWithMultiAssetDepositV1Events::AlternativeAssetUpdatedFilter(decoded), + ); + } + if let Ok(decoded) = ApprovalFilter::decode_log(log) { + return Ok(CellarWithMultiAssetDepositV1Events::ApprovalFilter(decoded)); + } + if let Ok(decoded) = DepositFilter::decode_log(log) { + return Ok(CellarWithMultiAssetDepositV1Events::DepositFilter(decoded)); + } + if let Ok(decoded) = MultiAssetDepositFilter::decode_log(log) { + return Ok(CellarWithMultiAssetDepositV1Events::MultiAssetDepositFilter(decoded)); + } + if let Ok(decoded) = OwnershipTransferredFilter::decode_log(log) { + return Ok( + CellarWithMultiAssetDepositV1Events::OwnershipTransferredFilter(decoded), + ); + } + if let Ok(decoded) = PositionAddedFilter::decode_log(log) { + return Ok(CellarWithMultiAssetDepositV1Events::PositionAddedFilter( + decoded, + )); + } + if let Ok(decoded) = PositionCatalogueAlteredFilter::decode_log(log) { + return Ok( + CellarWithMultiAssetDepositV1Events::PositionCatalogueAlteredFilter(decoded), + ); + } + if let Ok(decoded) = PositionRemovedFilter::decode_log(log) { + return Ok(CellarWithMultiAssetDepositV1Events::PositionRemovedFilter( + decoded, + )); + } + if let Ok(decoded) = PositionSwappedFilter::decode_log(log) { + return Ok(CellarWithMultiAssetDepositV1Events::PositionSwappedFilter( + decoded, + )); + } + if let Ok(decoded) = RebalanceDeviationChangedFilter::decode_log(log) { + return Ok( + CellarWithMultiAssetDepositV1Events::RebalanceDeviationChangedFilter(decoded), + ); + } + if let Ok(decoded) = ShutdownChangedFilter::decode_log(log) { + return Ok(CellarWithMultiAssetDepositV1Events::ShutdownChangedFilter( + decoded, + )); + } + if let Ok(decoded) = StrategistPayoutAddressChangedFilter::decode_log(log) { + return Ok( + CellarWithMultiAssetDepositV1Events::StrategistPayoutAddressChangedFilter( + decoded, + ), + ); + } + if let Ok(decoded) = StrategistPlatformCutChangedFilter::decode_log(log) { + return Ok( + CellarWithMultiAssetDepositV1Events::StrategistPlatformCutChangedFilter( + decoded, + ), + ); + } + if let Ok(decoded) = TransferFilter::decode_log(log) { + return Ok(CellarWithMultiAssetDepositV1Events::TransferFilter(decoded)); + } + if let Ok(decoded) = WithdrawFilter::decode_log(log) { + return Ok(CellarWithMultiAssetDepositV1Events::WithdrawFilter(decoded)); + } + Err(ethers::core::abi::Error::InvalidData) + } + } + impl ::std::fmt::Display for CellarWithMultiAssetDepositV1Events { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + match self { + CellarWithMultiAssetDepositV1Events::AdaptorCalledFilter(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Events::AdaptorCatalogueAlteredFilter(element) => { + element.fmt(f) + } + CellarWithMultiAssetDepositV1Events::AlternativeAssetDroppedFilter(element) => { + element.fmt(f) + } + CellarWithMultiAssetDepositV1Events::AlternativeAssetUpdatedFilter(element) => { + element.fmt(f) + } + CellarWithMultiAssetDepositV1Events::ApprovalFilter(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Events::DepositFilter(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Events::MultiAssetDepositFilter(element) => { + element.fmt(f) + } + CellarWithMultiAssetDepositV1Events::OwnershipTransferredFilter(element) => { + element.fmt(f) + } + CellarWithMultiAssetDepositV1Events::PositionAddedFilter(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Events::PositionCatalogueAlteredFilter(element) => { + element.fmt(f) + } + CellarWithMultiAssetDepositV1Events::PositionRemovedFilter(element) => { + element.fmt(f) + } + CellarWithMultiAssetDepositV1Events::PositionSwappedFilter(element) => { + element.fmt(f) + } + CellarWithMultiAssetDepositV1Events::RebalanceDeviationChangedFilter(element) => { + element.fmt(f) + } + CellarWithMultiAssetDepositV1Events::ShutdownChangedFilter(element) => { + element.fmt(f) + } + CellarWithMultiAssetDepositV1Events::StrategistPayoutAddressChangedFilter( + element, + ) => element.fmt(f), + CellarWithMultiAssetDepositV1Events::StrategistPlatformCutChangedFilter( + element, + ) => element.fmt(f), + CellarWithMultiAssetDepositV1Events::TransferFilter(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Events::WithdrawFilter(element) => element.fmt(f), + } + } + } + #[doc = "Container type for all input parameters for the `DOMAIN_SEPARATOR`function with signature `DOMAIN_SEPARATOR()` and selector `[54, 68, 229, 21]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "DOMAIN_SEPARATOR", abi = "DOMAIN_SEPARATOR()")] + pub struct DomainSeparatorCall; + #[doc = "Container type for all input parameters for the `addAdaptorToCatalogue`function with signature `addAdaptorToCatalogue(address)` and selector `[61, 138, 177, 229]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "addAdaptorToCatalogue", abi = "addAdaptorToCatalogue(address)")] + pub struct AddAdaptorToCatalogueCall { + pub adaptor: ethers::core::types::Address, + } + #[doc = "Container type for all input parameters for the `addPosition`function with signature `addPosition(uint32,uint32,bytes,bool)` and selector `[153, 85, 169, 212]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "addPosition", abi = "addPosition(uint32,uint32,bytes,bool)")] + pub struct AddPositionCall { + pub index: u32, + pub position_id: u32, + pub configuration_data: ethers::core::types::Bytes, + pub in_debt_array: bool, + } + #[doc = "Container type for all input parameters for the `addPositionToCatalogue`function with signature `addPositionToCatalogue(uint32)` and selector `[80, 30, 180, 254]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall( + name = "addPositionToCatalogue", + abi = "addPositionToCatalogue(uint32)" + )] + pub struct AddPositionToCatalogueCall { + pub position_id: u32, + } + #[doc = "Container type for all input parameters for the `allowance`function with signature `allowance(address,address)` and selector `[221, 98, 237, 62]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "allowance", abi = "allowance(address,address)")] + pub struct AllowanceCall( + pub ethers::core::types::Address, + pub ethers::core::types::Address, + ); + #[doc = "Container type for all input parameters for the `alternativeAssetData`function with signature `alternativeAssetData(address)` and selector `[100, 25, 17, 30]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "alternativeAssetData", abi = "alternativeAssetData(address)")] + pub struct AlternativeAssetDataCall(pub ethers::core::types::Address); + #[doc = "Container type for all input parameters for the `approve`function with signature `approve(address,uint256)` and selector `[9, 94, 167, 179]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "approve", abi = "approve(address,uint256)")] + pub struct ApproveCall { + pub spender: ethers::core::types::Address, + pub amount: ethers::core::types::U256, + } + #[doc = "Container type for all input parameters for the `asset`function with signature `asset()` and selector `[56, 213, 46, 15]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "asset", abi = "asset()")] + pub struct AssetCall; + #[doc = "Container type for all input parameters for the `balanceOf`function with signature `balanceOf(address)` and selector `[112, 160, 130, 49]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "balanceOf", abi = "balanceOf(address)")] + pub struct BalanceOfCall(pub ethers::core::types::Address); + #[doc = "Container type for all input parameters for the `blockExternalReceiver`function with signature `blockExternalReceiver()` and selector `[76, 70, 2, 218]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "blockExternalReceiver", abi = "blockExternalReceiver()")] + pub struct BlockExternalReceiverCall; + #[doc = "Container type for all input parameters for the `cachePriceRouter`function with signature `cachePriceRouter(bool,uint16,address)` and selector `[197, 136, 216, 214]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall( + name = "cachePriceRouter", + abi = "cachePriceRouter(bool,uint16,address)" + )] + pub struct CachePriceRouterCall { + pub check_total_assets: bool, + pub allowable_range: u16, + pub expected_price_router: ethers::core::types::Address, + } + #[doc = "Container type for all input parameters for the `callOnAdaptor`function with signature `callOnAdaptor((address,bytes[])[])` and selector `[78, 132, 190, 254]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "callOnAdaptor", abi = "callOnAdaptor((address,bytes[])[])")] + pub struct CallOnAdaptorCall { + pub data: ::std::vec::Vec, + } + #[doc = "Container type for all input parameters for the `convertToAssets`function with signature `convertToAssets(uint256)` and selector `[7, 162, 209, 58]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "convertToAssets", abi = "convertToAssets(uint256)")] + pub struct ConvertToAssetsCall { + pub shares: ethers::core::types::U256, + } + #[doc = "Container type for all input parameters for the `convertToShares`function with signature `convertToShares(uint256)` and selector `[198, 230, 245, 146]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "convertToShares", abi = "convertToShares(uint256)")] + pub struct ConvertToSharesCall { + pub assets: ethers::core::types::U256, + } + #[doc = "Container type for all input parameters for the `decimals`function with signature `decimals()` and selector `[49, 60, 229, 103]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "decimals", abi = "decimals()")] + pub struct DecimalsCall; + #[doc = "Container type for all input parameters for the `decreaseShareSupplyCap`function with signature `decreaseShareSupplyCap(uint192)` and selector `[87, 91, 188, 230]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall( + name = "decreaseShareSupplyCap", + abi = "decreaseShareSupplyCap(uint192)" + )] + pub struct DecreaseShareSupplyCapCall { + pub new_share_supply_cap: ethers::core::types::U256, + } + #[doc = "Container type for all input parameters for the `deposit`function with signature `deposit(uint256,address)` and selector `[110, 85, 63, 101]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "deposit", abi = "deposit(uint256,address)")] + pub struct DepositCall { + pub assets: ethers::core::types::U256, + pub receiver: ethers::core::types::Address, + } + #[doc = "Container type for all input parameters for the `dropAlternativeAssetData`function with signature `dropAlternativeAssetData(address)` and selector `[33, 123, 179, 77]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall( + name = "dropAlternativeAssetData", + abi = "dropAlternativeAssetData(address)" + )] + pub struct DropAlternativeAssetDataCall { + pub alternative_asset: ethers::core::types::Address, + } + #[doc = "Container type for all input parameters for the `feeData`function with signature `feeData()` and selector `[231, 83, 230, 0]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "feeData", abi = "feeData()")] + pub struct FeeDataCall; + #[doc = "Container type for all input parameters for the `forcePositionOut`function with signature `forcePositionOut(uint32,uint32,bool)` and selector `[160, 123, 238, 11]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall( + name = "forcePositionOut", + abi = "forcePositionOut(uint32,uint32,bool)" + )] + pub struct ForcePositionOutCall { + pub index: u32, + pub position_id: u32, + pub in_debt_array: bool, + } + #[doc = "Container type for all input parameters for the `getCreditPositions`function with signature `getCreditPositions()` and selector `[113, 233, 157, 194]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "getCreditPositions", abi = "getCreditPositions()")] + pub struct GetCreditPositionsCall; + #[doc = "Container type for all input parameters for the `getDebtPositions`function with signature `getDebtPositions()` and selector `[62, 51, 130, 186]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "getDebtPositions", abi = "getDebtPositions()")] + pub struct GetDebtPositionsCall; + #[doc = "Container type for all input parameters for the `holdingPosition`function with signature `holdingPosition()` and selector `[156, 95, 0, 194]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "holdingPosition", abi = "holdingPosition()")] + pub struct HoldingPositionCall; + #[doc = "Container type for all input parameters for the `ignorePause`function with signature `ignorePause()` and selector `[153, 89, 175, 148]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "ignorePause", abi = "ignorePause()")] + pub struct IgnorePauseCall; + #[doc = "Container type for all input parameters for the `increaseShareSupplyCap`function with signature `increaseShareSupplyCap(uint192)` and selector `[176, 100, 110, 39]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall( + name = "increaseShareSupplyCap", + abi = "increaseShareSupplyCap(uint192)" + )] + pub struct IncreaseShareSupplyCapCall { + pub new_share_supply_cap: ethers::core::types::U256, + } + #[doc = "Container type for all input parameters for the `initiateShutdown`function with signature `initiateShutdown()` and selector `[10, 104, 14, 24]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "initiateShutdown", abi = "initiateShutdown()")] + pub struct InitiateShutdownCall; + #[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 `isPositionUsed`function with signature `isPositionUsed(uint256)` and selector `[147, 187, 234, 192]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "isPositionUsed", abi = "isPositionUsed(uint256)")] + pub struct IsPositionUsedCall(pub ethers::core::types::U256); + #[doc = "Container type for all input parameters for the `isShutdown`function with signature `isShutdown()` and selector `[191, 134, 214, 144]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "isShutdown", abi = "isShutdown()")] + pub struct IsShutdownCall; + #[doc = "Container type for all input parameters for the `liftShutdown`function with signature `liftShutdown()` and selector `[94, 44, 87, 110]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "liftShutdown", abi = "liftShutdown()")] + pub struct LiftShutdownCall; + #[doc = "Container type for all input parameters for the `locked`function with signature `locked()` and selector `[207, 48, 144, 18]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "locked", abi = "locked()")] + pub struct LockedCall; + #[doc = "Container type for all input parameters for the `maxDeposit`function with signature `maxDeposit(address)` and selector `[64, 45, 38, 125]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "maxDeposit", abi = "maxDeposit(address)")] + pub struct MaxDepositCall(pub ethers::core::types::Address); + #[doc = "Container type for all input parameters for the `maxMint`function with signature `maxMint(address)` and selector `[198, 61, 117, 182]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "maxMint", abi = "maxMint(address)")] + pub struct MaxMintCall(pub ethers::core::types::Address); + #[doc = "Container type for all input parameters for the `maxRedeem`function with signature `maxRedeem(address)` and selector `[217, 5, 119, 126]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "maxRedeem", abi = "maxRedeem(address)")] + pub struct MaxRedeemCall { + pub owner: ethers::core::types::Address, + } + #[doc = "Container type for all input parameters for the `maxWithdraw`function with signature `maxWithdraw(address)` and selector `[206, 150, 203, 119]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "maxWithdraw", abi = "maxWithdraw(address)")] + pub struct MaxWithdrawCall { + pub owner: ethers::core::types::Address, + } + #[doc = "Container type for all input parameters for the `mint`function with signature `mint(uint256,address)` and selector `[148, 191, 128, 77]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "mint", abi = "mint(uint256,address)")] + pub struct MintCall { + pub shares: ethers::core::types::U256, + pub receiver: ethers::core::types::Address, + } + #[doc = "Container type for all input parameters for the `multiAssetDeposit`function with signature `multiAssetDeposit(address,uint256,address)` and selector `[43, 145, 197, 222]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall( + name = "multiAssetDeposit", + abi = "multiAssetDeposit(address,uint256,address)" + )] + pub struct MultiAssetDepositCall { + pub deposit_asset: ethers::core::types::Address, + pub assets: ethers::core::types::U256, + pub receiver: ethers::core::types::Address, + } + #[doc = "Container type for all input parameters for the `multicall`function with signature `multicall(bytes[])` and selector `[172, 150, 80, 216]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "multicall", abi = "multicall(bytes[])")] + pub struct MulticallCall { + pub data: ::std::vec::Vec, + } + #[doc = "Container type for all input parameters for the `name`function with signature `name()` and selector `[6, 253, 222, 3]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "name", abi = "name()")] + pub struct NameCall; + #[doc = "Container type for all input parameters for the `nonces`function with signature `nonces(address)` and selector `[126, 206, 190, 0]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "nonces", abi = "nonces(address)")] + pub struct NoncesCall(pub ethers::core::types::Address); + #[doc = "Container type for all input parameters for the `onERC721Received`function with signature `onERC721Received(address,address,uint256,bytes)` and selector `[21, 11, 122, 2]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall( + name = "onERC721Received", + abi = "onERC721Received(address,address,uint256,bytes)" + )] + pub struct OnERC721ReceivedCall( + pub ethers::core::types::Address, + pub ethers::core::types::Address, + pub ethers::core::types::U256, + pub ethers::core::types::Bytes, + ); + #[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 `permit`function with signature `permit(address,address,uint256,uint256,uint8,bytes32,bytes32)` and selector `[213, 5, 172, 207]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall( + name = "permit", + abi = "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)" + )] + pub struct PermitCall { + pub owner: ethers::core::types::Address, + pub spender: ethers::core::types::Address, + pub value: ethers::core::types::U256, + pub deadline: ethers::core::types::U256, + pub v: u8, + pub r: [u8; 32], + pub s: [u8; 32], + } + #[doc = "Container type for all input parameters for the `previewDeposit`function with signature `previewDeposit(uint256)` and selector `[239, 139, 48, 247]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "previewDeposit", abi = "previewDeposit(uint256)")] + pub struct PreviewDepositCall { + pub assets: ethers::core::types::U256, + } + #[doc = "Container type for all input parameters for the `previewMint`function with signature `previewMint(uint256)` and selector `[179, 215, 246, 185]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "previewMint", abi = "previewMint(uint256)")] + pub struct PreviewMintCall { + pub shares: ethers::core::types::U256, + } + #[doc = "Container type for all input parameters for the `previewMultiAssetDeposit`function with signature `previewMultiAssetDeposit(address,uint256)` and selector `[122, 185, 41, 21]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall( + name = "previewMultiAssetDeposit", + abi = "previewMultiAssetDeposit(address,uint256)" + )] + pub struct PreviewMultiAssetDepositCall { + pub deposit_asset: ethers::core::types::Address, + pub assets: ethers::core::types::U256, + } + #[doc = "Container type for all input parameters for the `previewRedeem`function with signature `previewRedeem(uint256)` and selector `[76, 218, 213, 6]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "previewRedeem", abi = "previewRedeem(uint256)")] + pub struct PreviewRedeemCall { + pub shares: ethers::core::types::U256, + } + #[doc = "Container type for all input parameters for the `previewWithdraw`function with signature `previewWithdraw(uint256)` and selector `[10, 40, 164, 119]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "previewWithdraw", abi = "previewWithdraw(uint256)")] + pub struct PreviewWithdrawCall { + pub assets: ethers::core::types::U256, + } + #[doc = "Container type for all input parameters for the `priceRouter`function with signature `priceRouter()` and selector `[215, 212, 191, 69]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "priceRouter", abi = "priceRouter()")] + pub struct PriceRouterCall; + #[doc = "Container type for all input parameters for the `redeem`function with signature `redeem(uint256,address,address)` and selector `[186, 8, 118, 82]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "redeem", abi = "redeem(uint256,address,address)")] + pub struct RedeemCall { + pub shares: ethers::core::types::U256, + pub receiver: ethers::core::types::Address, + pub owner: ethers::core::types::Address, + } + #[doc = "Container type for all input parameters for the `registry`function with signature `registry()` and selector `[123, 16, 57, 153]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "registry", abi = "registry()")] + pub struct RegistryCall; + #[doc = "Container type for all input parameters for the `removeAdaptorFromCatalogue`function with signature `removeAdaptorFromCatalogue(address)` and selector `[95, 107, 136, 160]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall( + name = "removeAdaptorFromCatalogue", + abi = "removeAdaptorFromCatalogue(address)" + )] + pub struct RemoveAdaptorFromCatalogueCall { + pub adaptor: ethers::core::types::Address, + } + #[doc = "Container type for all input parameters for the `removePosition`function with signature `removePosition(uint32,bool)` and selector `[51, 225, 91, 226]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "removePosition", abi = "removePosition(uint32,bool)")] + pub struct RemovePositionCall { + pub index: u32, + pub in_debt_array: bool, + } + #[doc = "Container type for all input parameters for the `removePositionFromCatalogue`function with signature `removePositionFromCatalogue(uint32)` and selector `[209, 232, 132, 4]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall( + name = "removePositionFromCatalogue", + abi = "removePositionFromCatalogue(uint32)" + )] + pub struct RemovePositionFromCatalogueCall { + pub position_id: u32, + } + #[doc = "Container type for all input parameters for the `setAlternativeAssetData`function with signature `setAlternativeAssetData(address,uint32,uint32)` and selector `[133, 91, 204, 179]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall( + name = "setAlternativeAssetData", + abi = "setAlternativeAssetData(address,uint32,uint32)" + )] + pub struct SetAlternativeAssetDataCall { + pub alternative_asset: ethers::core::types::Address, + pub alternative_holding_position: u32, + pub alternative_asset_fee: u32, + } + #[doc = "Container type for all input parameters for the `setHoldingPosition`function with signature `setHoldingPosition(uint32)` and selector `[7, 128, 253, 58]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "setHoldingPosition", abi = "setHoldingPosition(uint32)")] + pub struct SetHoldingPositionCall { + pub position_id: u32, + } + #[doc = "Container type for all input parameters for the `setRebalanceDeviation`function with signature `setRebalanceDeviation(uint256)` and selector `[83, 10, 55, 20]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "setRebalanceDeviation", abi = "setRebalanceDeviation(uint256)")] + pub struct SetRebalanceDeviationCall { + pub new_deviation: ethers::core::types::U256, + } + #[doc = "Container type for all input parameters for the `setStrategistPayoutAddress`function with signature `setStrategistPayoutAddress(address)` and selector `[176, 167, 93, 54]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall( + name = "setStrategistPayoutAddress", + abi = "setStrategistPayoutAddress(address)" + )] + pub struct SetStrategistPayoutAddressCall { + pub payout: ethers::core::types::Address, + } + #[doc = "Container type for all input parameters for the `setStrategistPlatformCut`function with signature `setStrategistPlatformCut(uint64)` and selector `[181, 41, 42, 153]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall( + name = "setStrategistPlatformCut", + abi = "setStrategistPlatformCut(uint64)" + )] + pub struct SetStrategistPlatformCutCall { + pub cut: u64, + } + #[doc = "Container type for all input parameters for the `shareSupplyCap`function with signature `shareSupplyCap()` and selector `[212, 70, 187, 204]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "shareSupplyCap", abi = "shareSupplyCap()")] + pub struct ShareSupplyCapCall; + #[doc = "Container type for all input parameters for the `swapPositions`function with signature `swapPositions(uint32,uint32,bool)` and selector `[55, 158, 11, 19]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "swapPositions", abi = "swapPositions(uint32,uint32,bool)")] + pub struct SwapPositionsCall { + pub index_1: u32, + pub index_2: u32, + pub in_debt_array: bool, + } + #[doc = "Container type for all input parameters for the `symbol`function with signature `symbol()` and selector `[149, 216, 155, 65]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "symbol", abi = "symbol()")] + pub struct SymbolCall; + #[doc = "Container type for all input parameters for the `toggleIgnorePause`function with signature `toggleIgnorePause()` and selector `[163, 115, 227, 255]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "toggleIgnorePause", abi = "toggleIgnorePause()")] + pub struct ToggleIgnorePauseCall; + #[doc = "Container type for all input parameters for the `totalAssets`function with signature `totalAssets()` and selector `[1, 225, 209, 20]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "totalAssets", abi = "totalAssets()")] + pub struct TotalAssetsCall; + #[doc = "Container type for all input parameters for the `totalAssetsWithdrawable`function with signature `totalAssetsWithdrawable()` and selector `[168, 20, 78, 72]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "totalAssetsWithdrawable", abi = "totalAssetsWithdrawable()")] + pub struct TotalAssetsWithdrawableCall; + #[doc = "Container type for all input parameters for the `totalSupply`function with signature `totalSupply()` and selector `[24, 22, 13, 221]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "totalSupply", abi = "totalSupply()")] + pub struct TotalSupplyCall; + #[doc = "Container type for all input parameters for the `transfer`function with signature `transfer(address,uint256)` and selector `[169, 5, 156, 187]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "transfer", abi = "transfer(address,uint256)")] + pub struct TransferCall { + pub to: ethers::core::types::Address, + pub amount: ethers::core::types::U256, + } + #[doc = "Container type for all input parameters for the `transferFrom`function with signature `transferFrom(address,address,uint256)` and selector `[35, 184, 114, 221]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")] + pub struct TransferFromCall { + pub from: ethers::core::types::Address, + pub to: ethers::core::types::Address, + pub amount: ethers::core::types::U256, + } + #[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 `withdraw`function with signature `withdraw(uint256,address,address)` and selector `[180, 96, 175, 148]`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthCall, + ethers :: contract :: EthDisplay, + serde :: Deserialize, + serde :: Serialize, + )] + #[ethcall(name = "withdraw", abi = "withdraw(uint256,address,address)")] + pub struct WithdrawCall { + pub assets: ethers::core::types::U256, + pub receiver: ethers::core::types::Address, + pub owner: ethers::core::types::Address, + } + #[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)] + pub enum CellarWithMultiAssetDepositV1Calls { + DomainSeparator(DomainSeparatorCall), + AddAdaptorToCatalogue(AddAdaptorToCatalogueCall), + AddPosition(AddPositionCall), + AddPositionToCatalogue(AddPositionToCatalogueCall), + Allowance(AllowanceCall), + AlternativeAssetData(AlternativeAssetDataCall), + Approve(ApproveCall), + Asset(AssetCall), + BalanceOf(BalanceOfCall), + BlockExternalReceiver(BlockExternalReceiverCall), + CachePriceRouter(CachePriceRouterCall), + CallOnAdaptor(CallOnAdaptorCall), + ConvertToAssets(ConvertToAssetsCall), + ConvertToShares(ConvertToSharesCall), + Decimals(DecimalsCall), + DecreaseShareSupplyCap(DecreaseShareSupplyCapCall), + Deposit(DepositCall), + DropAlternativeAssetData(DropAlternativeAssetDataCall), + FeeData(FeeDataCall), + ForcePositionOut(ForcePositionOutCall), + GetCreditPositions(GetCreditPositionsCall), + GetDebtPositions(GetDebtPositionsCall), + HoldingPosition(HoldingPositionCall), + IgnorePause(IgnorePauseCall), + IncreaseShareSupplyCap(IncreaseShareSupplyCapCall), + InitiateShutdown(InitiateShutdownCall), + IsPaused(IsPausedCall), + IsPositionUsed(IsPositionUsedCall), + IsShutdown(IsShutdownCall), + LiftShutdown(LiftShutdownCall), + Locked(LockedCall), + MaxDeposit(MaxDepositCall), + MaxMint(MaxMintCall), + MaxRedeem(MaxRedeemCall), + MaxWithdraw(MaxWithdrawCall), + Mint(MintCall), + MultiAssetDeposit(MultiAssetDepositCall), + Multicall(MulticallCall), + Name(NameCall), + Nonces(NoncesCall), + OnERC721Received(OnERC721ReceivedCall), + Owner(OwnerCall), + Permit(PermitCall), + PreviewDeposit(PreviewDepositCall), + PreviewMint(PreviewMintCall), + PreviewMultiAssetDeposit(PreviewMultiAssetDepositCall), + PreviewRedeem(PreviewRedeemCall), + PreviewWithdraw(PreviewWithdrawCall), + PriceRouter(PriceRouterCall), + Redeem(RedeemCall), + Registry(RegistryCall), + RemoveAdaptorFromCatalogue(RemoveAdaptorFromCatalogueCall), + RemovePosition(RemovePositionCall), + RemovePositionFromCatalogue(RemovePositionFromCatalogueCall), + SetAlternativeAssetData(SetAlternativeAssetDataCall), + SetHoldingPosition(SetHoldingPositionCall), + SetRebalanceDeviation(SetRebalanceDeviationCall), + SetStrategistPayoutAddress(SetStrategistPayoutAddressCall), + SetStrategistPlatformCut(SetStrategistPlatformCutCall), + ShareSupplyCap(ShareSupplyCapCall), + SwapPositions(SwapPositionsCall), + Symbol(SymbolCall), + ToggleIgnorePause(ToggleIgnorePauseCall), + TotalAssets(TotalAssetsCall), + TotalAssetsWithdrawable(TotalAssetsWithdrawableCall), + TotalSupply(TotalSupplyCall), + Transfer(TransferCall), + TransferFrom(TransferFromCall), + TransferOwnership(TransferOwnershipCall), + Withdraw(WithdrawCall), + } + impl ethers::core::abi::AbiDecode for CellarWithMultiAssetDepositV1Calls { + fn decode(data: impl AsRef<[u8]>) -> Result { + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::DomainSeparator(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::AddAdaptorToCatalogue( + decoded, + )); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::AddPosition(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::AddPositionToCatalogue( + decoded, + )); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::Allowance(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::AlternativeAssetData( + decoded, + )); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::Approve(decoded)); + } + if let Ok(decoded) = ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::Asset(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::BalanceOf(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::BlockExternalReceiver( + decoded, + )); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::CachePriceRouter( + decoded, + )); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::CallOnAdaptor(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::ConvertToAssets(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::ConvertToShares(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::Decimals(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::DecreaseShareSupplyCap( + decoded, + )); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::Deposit(decoded)); + } + if let Ok(decoded) = + ::decode( + data.as_ref(), + ) + { + return Ok(CellarWithMultiAssetDepositV1Calls::DropAlternativeAssetData(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::FeeData(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::ForcePositionOut( + decoded, + )); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::GetCreditPositions( + decoded, + )); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::GetDebtPositions( + decoded, + )); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::HoldingPosition(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::IgnorePause(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::IncreaseShareSupplyCap( + decoded, + )); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::InitiateShutdown( + decoded, + )); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::IsPaused(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::IsPositionUsed(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::IsShutdown(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::LiftShutdown(decoded)); + } + if let Ok(decoded) = ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::Locked(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::MaxDeposit(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::MaxMint(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::MaxRedeem(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::MaxWithdraw(decoded)); + } + if let Ok(decoded) = ::decode(data.as_ref()) { + return Ok(CellarWithMultiAssetDepositV1Calls::Mint(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::MultiAssetDeposit( + decoded, + )); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::Multicall(decoded)); + } + if let Ok(decoded) = ::decode(data.as_ref()) { + return Ok(CellarWithMultiAssetDepositV1Calls::Name(decoded)); + } + if let Ok(decoded) = ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::Nonces(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::OnERC721Received( + decoded, + )); + } + if let Ok(decoded) = ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::Owner(decoded)); + } + if let Ok(decoded) = ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::Permit(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::PreviewDeposit(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::PreviewMint(decoded)); + } + if let Ok(decoded) = + ::decode( + data.as_ref(), + ) + { + return Ok(CellarWithMultiAssetDepositV1Calls::PreviewMultiAssetDeposit(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::PreviewRedeem(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::PreviewWithdraw(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::PriceRouter(decoded)); + } + if let Ok(decoded) = ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::Redeem(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::Registry(decoded)); + } + if let Ok(decoded) = + ::decode( + data.as_ref(), + ) + { + return Ok(CellarWithMultiAssetDepositV1Calls::RemoveAdaptorFromCatalogue(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::RemovePosition(decoded)); + } + if let Ok(decoded) = + ::decode( + data.as_ref(), + ) + { + return Ok( + CellarWithMultiAssetDepositV1Calls::RemovePositionFromCatalogue(decoded), + ); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::SetAlternativeAssetData( + decoded, + )); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::SetHoldingPosition( + decoded, + )); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::SetRebalanceDeviation( + decoded, + )); + } + if let Ok(decoded) = + ::decode( + data.as_ref(), + ) + { + return Ok(CellarWithMultiAssetDepositV1Calls::SetStrategistPayoutAddress(decoded)); + } + if let Ok(decoded) = + ::decode( + data.as_ref(), + ) + { + return Ok(CellarWithMultiAssetDepositV1Calls::SetStrategistPlatformCut(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::ShareSupplyCap(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::SwapPositions(decoded)); + } + if let Ok(decoded) = ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::Symbol(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::ToggleIgnorePause( + decoded, + )); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::TotalAssets(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::TotalAssetsWithdrawable( + decoded, + )); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::TotalSupply(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::Transfer(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::TransferFrom(decoded)); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::TransferOwnership( + decoded, + )); + } + if let Ok(decoded) = + ::decode(data.as_ref()) + { + return Ok(CellarWithMultiAssetDepositV1Calls::Withdraw(decoded)); + } + Err(ethers::core::abi::Error::InvalidData.into()) + } + } + impl ethers::core::abi::AbiEncode for CellarWithMultiAssetDepositV1Calls { + fn encode(self) -> Vec { + match self { + CellarWithMultiAssetDepositV1Calls::DomainSeparator(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::AddAdaptorToCatalogue(element) => { + element.encode() + } + CellarWithMultiAssetDepositV1Calls::AddPosition(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::AddPositionToCatalogue(element) => { + element.encode() + } + CellarWithMultiAssetDepositV1Calls::Allowance(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::AlternativeAssetData(element) => { + element.encode() + } + CellarWithMultiAssetDepositV1Calls::Approve(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::Asset(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::BalanceOf(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::BlockExternalReceiver(element) => { + element.encode() + } + CellarWithMultiAssetDepositV1Calls::CachePriceRouter(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::CallOnAdaptor(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::ConvertToAssets(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::ConvertToShares(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::Decimals(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::DecreaseShareSupplyCap(element) => { + element.encode() + } + CellarWithMultiAssetDepositV1Calls::Deposit(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::DropAlternativeAssetData(element) => { + element.encode() + } + CellarWithMultiAssetDepositV1Calls::FeeData(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::ForcePositionOut(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::GetCreditPositions(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::GetDebtPositions(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::HoldingPosition(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::IgnorePause(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::IncreaseShareSupplyCap(element) => { + element.encode() + } + CellarWithMultiAssetDepositV1Calls::InitiateShutdown(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::IsPaused(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::IsPositionUsed(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::IsShutdown(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::LiftShutdown(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::Locked(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::MaxDeposit(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::MaxMint(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::MaxRedeem(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::MaxWithdraw(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::Mint(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::MultiAssetDeposit(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::Multicall(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::Name(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::Nonces(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::OnERC721Received(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::Owner(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::Permit(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::PreviewDeposit(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::PreviewMint(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::PreviewMultiAssetDeposit(element) => { + element.encode() + } + CellarWithMultiAssetDepositV1Calls::PreviewRedeem(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::PreviewWithdraw(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::PriceRouter(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::Redeem(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::Registry(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::RemoveAdaptorFromCatalogue(element) => { + element.encode() + } + CellarWithMultiAssetDepositV1Calls::RemovePosition(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::RemovePositionFromCatalogue(element) => { + element.encode() + } + CellarWithMultiAssetDepositV1Calls::SetAlternativeAssetData(element) => { + element.encode() + } + CellarWithMultiAssetDepositV1Calls::SetHoldingPosition(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::SetRebalanceDeviation(element) => { + element.encode() + } + CellarWithMultiAssetDepositV1Calls::SetStrategistPayoutAddress(element) => { + element.encode() + } + CellarWithMultiAssetDepositV1Calls::SetStrategistPlatformCut(element) => { + element.encode() + } + CellarWithMultiAssetDepositV1Calls::ShareSupplyCap(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::SwapPositions(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::Symbol(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::ToggleIgnorePause(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::TotalAssets(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::TotalAssetsWithdrawable(element) => { + element.encode() + } + CellarWithMultiAssetDepositV1Calls::TotalSupply(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::Transfer(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::TransferFrom(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::TransferOwnership(element) => element.encode(), + CellarWithMultiAssetDepositV1Calls::Withdraw(element) => element.encode(), + } + } + } + impl ::std::fmt::Display for CellarWithMultiAssetDepositV1Calls { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + match self { + CellarWithMultiAssetDepositV1Calls::DomainSeparator(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::AddAdaptorToCatalogue(element) => { + element.fmt(f) + } + CellarWithMultiAssetDepositV1Calls::AddPosition(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::AddPositionToCatalogue(element) => { + element.fmt(f) + } + CellarWithMultiAssetDepositV1Calls::Allowance(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::AlternativeAssetData(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::Approve(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::Asset(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::BalanceOf(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::BlockExternalReceiver(element) => { + element.fmt(f) + } + CellarWithMultiAssetDepositV1Calls::CachePriceRouter(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::CallOnAdaptor(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::ConvertToAssets(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::ConvertToShares(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::Decimals(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::DecreaseShareSupplyCap(element) => { + element.fmt(f) + } + CellarWithMultiAssetDepositV1Calls::Deposit(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::DropAlternativeAssetData(element) => { + element.fmt(f) + } + CellarWithMultiAssetDepositV1Calls::FeeData(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::ForcePositionOut(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::GetCreditPositions(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::GetDebtPositions(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::HoldingPosition(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::IgnorePause(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::IncreaseShareSupplyCap(element) => { + element.fmt(f) + } + CellarWithMultiAssetDepositV1Calls::InitiateShutdown(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::IsPaused(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::IsPositionUsed(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::IsShutdown(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::LiftShutdown(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::Locked(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::MaxDeposit(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::MaxMint(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::MaxRedeem(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::MaxWithdraw(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::Mint(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::MultiAssetDeposit(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::Multicall(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::Name(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::Nonces(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::OnERC721Received(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::Owner(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::Permit(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::PreviewDeposit(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::PreviewMint(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::PreviewMultiAssetDeposit(element) => { + element.fmt(f) + } + CellarWithMultiAssetDepositV1Calls::PreviewRedeem(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::PreviewWithdraw(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::PriceRouter(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::Redeem(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::Registry(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::RemoveAdaptorFromCatalogue(element) => { + element.fmt(f) + } + CellarWithMultiAssetDepositV1Calls::RemovePosition(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::RemovePositionFromCatalogue(element) => { + element.fmt(f) + } + CellarWithMultiAssetDepositV1Calls::SetAlternativeAssetData(element) => { + element.fmt(f) + } + CellarWithMultiAssetDepositV1Calls::SetHoldingPosition(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::SetRebalanceDeviation(element) => { + element.fmt(f) + } + CellarWithMultiAssetDepositV1Calls::SetStrategistPayoutAddress(element) => { + element.fmt(f) + } + CellarWithMultiAssetDepositV1Calls::SetStrategistPlatformCut(element) => { + element.fmt(f) + } + CellarWithMultiAssetDepositV1Calls::ShareSupplyCap(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::SwapPositions(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::Symbol(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::ToggleIgnorePause(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::TotalAssets(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::TotalAssetsWithdrawable(element) => { + element.fmt(f) + } + CellarWithMultiAssetDepositV1Calls::TotalSupply(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::Transfer(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::TransferFrom(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::TransferOwnership(element) => element.fmt(f), + CellarWithMultiAssetDepositV1Calls::Withdraw(element) => element.fmt(f), + } + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: DomainSeparatorCall) -> Self { + CellarWithMultiAssetDepositV1Calls::DomainSeparator(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: AddAdaptorToCatalogueCall) -> Self { + CellarWithMultiAssetDepositV1Calls::AddAdaptorToCatalogue(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: AddPositionCall) -> Self { + CellarWithMultiAssetDepositV1Calls::AddPosition(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: AddPositionToCatalogueCall) -> Self { + CellarWithMultiAssetDepositV1Calls::AddPositionToCatalogue(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: AllowanceCall) -> Self { + CellarWithMultiAssetDepositV1Calls::Allowance(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: AlternativeAssetDataCall) -> Self { + CellarWithMultiAssetDepositV1Calls::AlternativeAssetData(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: ApproveCall) -> Self { + CellarWithMultiAssetDepositV1Calls::Approve(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: AssetCall) -> Self { + CellarWithMultiAssetDepositV1Calls::Asset(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: BalanceOfCall) -> Self { + CellarWithMultiAssetDepositV1Calls::BalanceOf(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: BlockExternalReceiverCall) -> Self { + CellarWithMultiAssetDepositV1Calls::BlockExternalReceiver(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: CachePriceRouterCall) -> Self { + CellarWithMultiAssetDepositV1Calls::CachePriceRouter(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: CallOnAdaptorCall) -> Self { + CellarWithMultiAssetDepositV1Calls::CallOnAdaptor(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: ConvertToAssetsCall) -> Self { + CellarWithMultiAssetDepositV1Calls::ConvertToAssets(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: ConvertToSharesCall) -> Self { + CellarWithMultiAssetDepositV1Calls::ConvertToShares(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: DecimalsCall) -> Self { + CellarWithMultiAssetDepositV1Calls::Decimals(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: DecreaseShareSupplyCapCall) -> Self { + CellarWithMultiAssetDepositV1Calls::DecreaseShareSupplyCap(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: DepositCall) -> Self { + CellarWithMultiAssetDepositV1Calls::Deposit(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: DropAlternativeAssetDataCall) -> Self { + CellarWithMultiAssetDepositV1Calls::DropAlternativeAssetData(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: FeeDataCall) -> Self { + CellarWithMultiAssetDepositV1Calls::FeeData(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: ForcePositionOutCall) -> Self { + CellarWithMultiAssetDepositV1Calls::ForcePositionOut(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: GetCreditPositionsCall) -> Self { + CellarWithMultiAssetDepositV1Calls::GetCreditPositions(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: GetDebtPositionsCall) -> Self { + CellarWithMultiAssetDepositV1Calls::GetDebtPositions(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: HoldingPositionCall) -> Self { + CellarWithMultiAssetDepositV1Calls::HoldingPosition(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: IgnorePauseCall) -> Self { + CellarWithMultiAssetDepositV1Calls::IgnorePause(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: IncreaseShareSupplyCapCall) -> Self { + CellarWithMultiAssetDepositV1Calls::IncreaseShareSupplyCap(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: InitiateShutdownCall) -> Self { + CellarWithMultiAssetDepositV1Calls::InitiateShutdown(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: IsPausedCall) -> Self { + CellarWithMultiAssetDepositV1Calls::IsPaused(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: IsPositionUsedCall) -> Self { + CellarWithMultiAssetDepositV1Calls::IsPositionUsed(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: IsShutdownCall) -> Self { + CellarWithMultiAssetDepositV1Calls::IsShutdown(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: LiftShutdownCall) -> Self { + CellarWithMultiAssetDepositV1Calls::LiftShutdown(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: LockedCall) -> Self { + CellarWithMultiAssetDepositV1Calls::Locked(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: MaxDepositCall) -> Self { + CellarWithMultiAssetDepositV1Calls::MaxDeposit(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: MaxMintCall) -> Self { + CellarWithMultiAssetDepositV1Calls::MaxMint(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: MaxRedeemCall) -> Self { + CellarWithMultiAssetDepositV1Calls::MaxRedeem(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: MaxWithdrawCall) -> Self { + CellarWithMultiAssetDepositV1Calls::MaxWithdraw(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: MintCall) -> Self { + CellarWithMultiAssetDepositV1Calls::Mint(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: MultiAssetDepositCall) -> Self { + CellarWithMultiAssetDepositV1Calls::MultiAssetDeposit(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: MulticallCall) -> Self { + CellarWithMultiAssetDepositV1Calls::Multicall(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: NameCall) -> Self { + CellarWithMultiAssetDepositV1Calls::Name(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: NoncesCall) -> Self { + CellarWithMultiAssetDepositV1Calls::Nonces(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: OnERC721ReceivedCall) -> Self { + CellarWithMultiAssetDepositV1Calls::OnERC721Received(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: OwnerCall) -> Self { + CellarWithMultiAssetDepositV1Calls::Owner(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: PermitCall) -> Self { + CellarWithMultiAssetDepositV1Calls::Permit(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: PreviewDepositCall) -> Self { + CellarWithMultiAssetDepositV1Calls::PreviewDeposit(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: PreviewMintCall) -> Self { + CellarWithMultiAssetDepositV1Calls::PreviewMint(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: PreviewMultiAssetDepositCall) -> Self { + CellarWithMultiAssetDepositV1Calls::PreviewMultiAssetDeposit(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: PreviewRedeemCall) -> Self { + CellarWithMultiAssetDepositV1Calls::PreviewRedeem(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: PreviewWithdrawCall) -> Self { + CellarWithMultiAssetDepositV1Calls::PreviewWithdraw(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: PriceRouterCall) -> Self { + CellarWithMultiAssetDepositV1Calls::PriceRouter(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: RedeemCall) -> Self { + CellarWithMultiAssetDepositV1Calls::Redeem(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: RegistryCall) -> Self { + CellarWithMultiAssetDepositV1Calls::Registry(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: RemoveAdaptorFromCatalogueCall) -> Self { + CellarWithMultiAssetDepositV1Calls::RemoveAdaptorFromCatalogue(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: RemovePositionCall) -> Self { + CellarWithMultiAssetDepositV1Calls::RemovePosition(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: RemovePositionFromCatalogueCall) -> Self { + CellarWithMultiAssetDepositV1Calls::RemovePositionFromCatalogue(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: SetAlternativeAssetDataCall) -> Self { + CellarWithMultiAssetDepositV1Calls::SetAlternativeAssetData(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: SetHoldingPositionCall) -> Self { + CellarWithMultiAssetDepositV1Calls::SetHoldingPosition(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: SetRebalanceDeviationCall) -> Self { + CellarWithMultiAssetDepositV1Calls::SetRebalanceDeviation(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: SetStrategistPayoutAddressCall) -> Self { + CellarWithMultiAssetDepositV1Calls::SetStrategistPayoutAddress(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: SetStrategistPlatformCutCall) -> Self { + CellarWithMultiAssetDepositV1Calls::SetStrategistPlatformCut(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: ShareSupplyCapCall) -> Self { + CellarWithMultiAssetDepositV1Calls::ShareSupplyCap(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: SwapPositionsCall) -> Self { + CellarWithMultiAssetDepositV1Calls::SwapPositions(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: SymbolCall) -> Self { + CellarWithMultiAssetDepositV1Calls::Symbol(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: ToggleIgnorePauseCall) -> Self { + CellarWithMultiAssetDepositV1Calls::ToggleIgnorePause(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: TotalAssetsCall) -> Self { + CellarWithMultiAssetDepositV1Calls::TotalAssets(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: TotalAssetsWithdrawableCall) -> Self { + CellarWithMultiAssetDepositV1Calls::TotalAssetsWithdrawable(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: TotalSupplyCall) -> Self { + CellarWithMultiAssetDepositV1Calls::TotalSupply(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: TransferCall) -> Self { + CellarWithMultiAssetDepositV1Calls::Transfer(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: TransferFromCall) -> Self { + CellarWithMultiAssetDepositV1Calls::TransferFrom(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: TransferOwnershipCall) -> Self { + CellarWithMultiAssetDepositV1Calls::TransferOwnership(var) + } + } + impl ::std::convert::From for CellarWithMultiAssetDepositV1Calls { + fn from(var: WithdrawCall) -> Self { + CellarWithMultiAssetDepositV1Calls::Withdraw(var) + } + } + #[doc = "`AdaptorCall(address,bytes[])`"] + #[derive( + Clone, + Debug, + Default, + Eq, + PartialEq, + ethers :: contract :: EthAbiType, + serde :: Deserialize, + serde :: Serialize, + )] + pub struct AdaptorCall { + pub adaptor: ethers::core::types::Address, + pub call_data: Vec, + } +} diff --git a/steward_abi/src/lib.rs b/steward_abi/src/lib.rs index 1234b735..8e6636c8 100644 --- a/steward_abi/src/lib.rs +++ b/steward_abi/src/lib.rs @@ -14,6 +14,7 @@ pub mod cellar_v1; pub mod cellar_v2; pub mod cellar_v2_2; pub mod cellar_v2_5; +pub mod cellar_with_multi_asset_deposit_v1; pub mod cellar_with_share_lock_period_v1; pub mod collateral_f_token_adaptor_v1; pub mod compound_c_token_adaptor_v2; diff --git a/steward_abi_build/src/main.rs b/steward_abi_build/src/main.rs index 14d4b16c..65952405 100644 --- a/steward_abi_build/src/main.rs +++ b/steward_abi_build/src/main.rs @@ -62,6 +62,10 @@ fn main() { ("CurveAdaptorV1", "curve_adaptor_v1"), ("ConvexCurveAdaptorV1", "convex_curve_adaptor_v1"), ("AuraERC4626AdaptorV1", "aura_erc4626_adaptor_v1"), + ( + "CellarWithMultiAssetDepositV1", + "cellar_with_multi_asset_deposit_v1", + ), ]; contracts diff --git a/steward_proto_go/steward_proto/cellar_v2.pb.go b/steward_proto_go/steward_proto/cellar_v2.pb.go index fb28e420..6365d328 100644 --- a/steward_proto_go/steward_proto/cellar_v2.pb.go +++ b/steward_proto_go/steward_proto/cellar_v2.pb.go @@ -868,12 +868,12 @@ type AdaptorCall_CollateralFTokenV1Calls struct { } type AdaptorCall_AaveV3DebtTokenV1FlashLoanCalls struct { - // Represents flash loan function call for the AaveV3DebtTokenAdaptorV1 + // Represents function call for the AaveV3DebtTokenAdaptorV1 AaveV3DebtTokenV1FlashLoanCalls *AaveV3DebtTokenAdaptorV1FlashLoanCalls `protobuf:"bytes,28,opt,name=aave_v3_debt_token_v1_flash_loan_calls,json=aaveV3DebtTokenV1FlashLoanCalls,proto3,oneof"` } type AdaptorCall_BalancerPoolV1FlashLoanCalls struct { - // Represents flash loan function call for the BalancerPoolAdaptorV1 + // Represents function call for the BalancerPoolAdaptorV1 BalancerPoolV1FlashLoanCalls *BalancerPoolAdaptorV1FlashLoanCalls `protobuf:"bytes,29,opt,name=balancer_pool_v1_flash_loan_calls,json=balancerPoolV1FlashLoanCalls,proto3,oneof"` } @@ -2847,6 +2847,8 @@ type CellarV2_5_FunctionCall struct { // *CellarV2_5_FunctionCall_SetSharePriceOracle // *CellarV2_5_FunctionCall_CachePriceRouter // *CellarV2_5_FunctionCall_ForcePositionOut + // *CellarV2_5_FunctionCall_SetAlternativeAssetData + // *CellarV2_5_FunctionCall_DropAlternativeAssetData Function isCellarV2_5_FunctionCall_Function `protobuf_oneof:"function"` } @@ -3029,6 +3031,20 @@ func (x *CellarV2_5_FunctionCall) GetForcePositionOut() *CellarV2_5_ForcePositio return nil } +func (x *CellarV2_5_FunctionCall) GetSetAlternativeAssetData() *CellarV2_5_SetAlternativeAssetData { + if x, ok := x.GetFunction().(*CellarV2_5_FunctionCall_SetAlternativeAssetData); ok { + return x.SetAlternativeAssetData + } + return nil +} + +func (x *CellarV2_5_FunctionCall) GetDropAlternativeAssetData() *CellarV2_5_DropAlternativeAssetData { + if x, ok := x.GetFunction().(*CellarV2_5_FunctionCall_DropAlternativeAssetData); ok { + return x.DropAlternativeAssetData + } + return nil +} + type isCellarV2_5_FunctionCall_Function interface { isCellarV2_5_FunctionCall_Function() } @@ -3133,6 +3149,16 @@ type CellarV2_5_FunctionCall_ForcePositionOut struct { ForcePositionOut *CellarV2_5_ForcePositionOut `protobuf:"bytes,20,opt,name=force_position_out,json=forcePositionOut,proto3,oneof"` } +type CellarV2_5_FunctionCall_SetAlternativeAssetData struct { + // Represents function `setAlternativeAssetData(ERC20 _alternativeAsset, uint32 _alternativeHoldingPosition, uint32 _alternativeAssetFee)` + SetAlternativeAssetData *CellarV2_5_SetAlternativeAssetData `protobuf:"bytes,21,opt,name=set_alternative_asset_data,json=setAlternativeAssetData,proto3,oneof"` +} + +type CellarV2_5_FunctionCall_DropAlternativeAssetData struct { + // Represents function `setDropAlternativeAssetData(ERC20 _alternativeAsset)` + DropAlternativeAssetData *CellarV2_5_DropAlternativeAssetData `protobuf:"bytes,22,opt,name=drop_alternative_asset_data,json=dropAlternativeAssetData,proto3,oneof"` +} + func (*CellarV2_5_FunctionCall_AddPosition) isCellarV2_5_FunctionCall_Function() {} func (*CellarV2_5_FunctionCall_CallOnAdaptor) isCellarV2_5_FunctionCall_Function() {} @@ -3173,6 +3199,10 @@ func (*CellarV2_5_FunctionCall_CachePriceRouter) isCellarV2_5_FunctionCall_Funct func (*CellarV2_5_FunctionCall_ForcePositionOut) isCellarV2_5_FunctionCall_Function() {} +func (*CellarV2_5_FunctionCall_SetAlternativeAssetData) isCellarV2_5_FunctionCall_Function() {} + +func (*CellarV2_5_FunctionCall_DropAlternativeAssetData) isCellarV2_5_FunctionCall_Function() {} + // // Insert a trusted position to the list of positions used by the cellar at a given index. // @@ -4334,6 +4364,128 @@ func (x *CellarV2_5_ForcePositionOut) GetInDebtArray() bool { return false } +// +// Allows the strategist to add, or update an existing alternative asset deposit. +// +// Represents function `setAlternativeAssetData(ERC20 _alternativeAsset, uint32 _alternativeHoldingPosition, uint32 _alternativeAssetFee)` +type CellarV2_5_SetAlternativeAssetData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The address of the alternative asset + AlternativeAsset string `protobuf:"bytes,1,opt,name=alternative_asset,json=alternativeAsset,proto3" json:"alternative_asset,omitempty"` + // The holding position to direct alternative asset deposits to + AlternativeHoldingPosition uint32 `protobuf:"varint,2,opt,name=alternative_holding_position,json=alternativeHoldingPosition,proto3" json:"alternative_holding_position,omitempty"` + // The fee to charge for depositing this alternative asset + AlternativeAssetFee uint32 `protobuf:"varint,3,opt,name=alternative_asset_fee,json=alternativeAssetFee,proto3" json:"alternative_asset_fee,omitempty"` +} + +func (x *CellarV2_5_SetAlternativeAssetData) Reset() { + *x = CellarV2_5_SetAlternativeAssetData{} + if protoimpl.UnsafeEnabled { + mi := &file_cellar_v2_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CellarV2_5_SetAlternativeAssetData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CellarV2_5_SetAlternativeAssetData) ProtoMessage() {} + +func (x *CellarV2_5_SetAlternativeAssetData) ProtoReflect() protoreflect.Message { + mi := &file_cellar_v2_proto_msgTypes[56] + 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 CellarV2_5_SetAlternativeAssetData.ProtoReflect.Descriptor instead. +func (*CellarV2_5_SetAlternativeAssetData) Descriptor() ([]byte, []int) { + return file_cellar_v2_proto_rawDescGZIP(), []int{2, 22} +} + +func (x *CellarV2_5_SetAlternativeAssetData) GetAlternativeAsset() string { + if x != nil { + return x.AlternativeAsset + } + return "" +} + +func (x *CellarV2_5_SetAlternativeAssetData) GetAlternativeHoldingPosition() uint32 { + if x != nil { + return x.AlternativeHoldingPosition + } + return 0 +} + +func (x *CellarV2_5_SetAlternativeAssetData) GetAlternativeAssetFee() uint32 { + if x != nil { + return x.AlternativeAssetFee + } + return 0 +} + +// +// Allows the strategist to stop an alternative asset from being deposited. +// +// Represents function `dropAlternativeAssetData(ERC20 _alternativeAsset)` +type CellarV2_5_DropAlternativeAssetData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The address of the alternative asset + AlternativeAsset string `protobuf:"bytes,1,opt,name=alternative_asset,json=alternativeAsset,proto3" json:"alternative_asset,omitempty"` +} + +func (x *CellarV2_5_DropAlternativeAssetData) Reset() { + *x = CellarV2_5_DropAlternativeAssetData{} + if protoimpl.UnsafeEnabled { + mi := &file_cellar_v2_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CellarV2_5_DropAlternativeAssetData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CellarV2_5_DropAlternativeAssetData) ProtoMessage() {} + +func (x *CellarV2_5_DropAlternativeAssetData) ProtoReflect() protoreflect.Message { + mi := &file_cellar_v2_proto_msgTypes[57] + 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 CellarV2_5_DropAlternativeAssetData.ProtoReflect.Descriptor instead. +func (*CellarV2_5_DropAlternativeAssetData) Descriptor() ([]byte, []int) { + return file_cellar_v2_proto_rawDescGZIP(), []int{2, 23} +} + +func (x *CellarV2_5_DropAlternativeAssetData) GetAlternativeAsset() string { + if x != nil { + return x.AlternativeAsset + } + return "" +} + var File_cellar_v2_proto protoreflect.FileDescriptor var file_cellar_v2_proto_rawDesc = []byte{ @@ -4701,7 +4853,7 @@ var file_cellar_v2_proto_rawDesc = []byte{ 0x27, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xac, 0x1c, 0x0a, 0x0a, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x95, 0x20, 0x0a, 0x0a, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x5f, 0x35, 0x12, 0x4a, 0x0a, 0x0d, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, @@ -4711,7 +4863,7 @@ var file_cellar_v2_proto_rawDesc = []byte{ 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x5f, 0x35, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, - 0x6c, 0x6c, 0x1a, 0xbe, 0x0f, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6c, 0x6c, 0x1a, 0x9f, 0x11, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x47, 0x0a, 0x0c, 0x61, 0x64, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x5f, @@ -4834,304 +4986,334 @@ var file_cellar_v2_proto_rawDesc = []byte{ 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x32, 0x5f, 0x35, 0x2e, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x48, 0x00, 0x52, 0x10, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x1a, 0x97, 0x01, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x6e, 0x5f, - 0x64, 0x65, 0x62, 0x74, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0b, 0x69, 0x6e, 0x44, 0x65, 0x62, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x1a, 0x3c, 0x0a, - 0x0d, 0x43, 0x61, 0x6c, 0x6c, 0x4f, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x2b, - 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, - 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, - 0x72, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x4a, 0x0a, 0x0e, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, - 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x6e, 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x61, - 0x72, 0x72, 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x44, 0x65, - 0x62, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x1a, 0x35, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x48, 0x6f, - 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, - 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x1a, 0x34, - 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x73, 0x74, 0x50, - 0x61, 0x79, 0x6f, 0x75, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, - 0x70, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, - 0x79, 0x6f, 0x75, 0x74, 0x1a, 0x65, 0x0a, 0x0d, 0x53, 0x77, 0x61, 0x70, 0x50, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x31, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x31, 0x12, 0x17, - 0x0a, 0x07, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x32, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x6e, 0x5f, 0x64, 0x65, - 0x62, 0x74, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, - 0x69, 0x6e, 0x44, 0x65, 0x62, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x1a, 0x2f, 0x0a, 0x12, 0x53, - 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x69, 0x6f, - 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x4c, 0x6f, 0x63, 0x6b, 0x1a, 0x3c, 0x0a, 0x15, - 0x53, 0x65, 0x74, 0x52, 0x65, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x76, 0x69, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x77, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x65, - 0x77, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x12, 0x0a, 0x10, 0x49, 0x6e, - 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x1a, 0x33, - 0x0a, 0x18, 0x53, 0x65, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x73, 0x74, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x75, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x65, - 0x77, 0x5f, 0x63, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, 0x65, 0x77, - 0x43, 0x75, 0x74, 0x1a, 0x0e, 0x0a, 0x0c, 0x4c, 0x69, 0x66, 0x74, 0x53, 0x68, 0x75, 0x74, 0x64, - 0x6f, 0x77, 0x6e, 0x1a, 0x31, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, - 0x72, 0x54, 0x6f, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x61, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, - 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x1a, 0x57, 0x0a, 0x09, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, - 0x61, 0x6c, 0x6c, 0x12, 0x4a, 0x0a, 0x0e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x74, + 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x12, 0x6d, 0x0a, 0x1a, 0x73, 0x65, 0x74, 0x5f, 0x61, + 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, - 0x32, 0x5f, 0x35, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, - 0x52, 0x0d, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x1a, - 0x39, 0x0a, 0x16, 0x41, 0x64, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, - 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x1a, 0x36, 0x0a, 0x1a, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x46, 0x72, 0x6f, 0x6d, 0x43, - 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x61, 0x70, - 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x61, 0x70, 0x74, - 0x6f, 0x72, 0x1a, 0x3e, 0x0a, 0x1b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x75, - 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x1a, 0x31, 0x0a, 0x16, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x61, 0x70, 0x12, 0x17, 0x0a, 0x07, - 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, - 0x65, 0x77, 0x43, 0x61, 0x70, 0x1a, 0x31, 0x0a, 0x16, 0x44, 0x65, 0x63, 0x72, 0x65, 0x61, 0x73, - 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x61, 0x70, 0x12, - 0x17, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x6e, 0x65, 0x77, 0x43, 0x61, 0x70, 0x1a, 0x4e, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x53, - 0x68, 0x61, 0x72, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x12, - 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x49, 0x64, - 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x1a, 0x9d, 0x01, 0x0a, 0x10, 0x43, 0x61, 0x63, - 0x68, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a, - 0x12, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x73, 0x73, - 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, - 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x61, 0x62, 0x6c, 0x65, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, - 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x13, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x72, 0x69, - 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x1a, 0x6d, 0x0a, 0x10, 0x46, 0x6f, 0x72, 0x63, - 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x12, 0x14, 0x0a, 0x05, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x6e, 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x61, - 0x72, 0x72, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x44, 0x65, - 0x62, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x22, 0x92, 0x19, 0x0a, 0x0b, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, - 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x54, - 0x0a, 0x13, 0x75, 0x6e, 0x69, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x76, 0x33, 0x5f, 0x76, 0x31, 0x5f, - 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x74, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x6e, 0x69, 0x73, 0x77, 0x61, 0x70, - 0x56, 0x33, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, - 0x48, 0x00, 0x52, 0x10, 0x75, 0x6e, 0x69, 0x73, 0x77, 0x61, 0x70, 0x56, 0x33, 0x56, 0x31, 0x43, - 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x58, 0x0a, 0x15, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x61, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, - 0x2e, 0x41, 0x61, 0x76, 0x65, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, - 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x11, 0x61, 0x61, 0x76, - 0x65, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x61, - 0x0a, 0x18, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x61, - 0x76, 0x65, 0x44, 0x65, 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, - 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x14, 0x61, 0x61, 0x76, - 0x65, 0x44, 0x65, 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, - 0x73, 0x12, 0x64, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x63, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x32, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, - 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, - 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x56, 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x58, 0x0a, 0x15, 0x61, 0x61, 0x76, 0x65, 0x5f, - 0x61, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x32, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x61, 0x76, 0x65, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, - 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x11, - 0x61, 0x61, 0x76, 0x65, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x32, 0x43, 0x61, 0x6c, 0x6c, - 0x73, 0x12, 0x61, 0x0a, 0x18, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x32, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, - 0x2e, 0x41, 0x61, 0x76, 0x65, 0x44, 0x65, 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, - 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x14, - 0x61, 0x61, 0x76, 0x65, 0x44, 0x65, 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x32, 0x43, - 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x5f, 0x0a, 0x18, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x33, 0x5f, - 0x61, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x61, 0x76, 0x65, 0x56, 0x33, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, - 0x52, 0x13, 0x61, 0x61, 0x76, 0x65, 0x56, 0x33, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, - 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x68, 0x0a, 0x1b, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x33, - 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, - 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x74, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x61, 0x76, 0x65, 0x56, 0x33, 0x44, 0x65, - 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, - 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x16, 0x61, 0x61, 0x76, 0x65, 0x56, 0x33, 0x44, - 0x65, 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, - 0x4e, 0x0a, 0x11, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x6e, 0x63, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x63, - 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x74, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x6e, 0x65, 0x49, 0x6e, 0x63, 0x68, 0x41, - 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, - 0x0e, 0x6f, 0x6e, 0x65, 0x49, 0x6e, 0x63, 0x68, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, - 0x67, 0x0a, 0x1a, 0x66, 0x65, 0x65, 0x73, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x73, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x0b, 0x20, + 0x32, 0x5f, 0x35, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x17, 0x73, + 0x65, 0x74, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x73, 0x73, + 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x70, 0x0a, 0x1b, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x61, + 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x74, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, + 0x32, 0x5f, 0x35, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x18, + 0x64, 0x72, 0x6f, 0x70, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, + 0x73, 0x73, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x42, 0x0a, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x97, 0x01, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x50, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x6e, + 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x44, 0x65, 0x62, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x1a, 0x3c, + 0x0a, 0x0d, 0x43, 0x61, 0x6c, 0x6c, 0x4f, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x12, + 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x61, 0x70, 0x74, + 0x6f, 0x72, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x4a, 0x0a, 0x0e, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, + 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x6e, 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, + 0x61, 0x72, 0x72, 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x44, + 0x65, 0x62, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x1a, 0x35, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x48, + 0x6f, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, + 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x1a, + 0x34, 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x50, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, + 0x06, 0x70, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, + 0x61, 0x79, 0x6f, 0x75, 0x74, 0x1a, 0x65, 0x0a, 0x0d, 0x53, 0x77, 0x61, 0x70, 0x50, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, + 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x31, 0x12, + 0x17, 0x0a, 0x07, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x32, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x6e, 0x5f, 0x64, + 0x65, 0x62, 0x74, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0b, 0x69, 0x6e, 0x44, 0x65, 0x62, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x1a, 0x2f, 0x0a, 0x12, + 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x69, + 0x6f, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x4c, 0x6f, 0x63, 0x6b, 0x1a, 0x3c, 0x0a, + 0x15, 0x53, 0x65, 0x74, 0x52, 0x65, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x76, + 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x77, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, + 0x65, 0x77, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x12, 0x0a, 0x10, 0x49, + 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x1a, + 0x33, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x75, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x6e, + 0x65, 0x77, 0x5f, 0x63, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, 0x65, + 0x77, 0x43, 0x75, 0x74, 0x1a, 0x0e, 0x0a, 0x0c, 0x4c, 0x69, 0x66, 0x74, 0x53, 0x68, 0x75, 0x74, + 0x64, 0x6f, 0x77, 0x6e, 0x1a, 0x31, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x41, 0x64, 0x61, 0x70, 0x74, + 0x6f, 0x72, 0x54, 0x6f, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x75, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x61, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x61, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x1a, 0x57, 0x0a, 0x09, 0x4d, 0x75, 0x6c, 0x74, 0x69, + 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x4a, 0x0a, 0x0e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, + 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, + 0x56, 0x32, 0x5f, 0x35, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, + 0x6c, 0x52, 0x0d, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x73, + 0x1a, 0x39, 0x0a, 0x16, 0x41, 0x64, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x6f, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x1a, 0x36, 0x0a, 0x1a, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x46, 0x72, 0x6f, 0x6d, + 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x61, + 0x70, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x61, 0x70, + 0x74, 0x6f, 0x72, 0x1a, 0x3e, 0x0a, 0x1b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, + 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x1a, 0x31, 0x0a, 0x16, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x61, 0x70, 0x12, 0x17, 0x0a, + 0x07, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x6e, 0x65, 0x77, 0x43, 0x61, 0x70, 0x1a, 0x31, 0x0a, 0x16, 0x44, 0x65, 0x63, 0x72, 0x65, 0x61, + 0x73, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x61, 0x70, + 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x6e, 0x65, 0x77, 0x43, 0x61, 0x70, 0x1a, 0x4e, 0x0a, 0x13, 0x53, 0x65, 0x74, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x49, + 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x1a, 0x9d, 0x01, 0x0a, 0x10, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x2c, + 0x0a, 0x12, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x73, + 0x73, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x61, 0x62, 0x6c, 0x65, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x72, + 0x69, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x1a, 0x6d, 0x0a, 0x10, 0x46, 0x6f, 0x72, + 0x63, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x6e, 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, + 0x61, 0x72, 0x72, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x44, + 0x65, 0x62, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x1a, 0xbc, 0x01, 0x0a, 0x17, 0x53, 0x65, 0x74, + 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x73, 0x73, 0x65, + 0x74, 0x12, 0x40, 0x0a, 0x1c, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x48, 0x6f, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x13, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, + 0x73, 0x73, 0x65, 0x74, 0x46, 0x65, 0x65, 0x1a, 0x47, 0x0a, 0x18, 0x44, 0x72, 0x6f, 0x70, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, + 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, + 0x42, 0x0b, 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x92, 0x19, + 0x0a, 0x0b, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x18, 0x0a, + 0x07, 0x61, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x61, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x54, 0x0a, 0x13, 0x75, 0x6e, 0x69, 0x73, 0x77, + 0x61, 0x70, 0x5f, 0x76, 0x33, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, + 0x33, 0x2e, 0x55, 0x6e, 0x69, 0x73, 0x77, 0x61, 0x70, 0x56, 0x33, 0x41, 0x64, 0x61, 0x70, 0x74, + 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x10, 0x75, 0x6e, 0x69, + 0x73, 0x77, 0x61, 0x70, 0x56, 0x33, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x58, 0x0a, + 0x15, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x61, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, + 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, + 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x61, 0x76, 0x65, 0x41, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, + 0x6c, 0x73, 0x48, 0x00, 0x52, 0x11, 0x61, 0x61, 0x76, 0x65, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x61, 0x0a, 0x18, 0x61, 0x61, 0x76, 0x65, 0x5f, + 0x64, 0x65, 0x62, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, + 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x74, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x61, 0x76, 0x65, 0x44, 0x65, 0x62, 0x74, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, + 0x6c, 0x73, 0x48, 0x00, 0x52, 0x14, 0x61, 0x61, 0x76, 0x65, 0x44, 0x65, 0x62, 0x74, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x64, 0x0a, 0x19, 0x63, 0x6f, + 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x63, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, + 0x32, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, + 0x75, 0x6e, 0x64, 0x43, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, + 0x56, 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x6f, + 0x75, 0x6e, 0x64, 0x43, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, + 0x12, 0x58, 0x0a, 0x15, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x61, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x5f, 0x76, 0x32, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x61, 0x76, + 0x65, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x32, + 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x11, 0x61, 0x61, 0x76, 0x65, 0x41, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x56, 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x61, 0x0a, 0x18, 0x61, 0x61, + 0x76, 0x65, 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x32, + 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, + 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x61, 0x76, 0x65, 0x44, 0x65, + 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x32, + 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x14, 0x61, 0x61, 0x76, 0x65, 0x44, 0x65, 0x62, + 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x5f, 0x0a, + 0x18, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x33, 0x5f, 0x61, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x26, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x61, 0x76, + 0x65, 0x56, 0x33, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, + 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x13, 0x61, 0x61, 0x76, 0x65, 0x56, + 0x33, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x68, + 0x0a, 0x1b, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x33, 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, - 0x2e, 0x46, 0x65, 0x65, 0x73, 0x41, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x73, + 0x2e, 0x41, 0x61, 0x76, 0x65, 0x56, 0x33, 0x44, 0x65, 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, - 0x52, 0x16, 0x66, 0x65, 0x65, 0x73, 0x41, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x73, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x48, 0x0a, 0x0f, 0x7a, 0x65, 0x72, 0x6f, - 0x5f, 0x78, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x5a, - 0x65, 0x72, 0x6f, 0x58, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, - 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x7a, 0x65, 0x72, 0x6f, 0x58, 0x56, 0x31, 0x43, 0x61, 0x6c, - 0x6c, 0x73, 0x12, 0x67, 0x0a, 0x1a, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, - 0x75, 0x6e, 0x69, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x77, 0x61, 0x70, 0x57, 0x69, 0x74, 0x68, 0x55, 0x6e, 0x69, 0x73, - 0x77, 0x61, 0x70, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, - 0x73, 0x48, 0x00, 0x52, 0x16, 0x73, 0x77, 0x61, 0x70, 0x57, 0x69, 0x74, 0x68, 0x55, 0x6e, 0x69, - 0x73, 0x77, 0x61, 0x70, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x60, 0x0a, 0x17, 0x76, - 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x76, 0x32, - 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, - 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x56, 0x65, 0x73, 0x74, 0x69, 0x6e, - 0x67, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x32, - 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x14, 0x76, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, - 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x56, 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x4a, 0x0a, - 0x0f, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, - 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x65, 0x6c, 0x6c, - 0x61, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x54, 0x0a, 0x13, 0x75, 0x6e, 0x69, - 0x73, 0x77, 0x61, 0x70, 0x5f, 0x76, 0x33, 0x5f, 0x76, 0x32, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x6e, 0x69, 0x73, 0x77, 0x61, 0x70, 0x56, 0x33, 0x41, 0x64, 0x61, - 0x70, 0x74, 0x6f, 0x72, 0x56, 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x10, 0x75, - 0x6e, 0x69, 0x73, 0x77, 0x61, 0x70, 0x56, 0x33, 0x56, 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, - 0x94, 0x01, 0x0a, 0x2b, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x32, 0x5f, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, - 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, - 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, - 0x76, 0x33, 0x2e, 0x41, 0x61, 0x76, 0x65, 0x56, 0x32, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, - 0x73, 0x73, 0x65, 0x74, 0x41, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, - 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, - 0x52, 0x24, 0x61, 0x61, 0x76, 0x65, 0x56, 0x32, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, - 0x73, 0x65, 0x74, 0x41, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x56, - 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x4b, 0x0a, 0x10, 0x66, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, - 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x66, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, 0x61, - 0x6c, 0x6c, 0x73, 0x12, 0x72, 0x0a, 0x1f, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x5f, 0x61, 0x61, - 0x76, 0x65, 0x5f, 0x76, 0x32, 0x5f, 0x61, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, - 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, + 0x52, 0x16, 0x61, 0x61, 0x76, 0x65, 0x56, 0x33, 0x44, 0x65, 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x4e, 0x0a, 0x11, 0x6f, 0x6e, 0x65, 0x5f, + 0x69, 0x6e, 0x63, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, + 0x2e, 0x4f, 0x6e, 0x65, 0x49, 0x6e, 0x63, 0x68, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, + 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x6f, 0x6e, 0x65, 0x49, 0x6e, 0x63, + 0x68, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x67, 0x0a, 0x1a, 0x66, 0x65, 0x65, 0x73, + 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x73, 0x5f, 0x76, 0x31, + 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, + 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x65, 0x65, 0x73, 0x41, 0x6e, + 0x64, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x73, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, + 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x16, 0x66, 0x65, 0x65, 0x73, 0x41, + 0x6e, 0x64, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x73, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, + 0x73, 0x12, 0x48, 0x0a, 0x0f, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x78, 0x5f, 0x76, 0x31, 0x5f, 0x63, + 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x74, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x5a, 0x65, 0x72, 0x6f, 0x58, 0x41, 0x64, 0x61, + 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x7a, + 0x65, 0x72, 0x6f, 0x58, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x67, 0x0a, 0x1a, 0x73, + 0x77, 0x61, 0x70, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x75, 0x6e, 0x69, 0x73, 0x77, 0x61, 0x70, + 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x29, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x77, 0x61, + 0x70, 0x57, 0x69, 0x74, 0x68, 0x55, 0x6e, 0x69, 0x73, 0x77, 0x61, 0x70, 0x41, 0x64, 0x61, 0x70, + 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x16, 0x73, 0x77, + 0x61, 0x70, 0x57, 0x69, 0x74, 0x68, 0x55, 0x6e, 0x69, 0x73, 0x77, 0x61, 0x70, 0x56, 0x31, 0x43, + 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x60, 0x0a, 0x17, 0x76, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, + 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x76, 0x32, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, + 0x76, 0x33, 0x2e, 0x56, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, + 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, + 0x52, 0x14, 0x76, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x56, + 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, + 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x65, 0x6c, + 0x6c, 0x61, 0x72, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, + 0x73, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, + 0x6c, 0x73, 0x12, 0x54, 0x0a, 0x13, 0x75, 0x6e, 0x69, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x76, 0x33, + 0x5f, 0x76, 0x32, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x6e, 0x69, + 0x73, 0x77, 0x61, 0x70, 0x56, 0x33, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x32, 0x43, + 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x10, 0x75, 0x6e, 0x69, 0x73, 0x77, 0x61, 0x70, 0x56, + 0x33, 0x56, 0x32, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x94, 0x01, 0x0a, 0x2b, 0x61, 0x61, 0x76, + 0x65, 0x5f, 0x76, 0x32, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x65, + 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, + 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, + 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x61, 0x76, 0x65, + 0x56, 0x32, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x41, 0x73, 0x43, + 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, + 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x24, 0x61, 0x61, 0x76, 0x65, 0x56, + 0x32, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x41, 0x73, 0x43, 0x6f, + 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, + 0x4b, 0x0a, 0x10, 0x66, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, + 0x6c, 0x6c, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x74, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, + 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x66, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x72, 0x0a, 0x1f, + 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x5f, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x32, 0x5f, 0x61, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, + 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, + 0x76, 0x33, 0x2e, 0x4d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, 0x32, 0x41, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, + 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x19, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, + 0x65, 0x56, 0x32, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, + 0x12, 0x7b, 0x0a, 0x22, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x5f, 0x61, 0x61, 0x76, 0x65, 0x5f, + 0x76, 0x32, 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, + 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x6f, 0x72, 0x70, 0x68, 0x6f, - 0x41, 0x61, 0x76, 0x65, 0x56, 0x32, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, - 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x19, 0x6d, 0x6f, - 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, 0x32, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x7b, 0x0a, 0x22, 0x6d, 0x6f, 0x72, 0x70, 0x68, - 0x6f, 0x5f, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x32, 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x14, 0x20, + 0x41, 0x61, 0x76, 0x65, 0x56, 0x32, 0x44, 0x65, 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, + 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, + 0x1c, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, 0x32, 0x44, 0x65, 0x62, + 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x91, 0x01, + 0x0a, 0x2a, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x5f, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x33, + 0x5f, 0x61, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, + 0x72, 0x61, 0x6c, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x15, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, + 0x4d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, 0x33, 0x41, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x41, 0x64, 0x61, 0x70, + 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x23, 0x6d, 0x6f, + 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, 0x33, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, + 0x73, 0x12, 0x7c, 0x0a, 0x23, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x5f, 0x61, 0x61, 0x76, 0x65, + 0x5f, 0x76, 0x33, 0x5f, 0x61, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x32, 0x70, 0x5f, + 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x6f, 0x72, 0x70, + 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, 0x33, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x32, + 0x50, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, + 0x00, 0x52, 0x1c, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, 0x33, 0x41, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x32, 0x70, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, + 0x7b, 0x0a, 0x22, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x5f, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x76, + 0x33, 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, 0x5f, + 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x74, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, + 0x61, 0x76, 0x65, 0x56, 0x33, 0x44, 0x65, 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, + 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x1c, + 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, 0x33, 0x44, 0x65, 0x62, 0x74, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x5d, 0x0a, 0x16, + 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x31, + 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, + 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, + 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x13, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, + 0x50, 0x6f, 0x6f, 0x6c, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x5d, 0x0a, 0x16, 0x6c, + 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x5f, 0x76, 0x31, 0x5f, + 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x74, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x43, + 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, + 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x13, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x43, 0x65, 0x6c, + 0x6c, 0x61, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x58, 0x0a, 0x15, 0x64, 0x65, + 0x62, 0x74, 0x5f, 0x66, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, + 0x6c, 0x6c, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x74, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x62, 0x74, 0x46, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, + 0x00, 0x52, 0x11, 0x64, 0x65, 0x62, 0x74, 0x46, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, + 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x6a, 0x0a, 0x1b, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, + 0x61, 0x6c, 0x5f, 0x66, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, + 0x6c, 0x6c, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x74, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, + 0x6c, 0x46, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, + 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x17, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, + 0x72, 0x61, 0x6c, 0x46, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, + 0x12, 0x85, 0x01, 0x0a, 0x26, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x33, 0x5f, 0x64, 0x65, 0x62, + 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x66, 0x6c, 0x61, 0x73, 0x68, + 0x5f, 0x6c, 0x6f, 0x61, 0x6e, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x32, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x41, + 0x61, 0x76, 0x65, 0x56, 0x33, 0x44, 0x65, 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, + 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x46, 0x6c, 0x61, 0x73, 0x68, 0x4c, 0x6f, 0x61, 0x6e, + 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x1f, 0x61, 0x61, 0x76, 0x65, 0x56, 0x33, 0x44, + 0x65, 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x46, 0x6c, 0x61, 0x73, 0x68, 0x4c, + 0x6f, 0x61, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x7a, 0x0a, 0x21, 0x62, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x31, 0x5f, 0x66, 0x6c, 0x61, + 0x73, 0x68, 0x5f, 0x6c, 0x6f, 0x61, 0x6e, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, - 0x2e, 0x4d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, 0x32, 0x44, 0x65, 0x62, - 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, - 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x1c, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, - 0x76, 0x65, 0x56, 0x32, 0x44, 0x65, 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, - 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x91, 0x01, 0x0a, 0x2a, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x5f, - 0x61, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x33, 0x5f, 0x61, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, - 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, - 0x6c, 0x6c, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x74, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, - 0x65, 0x56, 0x33, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, - 0x72, 0x61, 0x6c, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, - 0x73, 0x48, 0x00, 0x52, 0x23, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, - 0x33, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, - 0x6c, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x7c, 0x0a, 0x23, 0x6d, 0x6f, 0x72, 0x70, - 0x68, 0x6f, 0x5f, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x33, 0x5f, 0x61, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x5f, 0x70, 0x32, 0x70, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, - 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, - 0x76, 0x33, 0x2e, 0x4d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, 0x33, 0x41, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x32, 0x50, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, - 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x1c, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, - 0x41, 0x61, 0x76, 0x65, 0x56, 0x33, 0x41, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x32, 0x70, 0x56, - 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x7b, 0x0a, 0x22, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, - 0x5f, 0x61, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x33, 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x17, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, - 0x4d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, 0x65, 0x56, 0x33, 0x44, 0x65, 0x62, 0x74, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, - 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x1c, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x41, 0x61, 0x76, - 0x65, 0x56, 0x33, 0x44, 0x65, 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, 0x61, - 0x6c, 0x6c, 0x73, 0x12, 0x5d, 0x0a, 0x16, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x5f, - 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x18, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x41, 0x64, 0x61, - 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x13, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x56, 0x31, 0x43, 0x61, 0x6c, - 0x6c, 0x73, 0x12, 0x5d, 0x0a, 0x16, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x63, 0x65, 0x6c, - 0x6c, 0x61, 0x72, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x19, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, - 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x41, 0x64, 0x61, 0x70, - 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x13, 0x6c, 0x65, - 0x67, 0x61, 0x63, 0x79, 0x43, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, - 0x73, 0x12, 0x58, 0x0a, 0x15, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x66, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, - 0x62, 0x74, 0x46, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, - 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x11, 0x64, 0x65, 0x62, 0x74, 0x46, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x6a, 0x0a, 0x1b, 0x63, - 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x66, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2a, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, - 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x46, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, - 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x17, - 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x46, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x85, 0x01, 0x0a, 0x26, 0x61, 0x61, 0x76, 0x65, - 0x5f, 0x76, 0x33, 0x5f, 0x64, 0x65, 0x62, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, - 0x31, 0x5f, 0x66, 0x6c, 0x61, 0x73, 0x68, 0x5f, 0x6c, 0x6f, 0x61, 0x6e, 0x5f, 0x63, 0x61, 0x6c, - 0x6c, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x61, 0x76, 0x65, 0x56, 0x33, 0x44, 0x65, 0x62, 0x74, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x46, 0x6c, - 0x61, 0x73, 0x68, 0x4c, 0x6f, 0x61, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x1f, - 0x61, 0x61, 0x76, 0x65, 0x56, 0x33, 0x44, 0x65, 0x62, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, - 0x31, 0x46, 0x6c, 0x61, 0x73, 0x68, 0x4c, 0x6f, 0x61, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, - 0x7a, 0x0a, 0x21, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, - 0x5f, 0x76, 0x31, 0x5f, 0x66, 0x6c, 0x61, 0x73, 0x68, 0x5f, 0x6c, 0x6f, 0x61, 0x6e, 0x5f, 0x63, - 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x74, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, - 0x50, 0x6f, 0x6f, 0x6c, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x46, 0x6c, 0x61, - 0x73, 0x68, 0x4c, 0x6f, 0x61, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x1c, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x56, 0x31, 0x46, 0x6c, 0x61, - 0x73, 0x68, 0x4c, 0x6f, 0x61, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x5a, 0x0a, 0x15, 0x63, - 0x6f, 0x6e, 0x76, 0x65, 0x78, 0x5f, 0x63, 0x75, 0x72, 0x76, 0x65, 0x5f, 0x76, 0x31, 0x5f, 0x63, - 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x74, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x78, 0x43, 0x75, - 0x72, 0x76, 0x65, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, - 0x73, 0x48, 0x00, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x78, 0x43, 0x75, 0x72, 0x76, 0x65, - 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x47, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x76, 0x65, - 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x75, 0x72, - 0x76, 0x65, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, - 0x48, 0x00, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x76, 0x65, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, - 0x12, 0x5a, 0x0a, 0x15, 0x61, 0x75, 0x72, 0x61, 0x5f, 0x65, 0x72, 0x63, 0x34, 0x36, 0x32, 0x36, - 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x75, 0x72, - 0x61, 0x45, 0x52, 0x43, 0x34, 0x36, 0x32, 0x36, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, - 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x12, 0x61, 0x75, 0x72, 0x61, 0x45, 0x72, - 0x63, 0x34, 0x36, 0x32, 0x36, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x42, 0x0b, 0x0a, 0x09, - 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 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, + 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x46, 0x6c, 0x61, 0x73, 0x68, 0x4c, 0x6f, 0x61, 0x6e, 0x43, + 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x1c, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, + 0x50, 0x6f, 0x6f, 0x6c, 0x56, 0x31, 0x46, 0x6c, 0x61, 0x73, 0x68, 0x4c, 0x6f, 0x61, 0x6e, 0x43, + 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x78, 0x5f, 0x63, + 0x75, 0x72, 0x76, 0x65, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x1e, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x33, + 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x78, 0x43, 0x75, 0x72, 0x76, 0x65, 0x41, 0x64, 0x61, 0x70, + 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x12, 0x63, 0x6f, + 0x6e, 0x76, 0x65, 0x78, 0x43, 0x75, 0x72, 0x76, 0x65, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, + 0x12, 0x47, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x76, 0x65, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, + 0x6c, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x75, 0x72, 0x76, 0x65, 0x41, 0x64, 0x61, 0x70, 0x74, + 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x75, 0x72, + 0x76, 0x65, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x5a, 0x0a, 0x15, 0x61, 0x75, 0x72, + 0x61, 0x5f, 0x65, 0x72, 0x63, 0x34, 0x36, 0x32, 0x36, 0x5f, 0x76, 0x31, 0x5f, 0x63, 0x61, 0x6c, + 0x6c, 0x73, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x74, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x75, 0x72, 0x61, 0x45, 0x52, 0x43, 0x34, 0x36, 0x32, + 0x36, 0x41, 0x64, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x31, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, + 0x00, 0x52, 0x12, 0x61, 0x75, 0x72, 0x61, 0x45, 0x72, 0x63, 0x34, 0x36, 0x32, 0x36, 0x56, 0x31, + 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x61, + 0x74, 0x61, 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 ( @@ -5146,7 +5328,7 @@ func file_cellar_v2_proto_rawDescGZIP() []byte { return file_cellar_v2_proto_rawDescData } -var file_cellar_v2_proto_msgTypes = make([]protoimpl.MessageInfo, 56) +var file_cellar_v2_proto_msgTypes = make([]protoimpl.MessageInfo, 58) var file_cellar_v2_proto_goTypes = []interface{}{ (*CellarV2)(nil), // 0: steward.v3.CellarV2 (*CellarV2_2)(nil), // 1: steward.v3.CellarV2_2 @@ -5204,37 +5386,39 @@ var file_cellar_v2_proto_goTypes = []interface{}{ (*CellarV2_5_SetSharePriceOracle)(nil), // 53: steward.v3.CellarV2_5.SetSharePriceOracle (*CellarV2_5_CachePriceRouter)(nil), // 54: steward.v3.CellarV2_5.CachePriceRouter (*CellarV2_5_ForcePositionOut)(nil), // 55: steward.v3.CellarV2_5.ForcePositionOut - (*UniswapV3AdaptorV1Calls)(nil), // 56: steward.v3.UniswapV3AdaptorV1Calls - (*AaveATokenAdaptorV1Calls)(nil), // 57: steward.v3.AaveATokenAdaptorV1Calls - (*AaveDebtTokenAdaptorV1Calls)(nil), // 58: steward.v3.AaveDebtTokenAdaptorV1Calls - (*CompoundCTokenAdaptorV2Calls)(nil), // 59: steward.v3.CompoundCTokenAdaptorV2Calls - (*AaveATokenAdaptorV2Calls)(nil), // 60: steward.v3.AaveATokenAdaptorV2Calls - (*AaveDebtTokenAdaptorV2Calls)(nil), // 61: steward.v3.AaveDebtTokenAdaptorV2Calls - (*AaveV3ATokenAdaptorV1Calls)(nil), // 62: steward.v3.AaveV3ATokenAdaptorV1Calls - (*AaveV3DebtTokenAdaptorV1Calls)(nil), // 63: steward.v3.AaveV3DebtTokenAdaptorV1Calls - (*OneInchAdaptorV1Calls)(nil), // 64: steward.v3.OneInchAdaptorV1Calls - (*FeesAndReservesAdaptorV1Calls)(nil), // 65: steward.v3.FeesAndReservesAdaptorV1Calls - (*ZeroXAdaptorV1Calls)(nil), // 66: steward.v3.ZeroXAdaptorV1Calls - (*SwapWithUniswapAdaptorV1Calls)(nil), // 67: steward.v3.SwapWithUniswapAdaptorV1Calls - (*VestingSimpleAdaptorV2Calls)(nil), // 68: steward.v3.VestingSimpleAdaptorV2Calls - (*CellarAdaptorV1Calls)(nil), // 69: steward.v3.CellarAdaptorV1Calls - (*UniswapV3AdaptorV2Calls)(nil), // 70: steward.v3.UniswapV3AdaptorV2Calls - (*AaveV2EnableAssetAsCollateralAdaptorV1Calls)(nil), // 71: steward.v3.AaveV2EnableAssetAsCollateralAdaptorV1Calls - (*FTokenAdaptorV1Calls)(nil), // 72: steward.v3.FTokenAdaptorV1Calls - (*MorphoAaveV2ATokenAdaptorV1Calls)(nil), // 73: steward.v3.MorphoAaveV2ATokenAdaptorV1Calls - (*MorphoAaveV2DebtTokenAdaptorV1Calls)(nil), // 74: steward.v3.MorphoAaveV2DebtTokenAdaptorV1Calls - (*MorphoAaveV3ATokenCollateralAdaptorV1Calls)(nil), // 75: steward.v3.MorphoAaveV3ATokenCollateralAdaptorV1Calls - (*MorphoAaveV3ATokenP2PAdaptorV1Calls)(nil), // 76: steward.v3.MorphoAaveV3ATokenP2PAdaptorV1Calls - (*MorphoAaveV3DebtTokenAdaptorV1Calls)(nil), // 77: steward.v3.MorphoAaveV3DebtTokenAdaptorV1Calls - (*BalancerPoolAdaptorV1Calls)(nil), // 78: steward.v3.BalancerPoolAdaptorV1Calls - (*LegacyCellarAdaptorV1Calls)(nil), // 79: steward.v3.LegacyCellarAdaptorV1Calls - (*DebtFTokenAdaptorV1Calls)(nil), // 80: steward.v3.DebtFTokenAdaptorV1Calls - (*CollateralFTokenAdaptorV1Calls)(nil), // 81: steward.v3.CollateralFTokenAdaptorV1Calls - (*AaveV3DebtTokenAdaptorV1FlashLoanCalls)(nil), // 82: steward.v3.AaveV3DebtTokenAdaptorV1FlashLoanCalls - (*BalancerPoolAdaptorV1FlashLoanCalls)(nil), // 83: steward.v3.BalancerPoolAdaptorV1FlashLoanCalls - (*ConvexCurveAdaptorV1Calls)(nil), // 84: steward.v3.ConvexCurveAdaptorV1Calls - (*CurveAdaptorV1Calls)(nil), // 85: steward.v3.CurveAdaptorV1Calls - (*AuraERC4626AdaptorV1Calls)(nil), // 86: steward.v3.AuraERC4626AdaptorV1Calls + (*CellarV2_5_SetAlternativeAssetData)(nil), // 56: steward.v3.CellarV2_5.SetAlternativeAssetData + (*CellarV2_5_DropAlternativeAssetData)(nil), // 57: steward.v3.CellarV2_5.DropAlternativeAssetData + (*UniswapV3AdaptorV1Calls)(nil), // 58: steward.v3.UniswapV3AdaptorV1Calls + (*AaveATokenAdaptorV1Calls)(nil), // 59: steward.v3.AaveATokenAdaptorV1Calls + (*AaveDebtTokenAdaptorV1Calls)(nil), // 60: steward.v3.AaveDebtTokenAdaptorV1Calls + (*CompoundCTokenAdaptorV2Calls)(nil), // 61: steward.v3.CompoundCTokenAdaptorV2Calls + (*AaveATokenAdaptorV2Calls)(nil), // 62: steward.v3.AaveATokenAdaptorV2Calls + (*AaveDebtTokenAdaptorV2Calls)(nil), // 63: steward.v3.AaveDebtTokenAdaptorV2Calls + (*AaveV3ATokenAdaptorV1Calls)(nil), // 64: steward.v3.AaveV3ATokenAdaptorV1Calls + (*AaveV3DebtTokenAdaptorV1Calls)(nil), // 65: steward.v3.AaveV3DebtTokenAdaptorV1Calls + (*OneInchAdaptorV1Calls)(nil), // 66: steward.v3.OneInchAdaptorV1Calls + (*FeesAndReservesAdaptorV1Calls)(nil), // 67: steward.v3.FeesAndReservesAdaptorV1Calls + (*ZeroXAdaptorV1Calls)(nil), // 68: steward.v3.ZeroXAdaptorV1Calls + (*SwapWithUniswapAdaptorV1Calls)(nil), // 69: steward.v3.SwapWithUniswapAdaptorV1Calls + (*VestingSimpleAdaptorV2Calls)(nil), // 70: steward.v3.VestingSimpleAdaptorV2Calls + (*CellarAdaptorV1Calls)(nil), // 71: steward.v3.CellarAdaptorV1Calls + (*UniswapV3AdaptorV2Calls)(nil), // 72: steward.v3.UniswapV3AdaptorV2Calls + (*AaveV2EnableAssetAsCollateralAdaptorV1Calls)(nil), // 73: steward.v3.AaveV2EnableAssetAsCollateralAdaptorV1Calls + (*FTokenAdaptorV1Calls)(nil), // 74: steward.v3.FTokenAdaptorV1Calls + (*MorphoAaveV2ATokenAdaptorV1Calls)(nil), // 75: steward.v3.MorphoAaveV2ATokenAdaptorV1Calls + (*MorphoAaveV2DebtTokenAdaptorV1Calls)(nil), // 76: steward.v3.MorphoAaveV2DebtTokenAdaptorV1Calls + (*MorphoAaveV3ATokenCollateralAdaptorV1Calls)(nil), // 77: steward.v3.MorphoAaveV3ATokenCollateralAdaptorV1Calls + (*MorphoAaveV3ATokenP2PAdaptorV1Calls)(nil), // 78: steward.v3.MorphoAaveV3ATokenP2PAdaptorV1Calls + (*MorphoAaveV3DebtTokenAdaptorV1Calls)(nil), // 79: steward.v3.MorphoAaveV3DebtTokenAdaptorV1Calls + (*BalancerPoolAdaptorV1Calls)(nil), // 80: steward.v3.BalancerPoolAdaptorV1Calls + (*LegacyCellarAdaptorV1Calls)(nil), // 81: steward.v3.LegacyCellarAdaptorV1Calls + (*DebtFTokenAdaptorV1Calls)(nil), // 82: steward.v3.DebtFTokenAdaptorV1Calls + (*CollateralFTokenAdaptorV1Calls)(nil), // 83: steward.v3.CollateralFTokenAdaptorV1Calls + (*AaveV3DebtTokenAdaptorV1FlashLoanCalls)(nil), // 84: steward.v3.AaveV3DebtTokenAdaptorV1FlashLoanCalls + (*BalancerPoolAdaptorV1FlashLoanCalls)(nil), // 85: steward.v3.BalancerPoolAdaptorV1FlashLoanCalls + (*ConvexCurveAdaptorV1Calls)(nil), // 86: steward.v3.ConvexCurveAdaptorV1Calls + (*CurveAdaptorV1Calls)(nil), // 87: steward.v3.CurveAdaptorV1Calls + (*AuraERC4626AdaptorV1Calls)(nil), // 88: steward.v3.AuraERC4626AdaptorV1Calls } var file_cellar_v2_proto_depIdxs = []int32{ 4, // 0: steward.v3.CellarV2.add_position:type_name -> steward.v3.CellarV2.AddPosition @@ -5253,37 +5437,37 @@ var file_cellar_v2_proto_depIdxs = []int32{ 29, // 13: steward.v3.CellarV2_2.multicall:type_name -> steward.v3.CellarV2_2.Multicall 34, // 14: steward.v3.CellarV2_5.function_call:type_name -> steward.v3.CellarV2_5.FunctionCall 47, // 15: steward.v3.CellarV2_5.multicall:type_name -> steward.v3.CellarV2_5.Multicall - 56, // 16: steward.v3.AdaptorCall.uniswap_v3_v1_calls:type_name -> steward.v3.UniswapV3AdaptorV1Calls - 57, // 17: steward.v3.AdaptorCall.aave_a_token_v1_calls:type_name -> steward.v3.AaveATokenAdaptorV1Calls - 58, // 18: steward.v3.AdaptorCall.aave_debt_token_v1_calls:type_name -> steward.v3.AaveDebtTokenAdaptorV1Calls - 59, // 19: steward.v3.AdaptorCall.compound_c_token_v2_calls:type_name -> steward.v3.CompoundCTokenAdaptorV2Calls - 60, // 20: steward.v3.AdaptorCall.aave_a_token_v2_calls:type_name -> steward.v3.AaveATokenAdaptorV2Calls - 61, // 21: steward.v3.AdaptorCall.aave_debt_token_v2_calls:type_name -> steward.v3.AaveDebtTokenAdaptorV2Calls - 62, // 22: steward.v3.AdaptorCall.aave_v3_a_token_v1_calls:type_name -> steward.v3.AaveV3ATokenAdaptorV1Calls - 63, // 23: steward.v3.AdaptorCall.aave_v3_debt_token_v1_calls:type_name -> steward.v3.AaveV3DebtTokenAdaptorV1Calls - 64, // 24: steward.v3.AdaptorCall.one_inch_v1_calls:type_name -> steward.v3.OneInchAdaptorV1Calls - 65, // 25: steward.v3.AdaptorCall.fees_and_reserves_v1_calls:type_name -> steward.v3.FeesAndReservesAdaptorV1Calls - 66, // 26: steward.v3.AdaptorCall.zero_x_v1_calls:type_name -> steward.v3.ZeroXAdaptorV1Calls - 67, // 27: steward.v3.AdaptorCall.swap_with_uniswap_v1_calls:type_name -> steward.v3.SwapWithUniswapAdaptorV1Calls - 68, // 28: steward.v3.AdaptorCall.vesting_simple_v2_calls:type_name -> steward.v3.VestingSimpleAdaptorV2Calls - 69, // 29: steward.v3.AdaptorCall.cellar_v1_calls:type_name -> steward.v3.CellarAdaptorV1Calls - 70, // 30: steward.v3.AdaptorCall.uniswap_v3_v2_calls:type_name -> steward.v3.UniswapV3AdaptorV2Calls - 71, // 31: steward.v3.AdaptorCall.aave_v2_enable_asset_as_collateral_v1_calls:type_name -> steward.v3.AaveV2EnableAssetAsCollateralAdaptorV1Calls - 72, // 32: steward.v3.AdaptorCall.f_token_v1_calls:type_name -> steward.v3.FTokenAdaptorV1Calls - 73, // 33: steward.v3.AdaptorCall.morpho_aave_v2_a_token_v1_calls:type_name -> steward.v3.MorphoAaveV2ATokenAdaptorV1Calls - 74, // 34: steward.v3.AdaptorCall.morpho_aave_v2_debt_token_v1_calls:type_name -> steward.v3.MorphoAaveV2DebtTokenAdaptorV1Calls - 75, // 35: steward.v3.AdaptorCall.morpho_aave_v3_a_token_collateral_v1_calls:type_name -> steward.v3.MorphoAaveV3ATokenCollateralAdaptorV1Calls - 76, // 36: steward.v3.AdaptorCall.morpho_aave_v3_a_token_p2p_v1_calls:type_name -> steward.v3.MorphoAaveV3ATokenP2PAdaptorV1Calls - 77, // 37: steward.v3.AdaptorCall.morpho_aave_v3_debt_token_v1_calls:type_name -> steward.v3.MorphoAaveV3DebtTokenAdaptorV1Calls - 78, // 38: steward.v3.AdaptorCall.balancer_pool_v1_calls:type_name -> steward.v3.BalancerPoolAdaptorV1Calls - 79, // 39: steward.v3.AdaptorCall.legacy_cellar_v1_calls:type_name -> steward.v3.LegacyCellarAdaptorV1Calls - 80, // 40: steward.v3.AdaptorCall.debt_f_token_v1_calls:type_name -> steward.v3.DebtFTokenAdaptorV1Calls - 81, // 41: steward.v3.AdaptorCall.collateral_f_token_v1_calls:type_name -> steward.v3.CollateralFTokenAdaptorV1Calls - 82, // 42: steward.v3.AdaptorCall.aave_v3_debt_token_v1_flash_loan_calls:type_name -> steward.v3.AaveV3DebtTokenAdaptorV1FlashLoanCalls - 83, // 43: steward.v3.AdaptorCall.balancer_pool_v1_flash_loan_calls:type_name -> steward.v3.BalancerPoolAdaptorV1FlashLoanCalls - 84, // 44: steward.v3.AdaptorCall.convex_curve_v1_calls:type_name -> steward.v3.ConvexCurveAdaptorV1Calls - 85, // 45: steward.v3.AdaptorCall.curve_v1_calls:type_name -> steward.v3.CurveAdaptorV1Calls - 86, // 46: steward.v3.AdaptorCall.aura_erc4626_v1_calls:type_name -> steward.v3.AuraERC4626AdaptorV1Calls + 58, // 16: steward.v3.AdaptorCall.uniswap_v3_v1_calls:type_name -> steward.v3.UniswapV3AdaptorV1Calls + 59, // 17: steward.v3.AdaptorCall.aave_a_token_v1_calls:type_name -> steward.v3.AaveATokenAdaptorV1Calls + 60, // 18: steward.v3.AdaptorCall.aave_debt_token_v1_calls:type_name -> steward.v3.AaveDebtTokenAdaptorV1Calls + 61, // 19: steward.v3.AdaptorCall.compound_c_token_v2_calls:type_name -> steward.v3.CompoundCTokenAdaptorV2Calls + 62, // 20: steward.v3.AdaptorCall.aave_a_token_v2_calls:type_name -> steward.v3.AaveATokenAdaptorV2Calls + 63, // 21: steward.v3.AdaptorCall.aave_debt_token_v2_calls:type_name -> steward.v3.AaveDebtTokenAdaptorV2Calls + 64, // 22: steward.v3.AdaptorCall.aave_v3_a_token_v1_calls:type_name -> steward.v3.AaveV3ATokenAdaptorV1Calls + 65, // 23: steward.v3.AdaptorCall.aave_v3_debt_token_v1_calls:type_name -> steward.v3.AaveV3DebtTokenAdaptorV1Calls + 66, // 24: steward.v3.AdaptorCall.one_inch_v1_calls:type_name -> steward.v3.OneInchAdaptorV1Calls + 67, // 25: steward.v3.AdaptorCall.fees_and_reserves_v1_calls:type_name -> steward.v3.FeesAndReservesAdaptorV1Calls + 68, // 26: steward.v3.AdaptorCall.zero_x_v1_calls:type_name -> steward.v3.ZeroXAdaptorV1Calls + 69, // 27: steward.v3.AdaptorCall.swap_with_uniswap_v1_calls:type_name -> steward.v3.SwapWithUniswapAdaptorV1Calls + 70, // 28: steward.v3.AdaptorCall.vesting_simple_v2_calls:type_name -> steward.v3.VestingSimpleAdaptorV2Calls + 71, // 29: steward.v3.AdaptorCall.cellar_v1_calls:type_name -> steward.v3.CellarAdaptorV1Calls + 72, // 30: steward.v3.AdaptorCall.uniswap_v3_v2_calls:type_name -> steward.v3.UniswapV3AdaptorV2Calls + 73, // 31: steward.v3.AdaptorCall.aave_v2_enable_asset_as_collateral_v1_calls:type_name -> steward.v3.AaveV2EnableAssetAsCollateralAdaptorV1Calls + 74, // 32: steward.v3.AdaptorCall.f_token_v1_calls:type_name -> steward.v3.FTokenAdaptorV1Calls + 75, // 33: steward.v3.AdaptorCall.morpho_aave_v2_a_token_v1_calls:type_name -> steward.v3.MorphoAaveV2ATokenAdaptorV1Calls + 76, // 34: steward.v3.AdaptorCall.morpho_aave_v2_debt_token_v1_calls:type_name -> steward.v3.MorphoAaveV2DebtTokenAdaptorV1Calls + 77, // 35: steward.v3.AdaptorCall.morpho_aave_v3_a_token_collateral_v1_calls:type_name -> steward.v3.MorphoAaveV3ATokenCollateralAdaptorV1Calls + 78, // 36: steward.v3.AdaptorCall.morpho_aave_v3_a_token_p2p_v1_calls:type_name -> steward.v3.MorphoAaveV3ATokenP2PAdaptorV1Calls + 79, // 37: steward.v3.AdaptorCall.morpho_aave_v3_debt_token_v1_calls:type_name -> steward.v3.MorphoAaveV3DebtTokenAdaptorV1Calls + 80, // 38: steward.v3.AdaptorCall.balancer_pool_v1_calls:type_name -> steward.v3.BalancerPoolAdaptorV1Calls + 81, // 39: steward.v3.AdaptorCall.legacy_cellar_v1_calls:type_name -> steward.v3.LegacyCellarAdaptorV1Calls + 82, // 40: steward.v3.AdaptorCall.debt_f_token_v1_calls:type_name -> steward.v3.DebtFTokenAdaptorV1Calls + 83, // 41: steward.v3.AdaptorCall.collateral_f_token_v1_calls:type_name -> steward.v3.CollateralFTokenAdaptorV1Calls + 84, // 42: steward.v3.AdaptorCall.aave_v3_debt_token_v1_flash_loan_calls:type_name -> steward.v3.AaveV3DebtTokenAdaptorV1FlashLoanCalls + 85, // 43: steward.v3.AdaptorCall.balancer_pool_v1_flash_loan_calls:type_name -> steward.v3.BalancerPoolAdaptorV1FlashLoanCalls + 86, // 44: steward.v3.AdaptorCall.convex_curve_v1_calls:type_name -> steward.v3.ConvexCurveAdaptorV1Calls + 87, // 45: steward.v3.AdaptorCall.curve_v1_calls:type_name -> steward.v3.CurveAdaptorV1Calls + 88, // 46: steward.v3.AdaptorCall.aura_erc4626_v1_calls:type_name -> steward.v3.AuraERC4626AdaptorV1Calls 3, // 47: steward.v3.CellarV2.CallOnAdaptor.data:type_name -> steward.v3.AdaptorCall 17, // 48: steward.v3.CellarV2_2.FunctionCall.add_position:type_name -> steward.v3.CellarV2_2.AddPosition 18, // 49: steward.v3.CellarV2_2.FunctionCall.call_on_adaptor:type_name -> steward.v3.CellarV2_2.CallOnAdaptor @@ -5323,13 +5507,15 @@ var file_cellar_v2_proto_depIdxs = []int32{ 53, // 83: steward.v3.CellarV2_5.FunctionCall.set_share_price_oracle:type_name -> steward.v3.CellarV2_5.SetSharePriceOracle 54, // 84: steward.v3.CellarV2_5.FunctionCall.cache_price_router:type_name -> steward.v3.CellarV2_5.CachePriceRouter 55, // 85: steward.v3.CellarV2_5.FunctionCall.force_position_out:type_name -> steward.v3.CellarV2_5.ForcePositionOut - 3, // 86: steward.v3.CellarV2_5.CallOnAdaptor.data:type_name -> steward.v3.AdaptorCall - 34, // 87: steward.v3.CellarV2_5.Multicall.function_calls:type_name -> steward.v3.CellarV2_5.FunctionCall - 88, // [88:88] is the sub-list for method output_type - 88, // [88:88] is the sub-list for method input_type - 88, // [88:88] is the sub-list for extension type_name - 88, // [88:88] is the sub-list for extension extendee - 0, // [0:88] is the sub-list for field type_name + 56, // 86: steward.v3.CellarV2_5.FunctionCall.set_alternative_asset_data:type_name -> steward.v3.CellarV2_5.SetAlternativeAssetData + 57, // 87: steward.v3.CellarV2_5.FunctionCall.drop_alternative_asset_data:type_name -> steward.v3.CellarV2_5.DropAlternativeAssetData + 3, // 88: steward.v3.CellarV2_5.CallOnAdaptor.data:type_name -> steward.v3.AdaptorCall + 34, // 89: steward.v3.CellarV2_5.Multicall.function_calls:type_name -> steward.v3.CellarV2_5.FunctionCall + 90, // [90:90] is the sub-list for method output_type + 90, // [90:90] is the sub-list for method input_type + 90, // [90:90] is the sub-list for extension type_name + 90, // [90:90] is the sub-list for extension extendee + 0, // [0:90] is the sub-list for field type_name } func init() { file_cellar_v2_proto_init() } @@ -6038,6 +6224,30 @@ func file_cellar_v2_proto_init() { return nil } } + file_cellar_v2_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CellarV2_5_SetAlternativeAssetData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cellar_v2_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CellarV2_5_DropAlternativeAssetData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_cellar_v2_proto_msgTypes[0].OneofWrappers = []interface{}{ (*CellarV2_AddPosition_)(nil), @@ -6133,6 +6343,8 @@ func file_cellar_v2_proto_init() { (*CellarV2_5_FunctionCall_SetSharePriceOracle)(nil), (*CellarV2_5_FunctionCall_CachePriceRouter)(nil), (*CellarV2_5_FunctionCall_ForcePositionOut)(nil), + (*CellarV2_5_FunctionCall_SetAlternativeAssetData)(nil), + (*CellarV2_5_FunctionCall_DropAlternativeAssetData)(nil), } type x struct{} out := protoimpl.TypeBuilder{ @@ -6140,7 +6352,7 @@ func file_cellar_v2_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cellar_v2_proto_rawDesc, NumEnums: 0, - NumMessages: 56, + NumMessages: 58, NumExtensions: 0, NumServices: 0, }, diff --git a/steward_proto_rust/src/prost/descriptor.bin b/steward_proto_rust/src/prost/descriptor.bin index c1d5aedf5e9a7aa85185be062baba438881a70d0..4f2b3027a5277b1ad5f6fd93d1f0ce2c4425751b 100644 GIT binary patch delta 6237 zcmb7Idvq1W9cE`|mSwrgO*ZeF*M)?Dl8{Rh0)!Y6c^FDXo+?_!U@njf1j!WzwSfl8 zE5u+VgMmWT9?L=S*j9kKcAD%=ukj>Gp$CJn(x@Vbl3|~z!G_7KG zC^&y^MW|{)a9Tx;Kq@Oj6^U_vrC-my0ep8PiQ{ki2^(MLE-Vx4Mq*icw}}b(^LC%i zc}8;O{OWmKIf&=QsU)>vB$nKc4&_8azumXihF;_VtM%j5rP9LmH%u*wz6E{`5@^LGfMVLYktNb^GWEdY=MN*Z|TBlc$`G(n|7#byNHxg^ogQ{nwZ)MZ&aS63u z^t0cni6im?{?6^Rd}sTgs+t?h&-<@0C{O3=+;)vqhC3cJ46o7MjzlwuidZsSL=nMd zmbic_fU*(B&t&v*COxEjM*Du+^klNHwu_PJD*DdO<1|YtGwdo3z7MH=N?icH52+(Y z8OIcZB4EYTj;r*%%6xxS4F8z9H9`JxG5IJt!eHVn=*Lx0f>B^as*r9bJ<0clNMXTA zRgaXafU)kR>Wy^)xH+jNBpOAMhy|xrzWFYaTWVKIAqo>%Cl%rCwCeSRRTQY4R#VfA zGO0pLdRFB|2`S{qpCX?8v#K5uUQIwht48`=0Q9qJMy4@A(qVtelNXRlgnNlbS<=kZ zR#Uo$Pg_J5PFYPoS+cH7DArTmX$x!&3;<{B06@B)dgEjn0YJK*CMFrRmb7MSFHyRI z=R8Y(VZKDsvK%W|O-MIWp4&>Yiirvn%FV7a04O(8Z@g3n0Oe+y} zcbHHR!@Rz;f~e^F&I+QU>xIG;seoZ_;Y*$)4-~Y}@HA>fjByJMPa^;jTSUEPT1j;` zwO1+qE%!W6W<2n!=zu+k-9=KbQQes`*oX;$Q!fCJevNt)WL5wm{TlTp8*dOxTQ{|B zl)gz@2aYBg%2cB2U~HqFUebpyd~Bz>Gq|wf1AyZL02te;*NFlEd~B!beq*&g+C5DA z4j)xZ)+D?`Jt@XY8#PRAC#COWz!o;OPfciEOy)%Iq@GM;pj9nHINrs7v6$rN?Q-1# zhPz#EnE}AvE>Y$gRz^Kd`Y~<(38_dTYEP{Fn0gWoZu|6@+CED6^GBAD<|+H!EIq>6 zr&Ldtb%Kp70XSI#fYhh1TL5tTsc`$O!q?Xl}sRVCNBOYNseYgW9d)uT+o}KBkT=y8jgQ z^p;*Dh1b(mPnQy~kq`hUApmf4+TEo9;N-NJx@Oyn*VMkI^dCHFDOq>_*X}m;3hfJS zv0y_RfTIln+85kn0f6=eQLLA3?I=@gr}PS^%gFjE?bOp(#vLWJzjxz?4Q&99HUMaU z@5T)P+TV+~pSKzjZEDvk{Wou4MxL8`-7QJ9kiOxD4I9z`9BBZMzTt)q0Ma)^*tWE3 zYITe*W6U>4j4VI#D^l@L9Sc|86fTys@EE~{3jmG_0C2ICg^w8kaIuuZh1?b~rdH4B zTKKTG1uuP!=)83~2}aj5PrA|1+8i;$Q3KCeLGH|NaOD9*zJZ00UI379U?`4#4#tSH zrjf5&L2?H*b|#9$tC58dR;&ZDk>Oy)EkRrxVohy5qnr7+E66A2dWL;$|3t@%P+A!O zZU!mBxd;;}x3KW>1_076EW#N@0FZ8By)%p|E16gk(?(vhiae3O(TxePz?nBq&M*KF zH?m&6jeJSOfx3wwUquED+SHjS1UE6Sb190o4%AJoZ$D$VolKmmz0T-%K6*9zAo_KY zj9u3_k<1pJP>;H9aTNhWaSIDycK{%iEet=i{jE^qgv+fwR8MjWwst0p9Jaa*!8#DP ziiX%f3ULHEY-9Y`NHVULs4!8!ZEpDhKw%pT|2hDG!ZxAsjh#%qslCnUpD{7G;rYvE z&#r#D#vhs$^w)&uSA>Eyt7=02P_@6JvNGFWJ>UP-JiL{H{))N&;4}Dy_kdsC^G)%d z@>hs=lD{%&JtX+rQ6#0d%zczt7hv&<>gsZO+iUaxd$qRjqVdT5ZRW{{GzzUE$BXXl zU`@3xiBmg0P3(xB`#2V%f;-$E0D#U8=5?-#08qgl4A;bQQWp!}WqQC@;-AcaKb6GR zqF$9%^Mj9voZ8%48q~Pjbt-NHkZ?A7yfwVu#NzLGIYpgsSI>VY#K?{u%SD=lG`wMR<0k{JTGql<{3XfV&zP@tU#w zoq(7>WViv??M@Kw-ea|U;w|2t)UgPu?{QNH0GT~*y8)o`dqlf`ZV-xl_9qOFP5$T_ zGRyl3(_@S*9B|e(doMq{hV;wZ%cvcaeZAhxdYV>*_T_pni;Fjg2#Vef*9k`JHO9*h zDE;|E4a6|_F(bwpX(=L({Y)RiD-J1{{Qb`rlW%Jv5dmQ7Qcs)?`j|% zkoX(`8FICF1RY|T#g1t$A6|<26y?AroP!6-QyJfy; zM4N~g`R4M?e^-pbcF;`RZ``06MB3b-8ARGd(Dzt=vGxex*+|9&j<}&}pd4{S)j&DI z5UO40?j}9P^itt>D4)BQ7y+2QWsKcHJ;pMIIVPybSjlkdO*iQYrjO?DH00;DMz|LJ#myv9w&r1pgGv zE06^?OnQbt*+lyCd7mjh{dX5bUNWUJFo)><{2F|b2 zG7{tqEH&FPLB7Cp2g(+EO?r{(L&IAsPDbEG1o+_WCoe=Uy8Fosk&CQw2;Rb?V^Mf< zGd<`l=ez%@WbvXlB||nY3NrZQ?87L?Tw(>&WGqpTxx}Vd%4$TL^fKSIj*Q5;?1mo= z%4L?CBPr3KTxNkhW3=VjG-*2@&`in$?M&|{*O;KRvpdQi6O?u~_Fmbh7?WOM`eZ)g zrczR5@1qz*3C!th4ER@A_BhFp0sjh{Fv%Eixy1j+t}^{`eqabm;Ee~B2>#sn_PYad|CK-q=XNSi1@|7=B5-6k!vC)`)EkOWxV-i zY?$hWiq79SszgbZ1gP9_x4ifrxxq4q%1{!Za)T9@NR>pB-h|4Sz)hEt2*yp9kqE|3 z!LZNaB$NKg^kQ)iXYyaaO#FE;og+92)F0i`ED6*f+0bFeSgQ*@lP=Npa^GF{(0h+7 zDLkhIl>?e3@ADiKag+Dxb{Pw2+(t%mH$3GN^T0?i9xa zwN88RAvtv^CS9iKllZ`9Vo`hWqz$B30GLzn6!4d6+4o9*3i!*k@e?IK)uhWc{Vu^z z`cF6M>dyXkzUYJ!f2X|}(xHT}P9*72TJ1)X4yDyv>mN6gZ~OcQ DGkJ6v delta 4577 zcmYjUYjjn`8THJW@8meS$<3X-FL@C{KuO5W69@=Fq)1tSEEj5jDBW|;oO}5B?K^w#?=drH z?!T9(uX#GXZK3rho5$Ec-t74`W4rU%Yei~8AzQ`Xj`j=`vcIPFJXFpOQqRft9@q~TK7 z7MtloTngI)0Q5_`E%UrB!KL%9&D+#po@Bq0-`bH9F~O7NI=joZYJ7^dG+Yi70uIH? z;b;Ls@v>HY+*2g!Jj?kaweczT*qmp1q|&sQv|>AVg9#xgZZbRplbluO+E9ttQotl2Tp<`nwxhm~oGsilN z!9K}T+Y|u!NuJuK0KiXjbnmBLiD}YV&H2k*EqaIDeHXLSuzoeiSp0pOrVH%mZm1^QqRo)Yy#)epPnC*hGfky@#4_A9^nu=?69m#B0; z=poMpVHlW!Pm}`&N%rjHmF00IjDu=qMm9{?=A*6I5eQaYD8|1AX;!xppFJ1&P7Qd_i9YCj={1%SW; z04&-lb?*RxMH|7w9FA=1v=e`hRAK=uSJo1CU#y)XrDC{uM6$KRV)e)pc5VIQP!}+C z7gK7g0HC{=&>jCu%+@!~QuWaiRx@Vll|+4$Ev3|Di*+C_C0w?9{gLHJr<3?96uniI z&ShO{&pbA`C_@mQ200*i5>B@NInUAAB}pBb%bL}V&*9QcQtHyfk64|gj9_m9fK`&p zhlu;V;&OD3D@omaKf7lv#F>TetqhX|;4O%jnB5Hk3M*-Fxu`b^xOTf#AJXe>rPPIOdhOY}10Yh;erQSpU zptz3kK_20ylB+G(tGAzL)%EMIBne#D&m<^Pdx&C|w32 zlr~Xro*1nu?p4y+O#BNXHSwS|!kaZf*l#A0EpG5+5xqg~Xw}+hRj8f+vgCEOfw+Z> z4ZoEdab55mR8}8^@Op!qMv2Lu4vO7E?pS5@TFvU8FES^YWV{+snOU#P-a><$f)MmA zG^SZh^XQ0rRBe)dFVREp5VJ-<0(+=pToCF-G@(UI_b9lBw~{+a&H5IZA4sx_YJ?SL zEeCZg4ILkZpl+p!*PEiTAGfPA#ik^-hY1oW+rtD2lv!sXTeSyGByao-$~;q7;9JZ zUFyk|Y*+OgTI@KMg$@FyJ=*?BoUE(Pb!Irx-eUWfprAbJ)w03)IHkT zFFix@ed?VqHmQ1FIG_wr_EAO9;0#dq(fAfI-pe*q^8G5YinS#66W(Hey_ulwr{bz0 z1Z6+f)S8(_B|kv!nAEY!HG_?!O8gL)Hr2)OlE7L$SRB_wmeglWB!C5Z$H4ES;%dW>f!{}oIx)qw zl#+i;?oBFs*cxjFBat$&;f5f=|Cp|s7KGq`OfzmYgUOcs5V^PM-7#Kme~F1YguxKA zK|MrOHyLU+sE26QtzxEUog?`Xa_@~_uVRO-YBm2mD{aNWcA*+qvuHJbsWUYFF*-u^ zcLgC-j?j}^i$Q%hLQ_PKizVhq2x(^)Z|>F26eN-YJ@?~ zd7vH*bIt?xsLt6x_4$$?SFPP_diC+}wC00yoQ8}sZuy`br*Y#Ar9k2@IVi)_cipT! zaU$dufOjI~6@Yg_^ZX06Q1X-Hj?))tg;M=io_C9?j+Ys)!w=zvw^$uz|=Wc*TTa*jjg6b-vR2%&O{CQlW&c`Ab>KTYlr z<5N`I7goOd{urGvRf6e6H8lU8o|GtKe8VMli zcM-^EsOm;TE&}-s&Ai2I&tl2XlFE1m-J7|Vl_ky+{, } @@ -3482,6 +3482,12 @@ pub mod cellar_v2_5 { /// Represents function `forcePositionOut(uint32 index, uint32 positionId, bool inDebtArray)` #[prost(message, tag = "20")] ForcePositionOut(super::ForcePositionOut), + /// Represents function `setAlternativeAssetData(ERC20 _alternativeAsset, uint32 _alternativeHoldingPosition, uint32 _alternativeAssetFee)` + #[prost(message, tag = "21")] + SetAlternativeAssetData(super::SetAlternativeAssetData), + /// Represents function `setDropAlternativeAssetData(ERC20 _alternativeAsset)` + #[prost(message, tag = "22")] + DropAlternativeAssetData(super::DropAlternativeAssetData), } } /// @@ -3709,6 +3715,32 @@ pub mod cellar_v2_5 { #[prost(bool, tag = "3")] pub in_debt_array: bool, } + /// + /// Allows the strategist to add, or update an existing alternative asset deposit. + /// + /// Represents function `setAlternativeAssetData(ERC20 _alternativeAsset, uint32 _alternativeHoldingPosition, uint32 _alternativeAssetFee)` + #[derive(serde::Deserialize, serde::Serialize, Clone, PartialEq, ::prost::Message)] + pub struct SetAlternativeAssetData { + /// The address of the alternative asset + #[prost(string, tag = "1")] + pub alternative_asset: ::prost::alloc::string::String, + /// The holding position to direct alternative asset deposits to + #[prost(uint32, tag = "2")] + pub alternative_holding_position: u32, + /// The fee to charge for depositing this alternative asset + #[prost(uint32, tag = "3")] + pub alternative_asset_fee: u32, + } + /// + /// Allows the strategist to stop an alternative asset from being deposited. + /// + /// Represents function `dropAlternativeAssetData(ERC20 _alternativeAsset)` + #[derive(serde::Deserialize, serde::Serialize, Clone, PartialEq, ::prost::Message)] + pub struct DropAlternativeAssetData { + /// The address of the alternative asset + #[prost(string, tag = "1")] + pub alternative_asset: ::prost::alloc::string::String, + } #[derive(serde::Deserialize, serde::Serialize, Clone, PartialEq, ::prost::Oneof)] pub enum CallType { /// Represents a single function call @@ -3815,10 +3847,10 @@ pub mod adaptor_call { /// Represents function calls to the CollateralFTokenAdaptor V1 #[prost(message, tag = "27")] CollateralFTokenV1Calls(super::CollateralFTokenAdaptorV1Calls), - /// Represents flash loan function call for the AaveV3DebtTokenAdaptorV1 + /// Represents function call for the AaveV3DebtTokenAdaptorV1 #[prost(message, tag = "28")] AaveV3DebtTokenV1FlashLoanCalls(super::AaveV3DebtTokenAdaptorV1FlashLoanCalls), - /// Represents flash loan function call for the BalancerPoolAdaptorV1 + /// Represents function call for the BalancerPoolAdaptorV1 #[prost(message, tag = "29")] BalancerPoolV1FlashLoanCalls(super::BalancerPoolAdaptorV1FlashLoanCalls), /// Represents function calls for the ConvexCurveAdaptorV1