Compare commits

...

2 Commits

97 changed files with 341 additions and 295 deletions

View File

@ -1 +1 @@
{"rustc_fingerprint":14566014351902568225,"outputs":{"15729799797837862367":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.so\nlib___.so\nlib___.a\nlib___.so\n/home/runner/.rustup/toolchains/1.70-x86_64-unknown-linux-gnu\noff\npacked\nunpacked\n___\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"gnu\"\ntarget_family=\"unix\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"linux\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"unknown\"\nunix\n","stderr":""},"4614504638168534921":{"success":true,"status":"","code":0,"stdout":"rustc 1.70.0 (90c541806 2023-05-31)\nbinary: rustc\ncommit-hash: 90c541806f23a127002de5b4038be731ba1458ca\ncommit-date: 2023-05-31\nhost: x86_64-unknown-linux-gnu\nrelease: 1.70.0\nLLVM version: 16.0.2\n","stderr":""}},"successes":{}}
{"rustc_fingerprint":11542595770765508600,"outputs":{"15729799797837862367":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.so\nlib___.so\nlib___.a\nlib___.so\n/home/runner/.rustup/toolchains/1.70-x86_64-unknown-linux-gnu\noff\npacked\nunpacked\n___\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"gnu\"\ntarget_family=\"unix\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"linux\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"unknown\"\nunix\n","stderr":""},"4614504638168534921":{"success":true,"status":"","code":0,"stdout":"rustc 1.70.0 (90c541806 2023-05-31)\nbinary: rustc\ncommit-hash: 90c541806f23a127002de5b4038be731ba1458ca\ncommit-date: 2023-05-31\nhost: x86_64-unknown-linux-gnu\nrelease: 1.70.0\nLLVM version: 16.0.2\n","stderr":""}},"successes":{}}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `keypair_from_cli` fn in crate `mango_v4_client`."><title>keypair_from_cli in mango_v4_client - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ba5701c5741a7b69.css" id="mainThemeStyle"><div id="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="mango_v4_client" data-themes="" data-resource-suffix="" data-rustdoc-version="1.70.0 (90c541806 2023-05-31)" data-search-js="search-e077946657036a58.js" data-settings-js="settings-298e1ea74db45b39.js" data-settings-css="settings-7bfb4c59cc6bc502.css" data-theme-light-css="light-0f8c037637f9eb3e.css" data-theme-dark-css="dark-1097f8e92a01e3cf.css" data-theme-ayu-css="ayu-614652228113ac93.css" ></div><script src="../static.files/storage-62ce34ea385b278a.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f61008743c98d196.js"></script><noscript><link rel="stylesheet" media="(prefers-color-scheme:light)" href="../static.files/light-0f8c037637f9eb3e.css"><link rel="stylesheet" media="(prefers-color-scheme:dark)" href="../static.files/dark-1097f8e92a01e3cf.css"><link rel="stylesheet" href="../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../mango_v4_client/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2></h2></nav><nav class="sidebar"><a class="logo-container" href="../mango_v4_client/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><div class="sidebar-elems"><h2><a href="index.html">In mango_v4_client</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Function <a href="index.html">mango_v4_client</a>::<wbr><a class="fn" href="#">keypair_from_cli</a><button id="copy-path" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/mango_v4_client/client.rs.html#2686-2696">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub fn keypair_from_cli(keypair: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.70.0/std/primitive.str.html">str</a>) -&gt; Keypair</code></pre></section></div></main></body></html>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `keypair_from_cli` fn in crate `mango_v4_client`."><title>keypair_from_cli in mango_v4_client - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ba5701c5741a7b69.css" id="mainThemeStyle"><div id="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="mango_v4_client" data-themes="" data-resource-suffix="" data-rustdoc-version="1.70.0 (90c541806 2023-05-31)" data-search-js="search-e077946657036a58.js" data-settings-js="settings-298e1ea74db45b39.js" data-settings-css="settings-7bfb4c59cc6bc502.css" data-theme-light-css="light-0f8c037637f9eb3e.css" data-theme-dark-css="dark-1097f8e92a01e3cf.css" data-theme-ayu-css="ayu-614652228113ac93.css" ></div><script src="../static.files/storage-62ce34ea385b278a.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f61008743c98d196.js"></script><noscript><link rel="stylesheet" media="(prefers-color-scheme:light)" href="../static.files/light-0f8c037637f9eb3e.css"><link rel="stylesheet" media="(prefers-color-scheme:dark)" href="../static.files/dark-1097f8e92a01e3cf.css"><link rel="stylesheet" href="../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../mango_v4_client/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2></h2></nav><nav class="sidebar"><a class="logo-container" href="../mango_v4_client/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><div class="sidebar-elems"><h2><a href="index.html">In mango_v4_client</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Function <a href="index.html">mango_v4_client</a>::<wbr><a class="fn" href="#">keypair_from_cli</a><button id="copy-path" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/mango_v4_client/client.rs.html#2696-2706">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub fn keypair_from_cli(keypair: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.70.0/std/primitive.str.html">str</a>) -&gt; Keypair</code></pre></section></div></main></body></html>

View File

@ -1,4 +1,4 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Do some manual unpacking on some ClientErrors"><title>prettify_client_error in mango_v4_client - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ba5701c5741a7b69.css" id="mainThemeStyle"><div id="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="mango_v4_client" data-themes="" data-resource-suffix="" data-rustdoc-version="1.70.0 (90c541806 2023-05-31)" data-search-js="search-e077946657036a58.js" data-settings-js="settings-298e1ea74db45b39.js" data-settings-css="settings-7bfb4c59cc6bc502.css" data-theme-light-css="light-0f8c037637f9eb3e.css" data-theme-dark-css="dark-1097f8e92a01e3cf.css" data-theme-ayu-css="ayu-614652228113ac93.css" ></div><script src="../static.files/storage-62ce34ea385b278a.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f61008743c98d196.js"></script><noscript><link rel="stylesheet" media="(prefers-color-scheme:light)" href="../static.files/light-0f8c037637f9eb3e.css"><link rel="stylesheet" media="(prefers-color-scheme:dark)" href="../static.files/dark-1097f8e92a01e3cf.css"><link rel="stylesheet" href="../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../mango_v4_client/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2></h2></nav><nav class="sidebar"><a class="logo-container" href="../mango_v4_client/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><div class="sidebar-elems"><h2><a href="index.html">In mango_v4_client</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Function <a href="index.html">mango_v4_client</a>::<wbr><a class="fn" href="#">prettify_client_error</a><button id="copy-path" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/mango_v4_client/client.rs.html#2652-2657">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub fn prettify_client_error(err: ClientError) -&gt; <a class="struct" href="https://docs.rs/anyhow/1.0.75/anyhow/struct.Error.html" title="struct anyhow::Error">Error</a></code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Do some manual unpacking on some ClientErrors</p>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Do some manual unpacking on some ClientErrors"><title>prettify_client_error in mango_v4_client - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ba5701c5741a7b69.css" id="mainThemeStyle"><div id="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="mango_v4_client" data-themes="" data-resource-suffix="" data-rustdoc-version="1.70.0 (90c541806 2023-05-31)" data-search-js="search-e077946657036a58.js" data-settings-js="settings-298e1ea74db45b39.js" data-settings-css="settings-7bfb4c59cc6bc502.css" data-theme-light-css="light-0f8c037637f9eb3e.css" data-theme-dark-css="dark-1097f8e92a01e3cf.css" data-theme-ayu-css="ayu-614652228113ac93.css" ></div><script src="../static.files/storage-62ce34ea385b278a.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f61008743c98d196.js"></script><noscript><link rel="stylesheet" media="(prefers-color-scheme:light)" href="../static.files/light-0f8c037637f9eb3e.css"><link rel="stylesheet" media="(prefers-color-scheme:dark)" href="../static.files/dark-1097f8e92a01e3cf.css"><link rel="stylesheet" href="../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../mango_v4_client/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2></h2></nav><nav class="sidebar"><a class="logo-container" href="../mango_v4_client/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><div class="sidebar-elems"><h2><a href="index.html">In mango_v4_client</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Function <a href="index.html">mango_v4_client</a>::<wbr><a class="fn" href="#">prettify_client_error</a><button id="copy-path" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/mango_v4_client/client.rs.html#2662-2667">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub fn prettify_client_error(err: ClientError) -&gt; <a class="struct" href="https://docs.rs/anyhow/1.0.75/anyhow/struct.Error.html" title="struct anyhow::Error">Error</a></code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Do some manual unpacking on some ClientErrors</p>
<p>Unfortunately solanas RpcResponseError will very unhelpfully print [N log messages]
instead of showing the actual log messages. This unpacks the error to provide more useful
output.</p>

View File

@ -1 +1 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `prettify_solana_client_error` fn in crate `mango_v4_client`."><title>prettify_solana_client_error in mango_v4_client - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ba5701c5741a7b69.css" id="mainThemeStyle"><div id="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="mango_v4_client" data-themes="" data-resource-suffix="" data-rustdoc-version="1.70.0 (90c541806 2023-05-31)" data-search-js="search-e077946657036a58.js" data-settings-js="settings-298e1ea74db45b39.js" data-settings-css="settings-7bfb4c59cc6bc502.css" data-theme-light-css="light-0f8c037637f9eb3e.css" data-theme-dark-css="dark-1097f8e92a01e3cf.css" data-theme-ayu-css="ayu-614652228113ac93.css" ></div><script src="../static.files/storage-62ce34ea385b278a.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f61008743c98d196.js"></script><noscript><link rel="stylesheet" media="(prefers-color-scheme:light)" href="../static.files/light-0f8c037637f9eb3e.css"><link rel="stylesheet" media="(prefers-color-scheme:dark)" href="../static.files/dark-1097f8e92a01e3cf.css"><link rel="stylesheet" href="../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../mango_v4_client/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2></h2></nav><nav class="sidebar"><a class="logo-container" href="../mango_v4_client/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><div class="sidebar-elems"><h2><a href="index.html">In mango_v4_client</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Function <a href="index.html">mango_v4_client</a>::<wbr><a class="fn" href="#">prettify_solana_client_error</a><button id="copy-path" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/mango_v4_client/client.rs.html#2659-2678">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub fn prettify_solana_client_error(err: ClientError) -&gt; <a class="struct" href="https://docs.rs/anyhow/1.0.75/anyhow/struct.Error.html" title="struct anyhow::Error">Error</a></code></pre></section></div></main></body></html>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `prettify_solana_client_error` fn in crate `mango_v4_client`."><title>prettify_solana_client_error in mango_v4_client - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ba5701c5741a7b69.css" id="mainThemeStyle"><div id="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="mango_v4_client" data-themes="" data-resource-suffix="" data-rustdoc-version="1.70.0 (90c541806 2023-05-31)" data-search-js="search-e077946657036a58.js" data-settings-js="settings-298e1ea74db45b39.js" data-settings-css="settings-7bfb4c59cc6bc502.css" data-theme-light-css="light-0f8c037637f9eb3e.css" data-theme-dark-css="dark-1097f8e92a01e3cf.css" data-theme-ayu-css="ayu-614652228113ac93.css" ></div><script src="../static.files/storage-62ce34ea385b278a.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f61008743c98d196.js"></script><noscript><link rel="stylesheet" media="(prefers-color-scheme:light)" href="../static.files/light-0f8c037637f9eb3e.css"><link rel="stylesheet" media="(prefers-color-scheme:dark)" href="../static.files/dark-1097f8e92a01e3cf.css"><link rel="stylesheet" href="../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../mango_v4_client/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2></h2></nav><nav class="sidebar"><a class="logo-container" href="../mango_v4_client/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><div class="sidebar-elems"><h2><a href="index.html">In mango_v4_client</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Function <a href="index.html">mango_v4_client</a>::<wbr><a class="fn" href="#">prettify_solana_client_error</a><button id="copy-path" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/mango_v4_client/client.rs.html#2669-2688">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub fn prettify_solana_client_error(err: ClientError) -&gt; <a class="struct" href="https://docs.rs/anyhow/1.0.75/anyhow/struct.Error.html" title="struct anyhow::Error">Error</a></code></pre></section></div></main></body></html>

View File

@ -1 +1 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `pubkey_from_cli` fn in crate `mango_v4_client`."><title>pubkey_from_cli in mango_v4_client - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ba5701c5741a7b69.css" id="mainThemeStyle"><div id="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="mango_v4_client" data-themes="" data-resource-suffix="" data-rustdoc-version="1.70.0 (90c541806 2023-05-31)" data-search-js="search-e077946657036a58.js" data-settings-js="settings-298e1ea74db45b39.js" data-settings-css="settings-7bfb4c59cc6bc502.css" data-theme-light-css="light-0f8c037637f9eb3e.css" data-theme-dark-css="dark-1097f8e92a01e3cf.css" data-theme-ayu-css="ayu-614652228113ac93.css" ></div><script src="../static.files/storage-62ce34ea385b278a.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f61008743c98d196.js"></script><noscript><link rel="stylesheet" media="(prefers-color-scheme:light)" href="../static.files/light-0f8c037637f9eb3e.css"><link rel="stylesheet" media="(prefers-color-scheme:dark)" href="../static.files/dark-1097f8e92a01e3cf.css"><link rel="stylesheet" href="../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../mango_v4_client/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2></h2></nav><nav class="sidebar"><a class="logo-container" href="../mango_v4_client/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><div class="sidebar-elems"><h2><a href="index.html">In mango_v4_client</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Function <a href="index.html">mango_v4_client</a>::<wbr><a class="fn" href="#">pubkey_from_cli</a><button id="copy-path" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/mango_v4_client/client.rs.html#2698-2703">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub fn pubkey_from_cli(pubkey: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.70.0/std/primitive.str.html">str</a>) -&gt; Pubkey</code></pre></section></div></main></body></html>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `pubkey_from_cli` fn in crate `mango_v4_client`."><title>pubkey_from_cli in mango_v4_client - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ba5701c5741a7b69.css" id="mainThemeStyle"><div id="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="mango_v4_client" data-themes="" data-resource-suffix="" data-rustdoc-version="1.70.0 (90c541806 2023-05-31)" data-search-js="search-e077946657036a58.js" data-settings-js="settings-298e1ea74db45b39.js" data-settings-css="settings-7bfb4c59cc6bc502.css" data-theme-light-css="light-0f8c037637f9eb3e.css" data-theme-dark-css="dark-1097f8e92a01e3cf.css" data-theme-ayu-css="ayu-614652228113ac93.css" ></div><script src="../static.files/storage-62ce34ea385b278a.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f61008743c98d196.js"></script><noscript><link rel="stylesheet" media="(prefers-color-scheme:light)" href="../static.files/light-0f8c037637f9eb3e.css"><link rel="stylesheet" media="(prefers-color-scheme:dark)" href="../static.files/dark-1097f8e92a01e3cf.css"><link rel="stylesheet" href="../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../mango_v4_client/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2></h2></nav><nav class="sidebar"><a class="logo-container" href="../mango_v4_client/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><div class="sidebar-elems"><h2><a href="index.html">In mango_v4_client</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Function <a href="index.html">mango_v4_client</a>::<wbr><a class="fn" href="#">pubkey_from_cli</a><button id="copy-path" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/mango_v4_client/client.rs.html#2708-2713">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub fn pubkey_from_cli(pubkey: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.70.0/std/primitive.str.html">str</a>) -&gt; Pubkey</code></pre></section></div></main></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `SimulateTransactionResponse` type in crate `mango_v4_client`."><title>SimulateTransactionResponse in mango_v4_client - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ba5701c5741a7b69.css" id="mainThemeStyle"><div id="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="mango_v4_client" data-themes="" data-resource-suffix="" data-rustdoc-version="1.70.0 (90c541806 2023-05-31)" data-search-js="search-e077946657036a58.js" data-settings-js="settings-298e1ea74db45b39.js" data-settings-css="settings-7bfb4c59cc6bc502.css" data-theme-light-css="light-0f8c037637f9eb3e.css" data-theme-dark-css="dark-1097f8e92a01e3cf.css" data-theme-ayu-css="ayu-614652228113ac93.css" ></div><script src="../static.files/storage-62ce34ea385b278a.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f61008743c98d196.js"></script><noscript><link rel="stylesheet" media="(prefers-color-scheme:light)" href="../static.files/light-0f8c037637f9eb3e.css"><link rel="stylesheet" media="(prefers-color-scheme:dark)" href="../static.files/dark-1097f8e92a01e3cf.css"><link rel="stylesheet" href="../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc type"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../mango_v4_client/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2></h2></nav><nav class="sidebar"><a class="logo-container" href="../mango_v4_client/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">SimulateTransactionResponse</a></h2><div class="sidebar-elems"><h2><a href="index.html">In mango_v4_client</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Type Definition <a href="index.html">mango_v4_client</a>::<wbr><a class="type" href="#">SimulateTransactionResponse</a><button id="copy-path" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/mango_v4_client/client.rs.html#2513-2514">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub type SimulateTransactionResponse = Response&lt;RpcSimulateTransactionResult&gt;;</code></pre></section></div></main></body></html>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `SimulateTransactionResponse` type in crate `mango_v4_client`."><title>SimulateTransactionResponse in mango_v4_client - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ba5701c5741a7b69.css" id="mainThemeStyle"><div id="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="mango_v4_client" data-themes="" data-resource-suffix="" data-rustdoc-version="1.70.0 (90c541806 2023-05-31)" data-search-js="search-e077946657036a58.js" data-settings-js="settings-298e1ea74db45b39.js" data-settings-css="settings-7bfb4c59cc6bc502.css" data-theme-light-css="light-0f8c037637f9eb3e.css" data-theme-dark-css="dark-1097f8e92a01e3cf.css" data-theme-ayu-css="ayu-614652228113ac93.css" ></div><script src="../static.files/storage-62ce34ea385b278a.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f61008743c98d196.js"></script><noscript><link rel="stylesheet" media="(prefers-color-scheme:light)" href="../static.files/light-0f8c037637f9eb3e.css"><link rel="stylesheet" media="(prefers-color-scheme:dark)" href="../static.files/dark-1097f8e92a01e3cf.css"><link rel="stylesheet" href="../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc type"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../mango_v4_client/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2></h2></nav><nav class="sidebar"><a class="logo-container" href="../mango_v4_client/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">SimulateTransactionResponse</a></h2><div class="sidebar-elems"><h2><a href="index.html">In mango_v4_client</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Type Definition <a href="index.html">mango_v4_client</a>::<wbr><a class="type" href="#">SimulateTransactionResponse</a><button id="copy-path" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/mango_v4_client/client.rs.html#2523-2524">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub type SimulateTransactionResponse = Response&lt;RpcSimulateTransactionResult&gt;;</code></pre></section></div></main></body></html>

File diff suppressed because one or more lines are too long

View File

@ -2701,6 +2701,16 @@
<a href="#2701" id="2701">2701</a>
<a href="#2702" id="2702">2702</a>
<a href="#2703" id="2703">2703</a>
<a href="#2704" id="2704">2704</a>
<a href="#2705" id="2705">2705</a>
<a href="#2706" id="2706">2706</a>
<a href="#2707" id="2707">2707</a>
<a href="#2708" id="2708">2708</a>
<a href="#2709" id="2709">2709</a>
<a href="#2710" id="2710">2710</a>
<a href="#2711" id="2711">2711</a>
<a href="#2712" id="2712">2712</a>
<a href="#2713" id="2713">2713</a>
</pre></div><pre class="rust"><code><span class="kw">use </span>anchor_client::ClientError::AnchorError;
<span class="kw">use </span>std::ops::Deref;
<span class="kw">use </span>std::str::FromStr;
@ -2976,7 +2986,7 @@
// call to refresh banks etc -- if it&#39;s backed by websockets, these could just do nothing
</span><span class="kw">pub </span>account_fetcher: Arc&lt;<span class="kw">dyn </span>AccountFetcher&gt;,
<span class="kw">pub </span>owner: Arc&lt;Keypair&gt;,
<span class="kw">pub </span>authority: Arc&lt;Keypair&gt;,
<span class="kw">pub </span>mango_account_address: Pubkey,
<span class="kw">pub </span>context: MangoGroupContext,
@ -3109,7 +3119,7 @@
</span><span class="kw">pub async fn </span>new_for_existing_account(
client: Client,
account: Pubkey,
owner: Arc&lt;Keypair&gt;,
authority: Arc&lt;Keypair&gt;,
) -&gt; anyhow::Result&lt;<span class="self">Self</span>&gt; {
<span class="kw">let </span>rpc = client.new_rpc_async();
<span class="kw">let </span>account_fetcher = Arc::new(CachedAccountFetcher::new(Arc::new(RpcAccountFetcher {
@ -3118,25 +3128,25 @@
<span class="kw">let </span>mango_account =
account_fetcher_fetch_mango_account(<span class="kw-2">&amp;*</span>account_fetcher, <span class="kw-2">&amp;</span>account).<span class="kw">await</span><span class="question-mark">?</span>;
<span class="kw">let </span>group = mango_account.fixed.group;
<span class="kw">if </span>mango_account.fixed.owner != owner.pubkey() {
<span class="kw">if </span>mango_account.fixed.owner != authority.pubkey() {
<span class="macro">anyhow::bail!</span>(
<span class="string">&quot;bad owner for account: expected {} got {}&quot;</span>,
mango_account.fixed.owner,
owner.pubkey()
authority.pubkey()
);
}
<span class="kw">let </span>rpc = client.rpc_async();
<span class="kw">let </span>group_context = MangoGroupContext::new_from_rpc(<span class="kw-2">&amp;</span>rpc, group).<span class="kw">await</span><span class="question-mark">?</span>;
<span class="self">Self</span>::new_detail(client, account, owner, group_context, account_fetcher)
<span class="self">Self</span>::new_detail(client, account, authority, group_context, account_fetcher)
}
<span class="doccomment">/// Allows control of AccountFetcher and externally created MangoGroupContext
</span><span class="kw">pub fn </span>new_detail(
client: Client,
account: Pubkey,
owner: Arc&lt;Keypair&gt;,
authority: Arc&lt;Keypair&gt;,
<span class="comment">// future: maybe pass Arc&lt;MangoGroupContext&gt;, so it can be extenally updated?
</span>group_context: MangoGroupContext,
account_fetcher: Arc&lt;<span class="kw">dyn </span>AccountFetcher&gt;,
@ -3144,15 +3154,15 @@
<span class="prelude-val">Ok</span>(<span class="self">Self </span>{
client,
account_fetcher,
owner,
authority,
mango_account_address: account,
context: group_context,
http_client: reqwest::Client::new(),
})
}
<span class="kw">pub fn </span>owner(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; Pubkey {
<span class="self">self</span>.owner.pubkey()
<span class="kw">pub fn </span>authority(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; Pubkey {
<span class="self">self</span>.authority.pubkey()
}
<span class="kw">pub fn </span>group(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; Pubkey {
@ -3257,12 +3267,15 @@
<span class="kw-2">&amp;</span>mango_v4::accounts::TokenDeposit {
group: <span class="self">self</span>.group(),
account: <span class="self">self</span>.mango_account_address,
owner: <span class="self">self</span>.owner(),
owner: <span class="self">self</span>.authority(),
bank: token.first_bank(),
vault: token.first_vault(),
oracle: token.oracle,
token_account: get_associated_token_address(<span class="kw-2">&amp;</span><span class="self">self</span>.owner(), <span class="kw-2">&amp;</span>token.mint),
token_authority: <span class="self">self</span>.owner(),
token_account: get_associated_token_address(
<span class="kw-2">&amp;</span><span class="self">self</span>.authority(),
<span class="kw-2">&amp;</span>token.mint,
),
token_authority: <span class="self">self</span>.authority(),
token_program: Token::id(),
},
<span class="prelude-val">None</span>,
@ -3277,7 +3290,8 @@
},
<span class="self">self</span>.instruction_cu(health_cu),
);
<span class="self">self</span>.send_and_confirm_owner_tx(ixs.to_instructions()).<span class="kw">await
<span class="self">self</span>.send_and_confirm_authority_tx(ixs.to_instructions())
.<span class="kw">await
</span>}
<span class="doccomment">/// Assert that health of account is &gt; N
@ -3370,8 +3384,8 @@
<span class="kw">let </span>ixs = PreparedInstructions::from_vec(
<span class="macro">vec!</span>[
spl_associated_token_account::instruction::create_associated_token_account_idempotent(
<span class="kw-2">&amp;</span><span class="self">self</span>.owner(),
<span class="kw-2">&amp;</span><span class="self">self</span>.owner(),
<span class="kw-2">&amp;</span><span class="self">self</span>.authority(),
<span class="kw-2">&amp;</span>account.fixed.owner,
<span class="kw-2">&amp;</span>mint,
<span class="kw-2">&amp;</span>Token::id(),
),
@ -3382,12 +3396,12 @@
<span class="kw-2">&amp;</span>mango_v4::accounts::TokenWithdraw {
group: <span class="self">self</span>.group(),
account: <span class="self">self</span>.mango_account_address,
owner: <span class="self">self</span>.owner(),
owner: <span class="self">self</span>.authority(),
bank: token.first_bank(),
vault: token.first_vault(),
oracle: token.oracle,
token_account: get_associated_token_address(
<span class="kw-2">&amp;</span><span class="self">self</span>.owner(),
<span class="kw-2">&amp;</span>account.fixed.owner,
<span class="kw-2">&amp;</span>token.mint,
),
token_program: Token::id(),
@ -3418,7 +3432,8 @@
<span class="kw">let </span>ixs = <span class="self">self
</span>.token_withdraw_instructions(<span class="kw-2">&amp;</span>account, mint, amount, allow_borrow)
.<span class="kw">await</span><span class="question-mark">?</span>;
<span class="self">self</span>.send_and_confirm_owner_tx(ixs.to_instructions()).<span class="kw">await
<span class="self">self</span>.send_and_confirm_authority_tx(ixs.to_instructions())
.<span class="kw">await
</span>}
<span class="kw">pub async fn </span>bank_oracle_price(<span class="kw-2">&amp;</span><span class="self">self</span>, token_index: TokenIndex) -&gt; anyhow::Result&lt;I80F48&gt; {
@ -3470,8 +3485,8 @@
serum_program: s3.serum_program,
serum_market_external: s3.serum_market_external,
open_orders,
owner: <span class="self">self</span>.owner(),
sol_destination: <span class="self">self</span>.owner(),
owner: <span class="self">self</span>.authority(),
sol_destination: <span class="self">self</span>.authority(),
},
<span class="prelude-val">None</span>,
),
@ -3486,7 +3501,8 @@
<span class="kw">pub async fn </span>serum3_close_open_orders(<span class="kw-2">&amp;</span><span class="self">self</span>, name: <span class="kw-2">&amp;</span>str) -&gt; anyhow::Result&lt;Signature&gt; {
<span class="kw">let </span>market_index = <span class="self">self</span>.context.serum3_market_index(name);
<span class="kw">let </span>ix = <span class="self">self</span>.serum3_close_open_orders_instruction(market_index);
<span class="self">self</span>.send_and_confirm_owner_tx(ix.to_instructions()).<span class="kw">await
<span class="self">self</span>.send_and_confirm_authority_tx(ix.to_instructions())
.<span class="kw">await
</span>}
<span class="kw">pub fn </span>serum3_create_open_orders_instruction(
@ -3508,8 +3524,8 @@
serum_program: s3.serum_program,
serum_market_external: s3.serum_market_external,
open_orders,
owner: <span class="self">self</span>.owner(),
payer: <span class="self">self</span>.owner(),
owner: <span class="self">self</span>.authority(),
payer: <span class="self">self</span>.authority(),
system_program: System::id(),
rent: sysvar::rent::id(),
},
@ -3541,7 +3557,7 @@
<span class="kw">pub async fn </span>serum3_create_open_orders(<span class="kw-2">&amp;</span><span class="self">self</span>, name: <span class="kw-2">&amp;</span>str) -&gt; anyhow::Result&lt;Signature&gt; {
<span class="kw">let </span>market_index = <span class="self">self</span>.context.serum3_market_index(name);
<span class="kw">let </span>ix = <span class="self">self</span>.serum3_create_open_orders_instruction(market_index);
<span class="self">self</span>.send_and_confirm_owner_tx(<span class="macro">vec!</span>[ix]).<span class="kw">await
<span class="self">self</span>.send_and_confirm_authority_tx(<span class="macro">vec!</span>[ix]).<span class="kw">await
</span>}
<span class="attr">#[allow(clippy::too_many_arguments)]
@ -3599,7 +3615,7 @@
market_base_vault: s3.coin_vault,
market_quote_vault: s3.pc_vault,
market_vault_signer: s3.vault_signer,
owner: <span class="self">self</span>.owner(),
owner: <span class="self">self</span>.authority(),
token_program: Token::id(),
},
<span class="prelude-val">None</span>,
@ -3862,7 +3878,8 @@
<span class="kw">let </span><span class="kw-2">mut </span>ixs = PreparedInstructions::new();
ixs.append(create_or_replace_ixs);
ixs.append(place_order_ixs);
<span class="self">self</span>.send_and_confirm_owner_tx(ixs.to_instructions()).<span class="kw">await
<span class="self">self</span>.send_and_confirm_authority_tx(ixs.to_instructions())
.<span class="kw">await
</span>}
<span class="kw">pub async fn </span>serum3_settle_funds(<span class="kw-2">&amp;</span><span class="self">self</span>, name: <span class="kw-2">&amp;</span>str) -&gt; anyhow::Result&lt;Signature&gt; {
@ -3875,7 +3892,8 @@
<span class="kw">let </span>open_orders = account.serum3_orders(market_index).unwrap().open_orders;
<span class="kw">let </span>ix = <span class="self">self</span>.serum3_settle_funds_instruction(s3, base, quote, open_orders);
<span class="self">self</span>.send_and_confirm_owner_tx(ix.to_instructions()).<span class="kw">await
<span class="self">self</span>.send_and_confirm_authority_tx(ix.to_instructions())
.<span class="kw">await
</span>}
<span class="kw">pub fn </span>serum3_settle_funds_instruction(
@ -3903,7 +3921,7 @@
market_base_vault: s3.coin_vault,
market_quote_vault: s3.pc_vault,
market_vault_signer: s3.vault_signer,
owner: <span class="self">self</span>.owner(),
owner: <span class="self">self</span>.authority(),
token_program: Token::id(),
},
v2: mango_v4::accounts::Serum3SettleFundsV2Extra {
@ -3947,7 +3965,7 @@
serum_market: s3.address,
serum_program: s3.serum_program,
serum_market_external: s3.serum_market_external,
owner: <span class="self">self</span>.owner(),
owner: <span class="self">self</span>.authority(),
},
<span class="prelude-val">None</span>,
),
@ -4068,7 +4086,7 @@
accounts: {
<span class="kw">let </span><span class="kw-2">mut </span>ams = anchor_lang::ToAccountMetas::to_account_metas(
<span class="kw-2">&amp;</span>mango_v4::accounts::OpenbookV2LiqForceCancelOrders {
payer: <span class="self">self</span>.owner(),
payer: <span class="self">self</span>.authority(),
group: <span class="self">self</span>.group(),
account: <span class="kw-2">*</span>liqee.<span class="number">0</span>,
open_orders: <span class="kw-2">*</span>open_orders,
@ -4142,7 +4160,7 @@
market_bids: s3.bids,
market_asks: s3.asks,
market_event_queue: s3.event_q,
owner: <span class="self">self</span>.owner(),
owner: <span class="self">self</span>.authority(),
},
<span class="prelude-val">None</span>,
)
@ -4152,7 +4170,7 @@
order_id,
}),
};
<span class="self">self</span>.send_and_confirm_owner_tx(<span class="macro">vec!</span>[ix]).<span class="kw">await
<span class="self">self</span>.send_and_confirm_authority_tx(<span class="macro">vec!</span>[ix]).<span class="kw">await
</span>}
<span class="comment">//
@ -4205,7 +4223,7 @@
<span class="kw-2">&amp;</span>mango_v4::accounts::PerpPlaceOrder {
group: <span class="self">self</span>.group(),
account: <span class="self">self</span>.mango_account_address,
owner: <span class="self">self</span>.owner(),
owner: <span class="self">self</span>.authority(),
perp_market: perp.address,
bids: perp.bids,
asks: perp.asks,
@ -4310,7 +4328,8 @@
self_trade_behavior,
)
.<span class="kw">await</span><span class="question-mark">?</span>;
<span class="self">self</span>.send_and_confirm_owner_tx(ixs.to_instructions()).<span class="kw">await
<span class="self">self</span>.send_and_confirm_authority_tx(ixs.to_instructions())
.<span class="kw">await
</span>}
<span class="kw">pub fn </span>perp_cancel_all_orders_instruction(
@ -4328,7 +4347,7 @@
<span class="kw-2">&amp;</span>mango_v4::accounts::PerpCancelAllOrders {
group: <span class="self">self</span>.group(),
account: <span class="self">self</span>.mango_account_address,
owner: <span class="self">self</span>.owner(),
owner: <span class="self">self</span>.authority(),
perp_market: perp.address,
bids: perp.bids,
asks: perp.asks,
@ -4353,7 +4372,8 @@
<span class="kw">let </span>ixs = <span class="self">self
</span>.perp_deactivate_position_instruction(market_index)
.<span class="kw">await</span><span class="question-mark">?</span>;
<span class="self">self</span>.send_and_confirm_owner_tx(ixs.to_instructions()).<span class="kw">await
<span class="self">self</span>.send_and_confirm_authority_tx(ixs.to_instructions())
.<span class="kw">await
</span>}
<span class="kw">async fn </span>perp_deactivate_position_instruction(
@ -4370,7 +4390,7 @@
<span class="kw-2">&amp;</span>mango_v4::accounts::PerpDeactivatePosition {
group: <span class="self">self</span>.group(),
account: <span class="self">self</span>.mango_account_address,
owner: <span class="self">self</span>.owner(),
owner: <span class="self">self</span>.authority(),
perp_market: perp.address,
},
<span class="prelude-val">None</span>,
@ -4413,7 +4433,7 @@
<span class="kw-2">&amp;</span>mango_v4::accounts::PerpSettlePnl {
group: <span class="self">self</span>.group(),
settler: <span class="self">self</span>.mango_account_address,
settler_owner: <span class="self">self</span>.owner(),
settler_owner: <span class="self">self</span>.authority(),
perp_market: perp.address,
account_a: <span class="kw-2">*</span>account_a.<span class="number">0</span>,
account_b: <span class="kw-2">*</span>account_b.<span class="number">0</span>,
@ -4517,7 +4537,7 @@
perp_market: perp.address,
oracle: perp.oracle,
liqor: <span class="self">self</span>.mango_account_address,
liqor_owner: <span class="self">self</span>.owner(),
liqor_owner: <span class="self">self</span>.authority(),
liqee: <span class="kw-2">*</span>liqee.<span class="number">0</span>,
settle_bank: settle_token_info.first_bank(),
settle_vault: settle_token_info.first_vault(),
@ -4577,7 +4597,7 @@
perp_market: perp.address,
oracle: perp.oracle,
liqor: <span class="self">self</span>.mango_account_address,
liqor_owner: <span class="self">self</span>.owner(),
liqor_owner: <span class="self">self</span>.authority(),
liqee: <span class="kw-2">*</span>liqee.<span class="number">0</span>,
settle_bank: settle_token_info.first_bank(),
settle_vault: settle_token_info.first_vault(),
@ -4685,7 +4705,7 @@
group: <span class="self">self</span>.group(),
liqee: <span class="kw-2">*</span>liqee.<span class="number">0</span>,
liqor: <span class="self">self</span>.mango_account_address,
liqor_owner: <span class="self">self</span>.owner(),
liqor_owner: <span class="self">self</span>.authority(),
},
<span class="prelude-val">None</span>,
);
@ -4745,7 +4765,7 @@
group: <span class="self">self</span>.group(),
liqee: <span class="kw-2">*</span>liqee.<span class="number">0</span>,
liqor: <span class="self">self</span>.mango_account_address,
liqor_owner: <span class="self">self</span>.owner(),
liqor_owner: <span class="self">self</span>.authority(),
liab_mint_info: liab_info.mint_info_address,
quote_vault: insurance_info.first_vault(),
insurance_vault: group.insurance_vault,
@ -4805,7 +4825,7 @@
group: <span class="self">self</span>.group(),
liqee: <span class="kw-2">*</span>liqee.<span class="number">0</span>,
liqor: <span class="self">self</span>.mango_account_address,
liqor_authority: <span class="self">self</span>.owner(),
liqor_authority: <span class="self">self</span>.authority(),
},
<span class="prelude-val">None</span>,
);
@ -4852,7 +4872,7 @@
group: <span class="self">self</span>.group(),
liqee: <span class="kw-2">*</span>account.<span class="number">0</span>,
liqor: <span class="self">self</span>.mango_account_address,
liqor_authority: <span class="self">self</span>.owner(),
liqor_authority: <span class="self">self</span>.authority(),
},
<span class="prelude-val">None</span>,
);
@ -5056,7 +5076,7 @@
<span class="self">self</span>.context.compute_estimates.cu_per_mango_instruction + health_cu
}
<span class="kw">pub async fn </span>send_and_confirm_owner_tx(
<span class="kw">pub async fn </span>send_and_confirm_authority_tx(
<span class="kw-2">&amp;</span><span class="self">self</span>,
instructions: Vec&lt;Instruction&gt;,
) -&gt; anyhow::Result&lt;Signature&gt; {
@ -5064,7 +5084,7 @@
instructions,
..<span class="self">self</span>.transaction_builder().<span class="kw">await</span><span class="question-mark">?
</span>};
tx_builder.signers.push(<span class="self">self</span>.owner.clone());
tx_builder.signers.push(<span class="self">self</span>.authority.clone());
tx_builder.send_and_confirm(<span class="kw-2">&amp;</span><span class="self">self</span>.client).<span class="kw">await
</span>}

View File

@ -815,6 +815,14 @@
<a href="#815" id="815">815</a>
<a href="#816" id="816">816</a>
<a href="#817" id="817">817</a>
<a href="#818" id="818">818</a>
<a href="#819" id="819">819</a>
<a href="#820" id="820">820</a>
<a href="#821" id="821">821</a>
<a href="#822" id="822">822</a>
<a href="#823" id="823">823</a>
<a href="#824" id="824">824</a>
<a href="#825" id="825">825</a>
</pre></div><pre class="rust"><code><span class="kw">use </span>std::collections::HashMap;
<span class="kw">use </span>anchor_client::ClientError;
@ -962,6 +970,10 @@
<span class="kw">pub </span>cu_per_charge_collateral_fees_token: u32,
<span class="kw">pub </span>cu_for_sequence_check: u32,
<span class="kw">pub </span>cu_per_associated_token_account_creation: u32,
<span class="kw">pub </span>cu_perp_update_funding: u32,
<span class="kw">pub </span>cu_perp_consume_events_base: u32,
<span class="kw">pub </span>cu_perp_consume_events_per_event: u32,
<span class="kw">pub </span>cu_token_update_index_and_rates: u32,
}
<span class="kw">impl </span>Default <span class="kw">for </span>ComputeEstimates {
@ -990,6 +1002,10 @@
<span class="comment">// measured around 8k, see test_basics
</span>cu_for_sequence_check: <span class="number">10_000</span>,
cu_per_associated_token_account_creation: <span class="number">21_000</span>,
cu_perp_update_funding: <span class="number">40_000</span>,
cu_perp_consume_events_base: <span class="number">10_000</span>,
cu_perp_consume_events_per_event: <span class="number">18_000</span>,
cu_token_update_index_and_rates: <span class="number">90_000</span>,
}
}
}

View File

@ -653,14 +653,14 @@
.map(util::to_writable_account_meta)
.collect::&lt;Vec&lt;<span class="kw">_</span>&gt;&gt;();
<span class="kw">let </span>owner = <span class="self">self</span>.mango_client.owner();
<span class="kw">let </span>authority = <span class="self">self</span>.mango_client.authority();
<span class="kw">let </span>account = <span class="kw-2">&amp;</span><span class="self">self</span>.mango_client.mango_account().<span class="kw">await</span><span class="question-mark">?</span>;
<span class="kw">let </span>token_ams = [source_token.mint, target_token.mint]
.into_iter()
.map(|mint| {
util::to_writable_account_meta(
anchor_spl::associated_token::get_associated_token_address(<span class="kw-2">&amp;</span>owner, <span class="kw-2">&amp;</span>mint),
anchor_spl::associated_token::get_associated_token_address(<span class="kw-2">&amp;</span>authority, <span class="kw-2">&amp;</span>mint),
)
})
.collect::&lt;Vec&lt;<span class="kw">_</span>&gt;&gt;();
@ -697,7 +697,7 @@
.post(<span class="macro">format!</span>(<span class="string">&quot;{}/swap-instructions&quot;</span>, config.jupiter_v6_url))
.query(<span class="kw-2">&amp;</span>query_args)
.json(<span class="kw-2">&amp;</span>SwapRequest {
user_public_key: owner.to_string(),
user_public_key: authority.to_string(),
wrap_and_unwrap_sol: <span class="bool-val">false</span>,
use_shared_accounts: <span class="bool-val">true</span>,
fee_account: <span class="prelude-val">None</span>,
@ -728,8 +728,8 @@
<span class="comment">// Ensure the source token account is created (jupiter takes care of the output account)
</span>instructions.push(
spl_associated_token_account::instruction::create_associated_token_account_idempotent(
<span class="kw-2">&amp;</span>owner,
<span class="kw-2">&amp;</span>owner,
<span class="kw-2">&amp;</span>authority,
<span class="kw-2">&amp;</span>authority,
<span class="kw-2">&amp;</span>source_token.mint,
<span class="kw-2">&amp;</span>Token::id(),
),
@ -741,7 +741,7 @@
<span class="kw">let </span><span class="kw-2">mut </span>ams = anchor_lang::ToAccountMetas::to_account_metas(
<span class="kw-2">&amp;</span>mango_v4::accounts::FlashLoanBegin {
account: <span class="self">self</span>.mango_client.mango_account_address,
owner,
owner: authority,
token_program: Token::id(),
instructions: solana_sdk::sysvar::instructions::id(),
},
@ -764,7 +764,7 @@
<span class="kw">let </span><span class="kw-2">mut </span>ams = anchor_lang::ToAccountMetas::to_account_metas(
<span class="kw-2">&amp;</span>mango_v4::accounts::FlashLoanEnd {
account: <span class="self">self</span>.mango_client.mango_account_address,
owner,
owner: authority,
token_program: Token::id(),
},
<span class="prelude-val">None</span>,
@ -799,13 +799,13 @@
.<span class="kw">await</span><span class="question-mark">?</span>;
address_lookup_tables.extend(jup_alts.into_iter());
<span class="kw">let </span>payer = owner; <span class="comment">// maybe use fee_payer? but usually it&#39;s the same
<span class="kw">let </span>payer = authority; <span class="comment">// maybe use fee_payer? but usually it&#39;s the same
</span><span class="prelude-val">Ok</span>(TransactionBuilder {
instructions,
address_lookup_tables,
payer,
signers: <span class="macro">vec!</span>[<span class="self">self</span>.mango_client.owner.clone()],
signers: <span class="macro">vec!</span>[<span class="self">self</span>.mango_client.authority.clone()],
config: <span class="self">self
</span>.mango_client
.client

View File

@ -530,14 +530,14 @@
.map(util::to_writable_account_meta)
.collect::&lt;Vec&lt;<span class="kw">_</span>&gt;&gt;();
<span class="kw">let </span>owner = <span class="self">self</span>.mango_client.owner();
<span class="kw">let </span>authority = <span class="self">self</span>.mango_client.authority();
<span class="kw">let </span>account = <span class="kw-2">&amp;</span><span class="self">self</span>.mango_client.mango_account().<span class="kw">await</span><span class="question-mark">?</span>;
<span class="kw">let </span>token_ams = [source_token.mint, target_token.mint]
.into_iter()
.map(|mint| {
util::to_writable_account_meta(
anchor_spl::associated_token::get_associated_token_address(<span class="kw-2">&amp;</span>owner, <span class="kw-2">&amp;</span>mint),
anchor_spl::associated_token::get_associated_token_address(<span class="kw-2">&amp;</span>authority, <span class="kw-2">&amp;</span>mint),
)
})
.collect::&lt;Vec&lt;<span class="kw">_</span>&gt;&gt;();
@ -582,7 +582,7 @@
input: input_mint.to_string(),
mode: <span class="string">&quot;ExactIn&quot;</span>.to_string(),
output_lst_mint: output_mint.to_string(),
signer: owner.to_string(),
signer: authority.to_string(),
swap_src: quote.swap_src.clone(),
})
.timeout(<span class="self">self</span>.timeout_duration)
@ -650,8 +650,8 @@
<span class="comment">// Ensure the source token account is created (sanctum takes care of the output account)
</span>instructions.push(
spl_associated_token_account::instruction::create_associated_token_account_idempotent(
<span class="kw-2">&amp;</span>owner,
<span class="kw-2">&amp;</span>owner,
<span class="kw-2">&amp;</span>authority,
<span class="kw-2">&amp;</span>authority,
<span class="kw-2">&amp;</span>source_token.mint,
<span class="kw-2">&amp;</span>Token::id(),
),
@ -663,7 +663,7 @@
<span class="kw">let </span><span class="kw-2">mut </span>ams = anchor_lang::ToAccountMetas::to_account_metas(
<span class="kw-2">&amp;</span>mango_v4::accounts::FlashLoanBegin {
account: <span class="self">self</span>.mango_client.mango_account_address,
owner,
owner: authority,
token_program: Token::id(),
instructions: solana_sdk::sysvar::instructions::id(),
},
@ -690,7 +690,7 @@
<span class="kw">let </span><span class="kw-2">mut </span>ams = anchor_lang::ToAccountMetas::to_account_metas(
<span class="kw-2">&amp;</span>mango_v4::accounts::FlashLoanEnd {
account: <span class="self">self</span>.mango_client.mango_account_address,
owner,
owner: authority,
token_program: Token::id(),
},
<span class="prelude-val">None</span>,
@ -714,13 +714,13 @@
<span class="kw">let </span><span class="kw-2">mut </span>address_lookup_tables = <span class="self">self</span>.mango_client.mango_address_lookup_tables().<span class="kw">await</span><span class="question-mark">?</span>;
address_lookup_tables.extend(sanctum_alts.into_iter());
<span class="kw">let </span>payer = owner; <span class="comment">// maybe use fee_payer? but usually it&#39;s the same
<span class="kw">let </span>payer = authority; <span class="comment">// maybe use fee_payer? but usually it&#39;s the same
</span><span class="prelude-val">Ok</span>(TransactionBuilder {
instructions,
address_lookup_tables,
payer,
signers: <span class="macro">vec!</span>[<span class="self">self</span>.mango_client.owner.clone()],
signers: <span class="macro">vec!</span>[<span class="self">self</span>.mango_client.authority.clone()],
config: <span class="self">self
</span>.mango_client
.client

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long